當嘗試連接至資料倉儲資料庫的作業管理員的 31551 事件

請注意--重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,且可能由 Microsoft Community 利用 Community Translation Framework技術或人工進行事後編修。翻譯過程並無專業譯者參與。Microsoft 同時提供使用者人為翻譯、機器翻譯及社群編修後的機器翻譯三種版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,所有翻譯文章都可能不盡完美,內容都可能出現詞彙、語意或文法上的錯誤。就翻譯內容之不正確或錯誤,或客戶因使用翻譯內容所產生的任何損害,微軟不負擔任何責任。Microsoft將依合理的商業努力不斷地更新機器翻譯軟體和工具,以期能為使用者提供更好的服務。

按一下這裡查看此文章的英文版本:3084547
徵狀
無法連線到系統中心作業管理員管理伺服器,或與裝載資料倉儲資料庫的 SQL 叢集通訊。在此情況下,會在作業管理員記錄檔,以及描述類似下列的各種工作流程名稱的記錄事件識別碼 31551:

記錄檔名稱: 作業管理員
來源: 健全狀況服務模組
日期:
事件識別碼: 31551
工作類別: 資料倉儲
層級: 錯誤
關鍵字: 傳統
使用者: n/A
電腦: 伺服器。Contoso.com
描述:
無法將資料儲存在資料倉儲。將重試操作。
例外狀況 'SqlException': 建立 SQL Server 的連線時發生網路相關或執行個體特定的錯誤。伺服器找不到或無法存取。請確認執行個體名稱正確無誤,且 SQL Server 設定為允許遠端連線。(提供者: SQL 網路介面,錯誤: 26-錯誤找出伺服器/執行個體指定)

一或多個工作流程已受影響。

工作流程名稱: Microsoft.SystemCenter.DataWarehouse.CollectEventData
執行個體名稱: 伺服器。Contoso.com
執行個體識別碼: {8A13A832-776E-096E-32E7-DC479FCD6DBC}
管理群組: SupportGroup
發生的原因
這裡的焦點應該在下列字串:

錯誤: 26-錯誤找出伺服器/執行個體指定

這個錯誤通常被視為發生是因為在伺服器上未啟用遠端連線。不過,當用戶端無法從 SQL 瀏覽器收到 SSRP 回應 UDP 封包時,會實際產生這個錯誤。因為之間管理伺服器與 SQL 叢集裝載的作業管理員 DW 封鎖 UDP 連接埠通訊,通常會發生這個問題。

請注意,就會發生這個錯誤只當您嘗試連接到 SQL Servernamed 執行個體。當您連線至預設執行個體時,它不應該出現。這是,即使連線嘗試失敗 (例如,因為錯誤找出指定的伺服器或執行個體),在這個階段仍將繼續嘗試要連線使用的預設值 (如範例中,使用預設的 TCP 連接埠 1433年,預設的管道名稱的具名管道,等等)。因為更新失敗,但不是這個錯誤訊息,可能會產生其他錯誤訊息。
解決方案
若要解決這個問題,您必須解決任何問題會造成失敗的 SQL 叢集管理伺服器之間的 UDP 連接埠通訊。在大部分的情況下,是相當容易,來隔離問題,依照下列步驟:
  1. 請確定伺服器名稱是否正確 (例如,請確定在名稱中沒有任何錯誤)。
  2. 請確定執行個體名稱正確無誤,而且,您的目標電腦上實際存在執行個體。請注意,某些應用程式將轉換 \\ 到 \。如果您不確定您的應用程式相關,請試著,「 伺服器 」,或執行個體,並在連接字串中的"server\\instance"。
  3. 請確定伺服器是可執行到。請確定 DNS 可以正確地解析,而且您可以 ping 伺服器。
  4. 請確定 SQL 瀏覽器服務正在執行伺服器上。
  5. 如果在伺服器上啟用防火牆,請確定沒有 sqlbrowser.exe 及/或 UDP 連接埠 1434年例外狀況。

您可以從下列 「 知識庫 」 文件,若要測試步驟 4 和 5,以下載 PortQry 公用程式:

832919新功能和 PortQry 2.0 版中的功能

PortQry 之後,請執行下列命令:

portqry.exe-n 伺服器名稱 -p UDP-e 1434

如果這個命令傳回的資訊,並包含目標執行個體,您可以排除在步驟 4 和 5 的案例。此選項表示 SQL 瀏覽器,正在執行,並確定防火牆不致於封鎖 SQL 瀏覽器 UDP 封包。

您之後完成這些步驟以後,應該不會發生這個錯誤。管理伺服器可能仍然無法連線到 SQL 伺服器,但如果是的話,另一個錯誤訊息應該觸發的 t 到目前為止。如果管理伺服器仍無法連線,「 伺服器或執行個體"取代"tcp:server\instance"orwith"np:server\instance,",然後再查看是否成功與 TCP 或非分頁通訊協定。
其他相關資訊
這個問題被因下列任一動作的組合:
  • Windows 叢集細節
  • SQL Server 具名執行個體的如何發現
當您連線到 SQL Server 具名執行個體時,用戶端元件會依賴 SQL 瀏覽器,以探索伺服器和它的參數。探索程序會執行,如下所示:

  • 目標電腦上,用戶端會傳送的 UDP 封包到 SQL 瀏覽器。在 Windows 叢集上的具名執行個體時,封包寄送至叢集 IP,或更具體而言,對應到虛擬機器正在執行 SQL Server 的 IP 位址。不過,SQL 瀏覽器不是叢集感知,而且它會接聽任何 IP。
  • 當 SQL 瀏覽器接收 UDP 要求封包時,會傳送回應的 UDP 封包回用戶端。雖然目的地 IP 位址是用戶端的 IP 位址,則會變更的來源 IP 位址。它現在是在虛擬 SQL Server IP 位址的實體的 computerinstead 上的網路介面卡的 IP 位址。
  • 回應的 UDP 封包的來源 IP 位址是由 Windows OS、 路由的資料表為基礎所決定的。因為虛擬 SQL Server IP 位址,並附加到實體網路介面卡的 IP 位址通常是位於相同子網路,並因此屬於相同的路由,則會選取實體的 IP 位址。根據用戶端及伺服器電腦上的安全性設定,此回應的 UDP 封包可能由於卸除由協力廠商的防火牆或 IPsec 對等電腦的 IP 位址有所變更。請注意,Windows 防火牆將不會丟棄封包。
  • 請注意,如果用戶端是 Windows vista 的電腦,IPsec 可能會丟棄封包如果用戶端上啟用 IPsec 原則,而如果它無法建立信任連線用戶端與伺服器之間。要解決這個問題,請以手動方式指定連接字串中的 TCP 連接埠或管道名稱。
OpsMgr 2012 R2

警告:本文為自動翻譯

內容

文章識別碼:3084547 - 最後檢閱時間:08/15/2015 02:11:00 - 修訂: 1.0

Microsoft System Center 2012 R2 Operations Manager, Microsoft System Center 2012 Operations Manager Service Pack 1, Microsoft System Center 2012 Operations Manager, Microsoft System Center Operations Manager 2007 R2

  • kbexpertiseadvanced kbsurveynew kbtshoot kbmt KB3084547 KbMtzh
意見反應