Udostępnij za pośrednictwem


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.