Rozwiązywanie problemów z aktywacja przechowywanych procedur
Aktywowany procedur przechowywanych należy uruchomić na sesja tła.Dlatego techniki rozwiązywania problemów z procedura przechowywana aktywacja się nieco różnić używane do rozwiązywania problemów z procedur przechowywanych, które wchodzą w skład sesja interaktywnej.
Technika: Analizowanie usługa Broker konfiguracja
Jeżeli aktywny procedury przechowywane nie są uruchamiane pomyślnie, należy użyć ssbdiagnose narzędzie do wyszukiwania błędów w konfiguracja w skojarzonej usługi.Aby uzyskać więcej informacji zobacz Narzędzie ssbdiagnose.
Technika: Wyświetlanie aktywacja przechowywane procedury wyjścia
Sprawdź aktywny procedura przechowywana daje wyniki niepoprawne lub nie odczytuje z kolejki, SQL Server Dziennik błędów dla błędów i komunikaty, które służy do lokalizowania problemu. Aktywowany procedury przechowywane nie są skojarzone z dowolnej aplikacji.Informacje, które normalnie są zwracane do aplikacji wywołującej zamiast tego jest umieszczany w SQL Server Dziennik błędów. Obejmuje to błędy, komunikaty i dane wyjściowe PRINT i RAISERROR instrukcji.
Technika: Z procedura przechowywana Z sesja interakcyjnych
Rozwiązywać problemy z procedura przechowywana aktywacja, użytkownik może wyłączyć aktywacja dla kolejki, a następnie uruchom procedura przechowywana z SQL Server Management Studio lub SQLCMD narzędzie.Po uruchomieniu procedura przechowywana z sesja interakcyjnych programu, można wyświetlić wszystkie błędy, które są zwracane przez procedura przechowywana.
Jednak można zobaczyć różne wyniki, jeśli ustawienia bazy danych i kontekstu zabezpieczeń niż po uaktywnieniu procedura przechowywana przez różnią się w sesja interakcyjnych Database Engine. Przed uruchomieniem tej procedury należy wykonać następujące czynności:
Użycie AS wykonać do zestaw użytkownika dla sesja interakcyjnych do użytkownika określone dla aktywacja.
zestaw Opcje dla sesja do domyślnych ustawień bazy danych.
Aby uzyskać więcej informacji zobacz Wewnętrzny kontekstu aktywacja.
Symptom: Aktywacja przechowywane procedury nie Uruchom
Poniżej przedstawiono typowe przyczyny ten symptom:
Być może zmieniono ustawienia dla kolejki.Korzystanie z widoku wykazu sys.service_queues , aby potwierdzić ustawień dla kolejki.Należy upewnić się, że aktywacja dla kolejki jest włączona, że kolejki określa prawidłowe procedura przechowywana i że kolejki określa prawidłowe zabezpieczenia głównego.Upewnij się, że podmiot zabezpieczeń ma uprawnienia wykonywania na procedura przechowywana.
Procedura przechowywana może nie zostać uruchomiony lub może zakończyć się natychmiast po jego uruchomieniu.W takim przypadek należy sprawdzić SQL Server Dziennik błędów dla błędów z procedura przechowywana. Można także uruchomić procedura przechowywana z SQL Server Management Studio i sprawdzić wyniki.
Symptom: Pozostać wiadomości w kolejce
Upewnij się, że procedury aktywacja przechowywane są uruchamiane poprawnie:
Sprawdź dynamiczny widok zarządzania sys.dm_broker_queue_monitors , aby upewnić się, że monitor kolejki jest aktywny dla kolejki.Jeśli nie, włączyć aktywacja za pomocą instrukcja ALTER QUEUE.
Stan monitora kolejki do kolejki powinno być RECEIVES_OCCURRING.Jeśli monitor kolejki nie jest w tym stanie, należy sprawdzić dynamiczny widok zarządzania sys.dm_broker_activated_tasks zapewniające aktywowanego zadań dla kolejki, są obecnie uruchomione.Jeśli brak aktywowanego zadań, aktywacja się niepowodzeniem.Aby uzyskać więcej informacji, zobacz temat "symptomów: Aktywacja procedury przechowywane nie Uruchom"sekcja we wcześniejszej części tego tematu.
Aktywowany zadań jest uruchomiony, ale wiadomości pozostają w kolejce, zadanie nie działa albo prawidłowo przyjęcie lub go nie może przekazać transakcji.Sprawdź SQL Server Dziennik błędów dla błędów z procedura przechowywana. Zatrzymywanie aktywacja i uruchamiania procedura przechowywana ręcznie mogą pomóc rozwiązać problem.