다음을 통해 공유


큐 시작 및 중지

ALTER QUEUE 문을 사용하여 큐를 시작하고 중지할 수 있습니다. 큐가 시작되면 메시지를 보내고 받는 데 큐를 사용할 수 있습니다. 큐가 중지되면 Service Broker는 큐에 새 메시지를 배달하지 않고 응용 프로그램이 큐에서 보낸 메시지를 받지 않도록 합니다.

관리자는 종종 큐를 사용할 수 없는 상태로 만듭니다. 이렇게 하면 Service Broker는 서비스의 모든 개체가 생성될 때까지 메시지를 큐에 배치하지 못합니다. 서비스가 메시지를 수신할 준비가 되면 관리자는 다음 문으로 큐를 사용할 수 있게 만듭니다.

ALTER QUEUE dbo.ExpenseQueue WITH STATUS = ON ;

다음 문은 큐에서 메시지를 받을 수 없게 만듭니다.

ALTER QUEUE dbo.ExpenseQueue WITH STATUS = OFF ;

큐가 받을 수 없으면 응용 프로그램은 큐에 있는 메시지를 처리할 수 없습니다. Service Broker는 메시지를 수신 작업의 일부로 큐에 그대로 남겨 두기 때문에 중지된 큐에서는 메시지를 제거할 수 없습니다. Service Broker는 큐가 메시지를 계속 수신하는 동안 유지 관리를 허용하도록 디자인되었기 때문에 큐를 사용할 수 있으면 큐를 중지할 필요가 거의 없습니다. 대부분의 활성화 저장 프로시저는 RECEIVE 작업이 실패하거나 더 이상 사용할 수 있는 메시지가 없는 경우 종료되므로 메시지를 계속 수신하는 서비스에 대한 활성화 저장 프로시저를 바꿀 경우에만 큐를 중지합니다.

메시지가 사용할 수 없는 큐에 도착하면 Service Broker는 큐에 메시지를 배달하지 않고 데이터베이스의 전송 큐에 메시지를 보관합니다.

참고 항목

참조