Udostępnij za pośrednictwem


Rozwiązywanie problemów z aktywacją procedur przechowywanych

Uruchom aktywowanego procedur przechowywanych na sesja tła.Dlatego techniki rozwiązywania problemów procedura składowana aktywacja się nieco różnić te używane do rozwiązywania problemów z procedur przechowywanych, które są częścią sesja interaktywnej.

Technika: Analizowanie konfiguracji Service Broker

Jeśli aktywowanego procedury przechowywane nie są uruchamiane pomyślnie, ssbdiagnose narzędzie do wyszukiwania błędów konfiguracja w skojarzonych usług.Aby uzyskać więcej informacji, zobacz Narzędzie ssbdiagnose.

Technika: Wyświetlanie aktywacji przechowywane procedury wyjścia

Aktywowany procedura składowana dostarcza niewłaociwych wyniki lub nie odczytuje z kolejki, sprawdź SQL Server Dziennik błędów dla błędów i komunikatów, które lokalizowania problem.Aktywowany procedury przechowywane nie są skojarzone z dowolnej aplikacji.Informacje, które są zazwyczaj zwracane do aplikacji wywołującej zamiast jest umieszczana w SQL Server dziennik błędów.Obejmuje to błędy, komunikaty i wyjście instrukcje drukowania i RAISERROR.

Technika: Uruchomienie procedury przechowywanej z sesji interakcyjnych

Rozwiązywać problemy z procedura składowana aktywacja, można wyłączyć aktywacja w kolejce, a następnie uruchom procedura składowana z SQL Server Management Studio lub polecenie sqlcmd narzędzia.Po uruchomieniu procedura składowana z sesja interaktywnej, można wyświetlić wszystkie błędy, które są zwracane przez procedura składowana.

Jednak może Zobacz różne wyniki, jeśli ustawienia bazy danych i kontekstu zabezpieczeń są różne w sesja interaktywnej niż po uaktywnieniu procedura składowana przez Aparat baz danych.Przed uruchomieniem procedury, wykonaj następujące czynności:

  • Używane jako EXECUTE do zestaw użytkownika interakcyjnego sesja użytkownika określony dla aktywacja.

  • Ustaw opcje dla sesja, ustawienia domyślne bazy danych.

Aby uzyskać więcej informacji, zobacz Wewnętrzny kontekst aktywacji.

Symptom: Aktywacja przechowywane procedury nie są uruchamiane.

Oto najczęstsze przyczyny symptom ten:

  • Ustawienia dla kolejki może być zmienione.Używanie widoku wykazu sys.service_queues potwierdzić ustawienia dla kolejki.Upewnij się, że aktywacja dla kolejki jest włączone, że kolejki określa prawidłowe procedura składowana i że kolejki określa poprawny zabezpieczeń głównych.Upewnij się, że podmiot zabezpieczeń ma uprawnienia wykonywania na procedura składowana.

  • procedura składowana może nie zostać uruchomiony lub może zakończyć się natychmiast po jego uruchomieniu.W tym przypadek Sprawdź SQL Server Dziennik błędów dla błędów z procedura składowana.Można również uruchomić procedura składowana z SQL Server Management Studio i sprawdzić wyniki.

Symptom: Wiadomości pozostają w kolejce

Upewnij się, że procedury aktywacja przechowywane są uruchamiane poprawnie:

  • Sprawdź dynamiczny widok zarządzania sys.dm_broker_queue_monitors do zapewnienia, że monitor kolejki jest aktywny dla kolejki.Jeśli nie, włączyć aktywacja za pomocą instrukcja ALTER kolejki.

  • Stan monitora kolejki dla kolejki powinny być RECEIVES_OCCURRING.Jeśli monitor kolejki nie jest w tym Państwie, sprawdź dynamiczny widok zarządzania sys.dm_broker_activated_tasks do zapewnienia aktualnie uruchomione zadania aktywowany dla kolejki.W przypadku zadań aktywowanego aktywacja się niepowodzeniem.Aby uzyskać więcej informacji, zobacz "symptomów: Aktywacja przechowywane procedury nie działają. " sekcja wcześniej w tym temacie.

Aktywowany zadania są uruchomione, ale wiadomości pozostają w kolejce, zadanie jest albo możliwe do przyjęcia lub jest możliwe do zatwierdzanie zatwierdzanie.Sprawdź, czy SQL Server Dziennik błędów dla błędów z procedura składowana.Zatrzymywanie aktywacja i uruchamiania procedura składowana ręcznie mogą pomóc rozwiązać problem.