Udostępnij za pośrednictwem


BEGIN CONVERSATION TIMER (Transact-SQL)

Uruchamianie czasomierza.Z chwilą upływu limitu czasu program Service Broker umieszcza w lokalnej kolejce komunikat https://schemas.microsoft.com/SQL/ServiceBroker/DialogTimer dotyczący konwersacji.

Topic link iconKonwencje składni języka Transact-SQL

BEGIN CONVERSATION TIMER ( conversation_handle )
   TIMEOUT = timeout 
[ ; ]

Argumenty

  • CZASOMIERZ KONWERSACJI BEGIN (conversation_handle)
    Konwersacja, której czas ma być mierzony.Parametr conversation_handle musi być typu uniqueidentifier.

  • TIMEOUT
    Skrypt aktywny

Remarks

Czasomierz konwersacji umożliwia aplikacji otrzymywanie komunikatów o konwersacji po upływie określonego czasu.Wykonanie instrukcji BEGIN CONVERSATION TIMER dla konwersacji przed upływem okresu przewidzianego w czasomierzu powoduje ustawienie nowego limitu czasu.W odróżnieniu od okresu istnienia konwersacji, każda strona konwersacji ma niezależny czasomierz.Komunikat DialogTimer dociera do lokalnej kolejki bez wywierania jakiegokolwiek wpływu na drugą stronę konwersacji.W związku z tym aplikacja może wykorzystać komunikat do dowolnego celu.

Na przykład czasomierz konwersacji może służyć do ograniczenia czasu, przez jaki aplikacja czeka na odpowiedź.Jeśli z założenia aplikacja wykonać całą konwersację w ciągu 30 sekund, można dla niej ustawić wartość czasomierza 30 sekund (30 s planowego okresu plus 30 s okresu prolongaty).Jeśli po upływie 60 sekund konwersacja wciąż trwa, aplikacja otrzymuje z kolejki komunikat o upływie limitu czasu.

Alternatywnie za pomocą czasomierza konwersacji aplikacja może wnioskować o aktywację o konkretnej godzinie.Można na przykład utworzyć usługę zgłaszającą co kilka minut liczbę aktywnych połączeń informującą co wieczór o liczbie otwartych zamówień zakupu.Usługa ustawia limit czasu w czasomierzu. Z chwilą osiągnięcia tego czasu program Service Broker wysyła komunikat DialogTimer.Komunikat DialogTimer powoduje rozpoczęcie przez program Service Broker wykonywania procedury składowanej dotyczącej aktywacji kolejki.Procedura składowana wysyła komunikat do zdalnej usługi i resetuje czasomierz konwersacji.

Analysis Services kwerendy (MDX, DMX).

Uprawnienia

Uprawnienia do ustawień domyślnych, w których mają uprawnienia SEND na usługa w konwersacji, członkowie czasomierza konwersacji sysadmin stała rola serwera, a członkowie db_owner stała rola bazy danych.

Przykłady

W następującym przykładzie ustawiono limit dwie minuty, w oknie dialogowym, identyfikowane przez @dialog\_handle.

-- @dialog_handle is of type uniqueidentifier and
-- contains a valid conversation handle.

BEGIN CONVERSATION TIMER (@dialog_handle)
TIMEOUT = 120 ;