지식로그

[질문] 1 waitfor delay '0:0:15' --

2026.08.16. 17:30:13 | 문서번호: 30418

전체 답변:
[무물보AI]

주신 문자열은 SQL Server에서 일정 시간 지연을 주기 위한 명령문으로 보입니다. 올바른 형태와 설명은 다음과 같습니다.

  • 올바른 구문 예: WAITFOR DELAY '00:00:15'; -- 또는 주석 처리하려면 끝에 -- 를 붙여 이후 내용을 주석처리할 수 있습니다.

  • 의미: 위 명령은 해당 세션을 15초 동안 일시 정지시킵니다. DELAY는 시간 간격(시:분:초) 형식으로 지정합니다.

  • 주의사항:

    1. WAITFOR DELAY는 세션을 블로킹(block)합니다. 트랜잭션 내에서 사용하면 잠금이 유지되어 성능 문제나 교착 상태 가능성이 있으므로 주의해야 합니다.
    2. 프로덕션 환경에서는 응답성/성능 영향을 줄 수 있으므로 사용을 최소화하고, 필요하면 애플리케이션 레이어에서 sleep을 처리하거나 SQL Server Agent로 스케줄링하는 방법을 고려하세요.
    3. 구문에서 초/분/시 자릿수는 두 자리로 표기하는 것이 일반적입니다('00:00:15').
  • 대안:

    • 일정 시각에 실행하려면: WAITFOR TIME 'hh:mm:ss';
    • 비동기 메시지 수신과 지연 결합이 필요하면 Service Broker의 WAITFOR(RECEIVE...) 사용 고려
    • 애플리케이션 쪽에서 Thread.Sleep 또는 비동기 대기 사용

주어진 입력의 맨 앞에 있는 "1"은 의미가 없거나 오타로 보입니다. 필요하다면 다음과 같이 간단히 정리된 명령을 사용하시면 됩니다: WAITFOR DELAY '00:00:15';

댓글 달기:
이전 질문:

다음 질문:

비밀번호를 입력하세요.