Za pomocą WAITFOR
Instrukcja WAITFOR zawiesza wykonywanie partia, procedura składowana lub transakcji, dopóki:
Określony czas upłynął interwał.
Osiągnięto określoną czas.
Określić odbioru instrukcja modyfikuje lub zwraca co najmniej jeden wiersz do kolejki Service Broker.
Rzeczywisty czas opóźnienia mogą się różnić od określonego czasu i zależy od poziom aktywności serwera.Licznik Czas uruchamia podczas planowania skojarzona instrukcja WAITFOR wątek.Jeśli serwer jest zajęty, wątek mogą nie być natychmiast zaplanowane; Dlatego opóźnienie może być dłuższy niż określony czas.
WAITFOR instrukcja jest określany za pomocą jednego z następujących klauzul:
Słowo kluczowe opóźnienie następuje time_to_pass przed wykonaniem instrukcja WAITFOR.Czas oczekiwania przed wykonaniem instrukcja WAITFOR może być 24 godziny.
W poniższym przykładzie użyto DELAY słowa kluczowego oczekiwania przez dwie sekundy przed wykonaniem SELECT instrukcja:
WAITFOR DELAY '00:00:02'; SELECT BusinessEntityID FROM AdventureWorks2008R2.HumanResources.Employee;Słowa kluczowego czas następuje time_to_execute, która określa czas, który WAITFOR instrukcja zakończeniu.
W poniższym przykładzie użyto TIME słowa kluczowego czekać aż do 10 P.M.(22:00) do wykonania AdventureWorks bazy danych, aby się upewnić, że wszystkie strony są poprawnie przydzielonych i używane:
USE AdventureWorks2008R2; GO BEGIN WAITFOR TIME '22:00'; DBCC CHECKALLOC; END; GOODBIERZ instrukcja klauzula, który pobiera jeden lub więcej wiadomości z kolejki Service Broker.Po określeniu WAITFOR instrukcją ODBIERZ instrukcja czeka na wiadomości przychodzące do kolejki, jeśli wiadomości nie są obecne.
Słowo kluczowe limitu czasu następuje timeout Określa w milisekundach czas, który Service Broker czeka na wiadomości przychodzące do kolejki.Limit czasu można określić w instrukcja odbioru lub w instrukcja GET grupy KONWERSACJI.
Zobacz także