針對 SQL Server Utility 問題進行疑難排解,可能包括解決 SQL Server 實例註冊至 UCP 失敗的操作、排解失敗的數據收集問題,這導致 UCP 上受控實例列表視圖中出現灰色圖示、降低效能瓶頸,或解決資源健康狀況問題。 如需瞭解緩解 SQL Server UCP 所識別資源健康問題的詳細資訊,請參閱 針對 SQL Server 資源健康(SQL Server 公用程式)進行疑難解答。
將 SQL Server 實例註冊到 SQL Server 公用程式失敗的作業
如果您連線到 SQL Server 實例以使用 SQL Server 驗證進行註冊,而且您指定屬於與 UCP 所在網域不同的 Active Directory 網域的 Proxy 帳戶,實例驗證會成功,但註冊作業失敗,並出現下列錯誤訊息:
執行 Transact-SQL 陳述式或批次時發生例外狀況。 (Microsoft.SqlServer.ConnectionInfo)
其他資訊:無法取得 Windows NT 群組/使用者 '<DomainName\AccountName>' 的相關信息,錯誤碼0x5。 (Microsoft SQL Server,錯誤:15404)
此問題會在下列範例案例中發生:
UCP 是 「Domain_1」 的成員。
單向網域信任關係已就緒:也就是說,「Domain_1」不受到「Domain_2」的信任,但「Domain_2」則受到「Domain_1」的信任。
要註冊至 SQL Server 公用程式的 SQL Server 實例也是「Domain_1」的成員。
在註冊作業期間,連線到 SQL Server 實例以使用 「sa」 進行註冊。 從 「Domain_2」 指定 Proxy 帳戶。
驗證成功,但註冊失敗。
此問題的因應措施是使用上述範例連線到 SQL Server 實例,以使用 「sa」 註冊到 SQL Server 公用程式,並提供來自 「Domain_1」 的 Proxy 帳戶。
失敗的 WMI 驗證
如果 SQL Server 實例上未正確設定 WMI,建立 UCP 和註冊受控實例作業會顯示警告,但不會封鎖作業。 此外,如果您變更 SQL Server Agent 帳戶設定,讓 SQL Server Agent 沒有必要 WMI 類別的許可權,SQL Server 受影響受控實例上的數據收集將無法上傳至 UCP。 這會導致UCP中的灰色圖示。
失敗的數據收集會導致 SQL Server 受影響受控實例的 UCP 清單檢視中的灰色狀態圖示。 SQL Server 受控實例上的作業歷程記錄顯示,sysutility_mi_collect_and_upload 在步驟 2(從 PowerShell 腳本收集的階段資料)失敗。
簡化的錯誤訊息如下:
命令執行停止,因為殼層變數 「ErrorActionPreference」 已設定為 [停止:拒絕存取]。
錯誤: <日期時間(MM/DD/YYYY HH:MM:SS)>:收集中央處理器屬性時捕獲例外。 WMI 查詢可能失敗。 警告。
若要解決此問題,請確認下列組態設定:
在 Windows Server 2003 上,SQL Server Agent 服務必須是 SQL Server 受控實例上 Windows 效能監視群組的一部分。
必須在 SQL Server 的受控實例上啟用和設定 WMI 服務。
WMI 存放庫可能會在 SQL Server 的受控實例上損毀。
SQL Server 受控實例上的效能連結庫可能遺失或損毀。
若要確認指定的 SQL Server 實例已正確設定為向 UCP 報告數據,請確認下列類別可在指定的 SQL Server 實例上使用,而且 SQL Server Agent 服務帳戶可以存取這些類別:
Win32_MountPoint
Win32_PerfRawData_PerfProc_Process
Win32_PerfRawData_PerfOS_Processor
Win32_Processor
Win32_Volume
Win32_LogicalDisk
您可以在每個類別上使用 Get-WmiObject PowerShell Cmdlet 來確認每個類別皆可存取。 在 SQL Server 的受控實例上執行下列 Cmdlet:
Get-WmiObject Win32_MountPoint -ErrorAction Stop | Out-Null
Get-WmiObject Win32_PerfRawData_PerfProc_Process -ErrorAction Stop| Out-Null
Get-WmiObject Win32_PerfRawData_PerfOS_Processor -ErrorAction Stop | Out-Null
Get-WmiObject Win32_Processor -ErrorAction Stop | Out-Null
Get-WmiObject Win32_Volume -ErrorAction Stop | Out-Null
Get-WmiObject Win32_LogicalDisk -ErrorAction Stop | Out-Null
如需針對 WMI 進行疑難解答的詳細資訊,請參閱 針對 WMI 進行疑難解答。 請注意,這些 SQL Server 公用程式作業中的查詢是在本機執行,因此 DCOM 和遠端疑難解答內容不適用。
數據收集失敗
如果 SQL Server 公用程式資料收集事件失敗,請考慮下列可能性:
請勿變更 SQL Server 受控實例上「公用程式資訊」收集組的任何屬性,也不會手動開啟/關閉數據收集,因為數據收集是由公用程式代理程式作業所控制。
失敗或不支援的 WMI 驗證。 如需詳細資訊,請參閱本主題稍早的<失敗的 WMI 驗證>一節。
重新整理受控實例清單檢視中的數據,因為 SQL Server 公用程式觀點中的數據不會自動重新整理。 若要重新整理數據,請以滑鼠右鍵按兩下 [公用程式總管] 瀏覽窗格中的 [受控實例] 節點,然後選取 [重新整理],或以滑鼠右鍵按兩下清單檢視中的 [SQL Server 實例名稱],然後選取 [重新整理]。 請注意,在 SQL Server 實例註冊到 UCP 之後,數據首次顯示在 [公用程式總管] 內容窗格的儀錶板和視圖中可能需要最多 30 分鐘的時間。
使用 SQL Server 組態管理員來確認 SQL Server 實例正在執行。
如果數據收集或數據上傳因逾時問題而失敗,請更新 MSDB 資料庫中的函式dbo.fn_sysutility_mi_get_collect_script()。 具體而言,在函式 「Invoke-BulkCopyCommand()」 中新增行:
$bulkCopy.BulkCopyTimeout=180預設的逾時值是 30 秒。
如果未叢集 SQL Server 實例,請確認 SQL Server Agent 服務正在執行,而且服務已設定為在 UCP 和 SQL Server 的受控實例上自動啟動。
確認有效的帳戶是用來在 SQL Server 的受控實例上執行數據收集。 例如,密碼可能已過期。 如果 Proxy 密碼已過期,請更新 SSMS 中的密碼認證,如下所示:
在 [SSMS 物件總管] 中,展開 [安全性 ] 節點,然後展開 [ 認證] 節點。
以滑鼠右鍵按兩下 UtilityAgentProxyCredential_<GUID> ,然後選取 [ 屬性]。
在 [認證屬性] 對話框中,根據需要更新 UtilityAgentProxyCredential_<GUID> 憑證。
按一下 [確認] 以確認變更。
應在UCP和SQL Server 的受控實例上啟用 TCP/IP。 透過 SQL Server 組態管理員啟用 TCP/IP。
UCP 上的 SQL Server Browser 服務應該啟動並設定為自動啟動。 如果您的組織防止使用 SQL Server Browser 服務,請使用下列步驟來允許 SQL Server 的受控實例連線到 UCP:
在 SQL Server 受控實例的 Windows 任務欄上,按兩下 [ 開始],然後按兩下 [ 執行...]。
在提供的空間中輸入 「cliconfg.exe」,然後按兩下 [ 確定]。
如果系統提示您允許 [SQL 用戶端設定公用程式 EXE] 啟動,請按兩下 [繼續]。
在 [ SQL Server 用戶端網络公用程式 ] 對話框中,選取 [別名] 索引卷標,然後按兩下 [ 新增...]。
在 [ 新增網路連結庫組態 ] 對話框中:
從網路連結庫清單中指定 TCP/IP。
在 [ 伺服器別名 ] 文本框中指定 UCP 的 ComputerName\InstanceName。
在 伺服器名稱 欄位中指定 UCP 的 ComputerName。
取消勾選「動態判斷埠」的複選框。
在 [埠號碼] 文本框中,指定 UCP 正在接聽的 埠號碼 。
按一下 [確定] 以儲存變更。
針對連線到未啟用 SQL Server Browser 服務之 UCP 的每個受控 SQL Server 實例重複這些步驟。
確定 SQL Server 的受控實例已連線到網路。
如果 SQL Server 受控實例上有具有相同名稱但不同區分大小寫設定的資料庫,則資料庫與其觀點之間的識別可能會不正確,而導致數據收集失敗。 例如,名為 「MYDATABASE」 的資料庫可能會顯示名為 「MyDatabase」 的資料庫健康情況狀態。 在此案例中不會產生任何錯誤。 失敗的數據收集也可能因為 UCP 中顯示的其他對象發生區分大小寫不符,例如資料庫檔案和檔案群組名稱。
如果 SQL Server 的受控實例裝載於 Windows Server 2003 計算機上,則 SQL Server Agent 服務帳戶必須屬於性能監視器使用者安全組或本機 Administrators 群組。 否則,資料收集將會失敗,並出現拒絕存取錯誤。 若要將 SQL Server Agent 服務帳戶新增至性能監視器使用者安全組,請使用下列步驟:
開啟 [計算機管理],然後開啟 [ 本機使用者和群組],然後開啟 [群組]。
以滑鼠右鍵按兩下 [性能監視器使用者 ],然後選取 [新增至群組]。
按下 新增。
輸入執行 SQL Server Agent 服務的帳戶,然後按兩下 [ 確定]。
如果在將使用者新增至此群組之前已向 UCP 註冊 SQL Server 實例,請重新啟動 SQL Server Agent 服務。
另請參閱
SQL Server 公用程式功能和工作
針對 SQL Server 資源健康情況進行疑難解答 (SQL Server 公用程式)