Okno Stan kolejki raportów usługi Dynamics ERP dla reportera zarządzania pozostaje zablokowane w kolejce

Ten artykuł zawiera rozwiązania problemów, które powodują, że okno Stan kolejki raportów pozostaje zablokowane w kolejce.

Dotyczy: Microsoft Dynamics GP, Microsoft Dynamics AX 2009, Microsoft Dynamics SL 2011
Oryginalny numer KB: 2298248

Symptomy

Wybierz przycisk Generuj w programie Management Reporter dla usługi Dynamics ERP, ale w oknie Stan kolejki raportu zostanie wyświetlony stan w kolejce, a nie przetwarzanie.

Przyczyna

Istnieje sześć potencjalnych przyczyn tego błędu:

Przyczyna 1

Jeśli usługa przetwarzania reporterów zarządzania znajduje się na tej samej maszynie co maszyna hostująca bazę danych SQL ManagementReporter. Usługa przetwarzania mogła wystąpić błąd, próbując uruchomić usługę przed zaakceptowaniem połączeń przez SQL Server. Zobacz Rozwiązanie 1 w sekcji Rozwiązywanie.

Przyczyna 2

Wystąpił błąd połączenia SQL Server i należy ponownie uruchomić usługę przetwarzania reporterów zarządzania. Zobacz Resolution 2 (Rozwiązanie 2) w sekcji Resolution (Rozwiązywanie).

Przyczyna 3

Użytkownik z uruchomioną usługą przetwarzania reporterów zarządzania nie ma wystarczających uprawnień do odczytu z bazy danych SQL Server ManagementReporter. Zobacz Rozwiązanie 3 w sekcji Rozwiązywanie.

Przyczyna 4

Usługa SQL Service Broker w bazie danych SQL Server ManagementReporter nie jest włączona. Zobacz Rozwiązanie 4 w sekcji Rozwiązywanie.

Przyczyna 5

Może się tak zdarzyć, jeśli właściciel bazy danych reportera zarządzania jest użytkownikiem systemu Windows, podczas gdy usługa SQL Server jest uruchamiana przez użytkownika lokalnego. Jeśli sprawdzisz Podgląd zdarzeń, może zostać wyświetlony następujący komunikat:

Wystąpił wyjątek podczas wyliczania komunikatu w kolejce docelowej. Błąd 15404, stan 19. Nie można uzyskać informacji o grupie systemu Windows NT/użytkowniku "domena\użytkownik", kod błędu 0x5.

Zobacz Rozwiązanie 5 w sekcji Rozwiązywanie.

Przyczyna 6

Może się to zdarzyć, jeśli w właściwościach serwera w SQL Server Management Studio zostanie zaznaczone pole wyboru Brak liczby. Jeśli po wygenerowaniu raportu sprawdzisz Podgląd zdarzeń, może zostać wyświetlony następujący komunikat:

System.Data.Linq.ChangeConflictException: (Wiersz nie został znaleziony lub zmieniony) lub (w zestawie "xxxxxx" nie jest oznaczony jako serializowalny)

Zobacz Rozwiązanie 6 w sekcji Rozwiązywanie.

Rozwiązanie

Uchwała 1

W przypadku korzystania z systemu Windows Server 2008 można ustawić usługę przetwarzania reportera zarządzania na automatyczną (opóźnione uruchamianie), a nie automatyczną.

LUB

Uruchom ponownie usługę przetwarzania ręcznie lub za pomocą skryptu podobnego do następującego:

NET STOP MRProcessService

NET START MRProcessService

Uchwała 2

Uruchom ponownie usługę przetwarzania ręcznie lub za pomocą skryptu podobnego do następującego:

NET STOP MRProcessService

NET START MRProcessService

Uchwała 3

Przyznaj użytkownikowi uruchamiającemu tę usługę rolę GeneralUser w bazie danych Reporter zarządzania w SQL Server. Tego użytkownika można znaleźć na karcie Logowanie w panelu Sterowania usługami.

Uchwała 4

Uruchom następującą instrukcję na serwerze SQL, na którym znajduje się baza danych ManagementReporter:

SELECT name, is_broker_enabled FROM sys.databases WHERE name = DB_NAME() AND is_broker_enabled = 1

Ta instrukcja powinna zwracać wiersz bazy danych SQL Server ManagementReporter. Jeśli tak się nie stanie, uruchom poniższą instrukcję, aby ponownie włączyć usługę SQL Service Broker w bazie danych SQL Server ManagementReporter:

ALTER DATABASE [ManagementReporter] SET ENABLE_BROKER WITH ROLLBACK IMMEDIATE;

Uchwała 5

Zmień właściciela bazy danych na sa lub zmień użytkownika usługi SQL Server na użytkownika domeny.

Rozdzielczość 6

W SQL Server Management Studio kliknij prawym przyciskiem myszy nazwę serwera, a następnie wybierz pozycję Właściwości. Wybierz pozycję Connections, a następnie w sekcji Opcja Połączenia domyślne przewiń w dół i usuń zaznaczenie pola wyboru brak liczby.