Udostępnij za pośrednictwem


Wewnętrzny kontekstu aktywacja

W tym temacie opisano kontekstu wykonania dla procedura przechowywana, która została uruchomiona przez aktywację wewnętrzną.

Kontekst zabezpieczeń

A queue configured for activation must also specify the user that the activation stored procedure runs as.SQL Server impersonates this user before starting the stored procedure.

When the stored procedure also specifies an EXECUTE AS clause, two impersonations occur.SQL Server first impersonates the user specified for the queue and executes the stored procedure.Podczas wykonywania procedura przechowywana, procedura personifikuje użytkownika określonego w wykonać AS klauzula procedury.

Należy zauważyć, że użytkownik określił dla wiązanie usługi zdalnej jest na ogół innego użytkownika od użytkownika określone dla aktywacja.Uprawnienia wymagane dla każdego użytkownika także różne.Usługa zdalnego użytkownika wiązanie nie jest konieczne uprawnienia do odczytu z kolejki lub wykonać procedur przechowywanych w bazie danych, podczas gdy użytkownik określił dla aktywacja nie jest konieczne uprawnienia do wysyłania wiadomości w usłudze.Aby uzyskać więcej informacji na temat uprawnień użytkowników zobacz Tożsamość i kontroli dostępu (usługa Broker) i Okno dialogowe usługa Broker zabezpieczeń.

Ustawienia sesja

Service Broker w odróżnieniu od połączenia utworzone wiadomości sesja tła jest wykonywany programy usług wewnętrznie uaktywnione.Opcje ustawione dla tej sesja są domyślne opcje dla bazy danych.

W ramach sesja uruchomione przez usługa Broker, SQL Server zapisuje dane wyjściowe PRINT i RAISERROR instrukcji do SQL Server Dziennik błędów. usługa Broker nie zapewnia parametry aktywowanego procedura przechowywana.usługa Broker nie bierze pod uwagę wartości zwracane z procedura przechowywana aktywny i nie przetwarza zestawów wyników z aktywowanego procedura przechowywana.

Kontekst transakcji

An activated stored procedure is responsible for managing transactions.SQL Server does not start a transaction before activating the stored procedure, and the stored procedure runs in a different transaction context than the internal operation that activates the procedure.Aby zapoznać się z omówieniem zarządzania transakcji w aktywowanego procedur przechowywanych zobacz Wiadomości transakcyjne.

Wykrywanie awarii

procedura przechowywana aktywowanego musi odbierać wiadomości z kolejki, która uaktywniona procedura.Jeśli procedura przechowywana kończy pracę bez otrzymania wiadomości lub monitorowania kolejki wykryje, że procedura przechowywana nie odbiera wiadomości po krótki limit czas, monitorowania kolejki uważa procedurę przechowywaną, aby nie powiodło się.W takim przypadek monitorowania kolejki zatrzymuje uaktywniania procedura przechowywana.