SQL Server Service Broker를 사용하는로드가 많은 응용 프로그램을 작성하고 있습니다. 나는 Management Studio에서 다음 스크립트를 실행하는 데 1 분 6 초가 걸리는 상태에 처해 있습니다. 응용 프로그램을 중지 한 후에도 마찬가지입니다. 왜 그렇게 오래 걸릴 수 있습니까? TIMEOUT이 0.5 초 후에 멈출 거라고 생각 했나요?Service Broker Receive가 지정된 제한 시간보다 오래 걸리는 이유는 무엇입니까?
WAITFOR (RECEIVE TOP(1) * FROM [targetqueuename]), TIMEOUT 500;
SELECT @@ERROR;
@@ ERROR가 0을 반환합니다.이 긴 시간을 처음 실행 한 후에는 하위 순차 실행이 즉시 반환됩니다.