Dynamics ERP 的管理報告佇列狀態視窗停留在佇列中
本文提供導致 [報表佇列狀態] 視窗停留在佇列中的問題解決方法。
適用于: Microsoft Dynamics GP、Microsoft Dynamics AX 2009、Microsoft Dynamics SL 2011
原始 KB 編號: 2298248
徵狀
您在 Dynamics ERP 的管理報告器中選取 [ 產生 ] 按鈕,但 [報表佇列狀態] 視窗會將 [狀態] 列為 [已排入佇列],而不是 [處理]。
原因
此錯誤有六個可能的原因:
原因 1
如果 Management Reporter Process Service 與裝載 ManagementReporter SQL 資料庫的電腦位於同一部電腦上。 進程服務可能因為嘗試在SQL Server接受連線之前啟動而發生錯誤。 請參閱解決方式一節中的解決方法 1。
原因 2
發生SQL Server連線錯誤,且必須重新開機 Management Reporter Process Service。 請參閱解決方式一節中的解決方式 2。
原因 3
執行 Management Reporter Process Service 的使用者沒有足夠的許可權可從 ManagementReporter SQL Server 資料庫讀取。 請參閱解決方式一節中的解決方法 3。
原因 4
未啟用 ManagementReporter SQL Server 資料庫上的 SQL Service Broker。 請參閱解決方式一節中的解決方法 4。
原因 5
如果 Management Reporter 資料庫的擁有者是 Windows 使用者,而本機使用者正在執行SQL Server服務,就會發生這種情況。 如果您檢查事件檢視器,您可能會看到此訊息:
在目標佇列中加入訊息佇列時發生例外狀況。 錯誤 15404,狀態 19。 無法取得Windows NT群組/使用者 'domain\user'、錯誤碼0x5的相關資訊。
請參閱解決方式一節中的解決方式 5。
原因 6
如果在 SQL Server Management Studio 的 [伺服器屬性] 中選取[沒有計數] 核取方塊,就可能發生此情況。 如果您在產生報表之後檢查事件檢視器,您可能會看到此訊息:
System.Data.Linq.ChangeConflictException: (在元件 'xxxxxx' 中找不到或變更) 或 (的資料列未標示為可序列化)
請參閱解決方式一節中的解決方式 6。
解決方案
解決方案 1
如果使用 Windows Server 2008,您可以將 [管理報告程式服務] 設定為 [自動 (延遲啟動) 而非 [自動]。
OR
手動重新開機進程服務,或使用類似下列的腳本:
NET STOP MRProcessService
NET START MRProcessService
解決方案 2
手動重新開機進程服務,或使用類似下列的腳本:
NET STOP MRProcessService
NET START MRProcessService
解決方案 3
在 SQL Server 中,將管理報告者資料庫下的 GeneralUser 角色授與執行此服務的使用者。 您可以在 [服務控制] 面板下的 [ 登 入] 索引標籤上找到此使用者。
解決方案 4
在 ManagementReporter 資料庫所在的 SQL Server 上執行下列語句:
SELECT name, is_broker_enabled FROM sys.databases WHERE name = DB_NAME() AND is_broker_enabled = 1
此語句應該會傳回 ManagementReporter SQL Server資料庫的資料列。 如果沒有,請執行下列語句,在 ManagementReporter SQL Server資料庫上重新啟用 SQL Service Broker:
ALTER DATABASE [ManagementReporter] SET ENABLE_BROKER WITH ROLLBACK IMMEDIATE;
解決方案 5
將資料庫擁有者變更為 sa,或將 SQL Server Service 使用者變更為網域使用者。
解決方案 6
在SQL Server Management Studio中,以滑鼠右鍵按一下伺服器名稱,然後選取 [屬性]。 選 取 [連線 ],然後在 [ 預設連線] 選項 區段中,向下捲動並取消核取 [無計數]。