共用方式為


當您嘗試從 SSMS 2016 讀取錯誤記錄檔時,SQL Server 2016 Agent 無法啟動或「無法擷取數據」錯誤

本文列出使用舊版 MS ODBC 13 驅動程式時,SSMS 中發生的各種問題,以及這些問題的解決方式。

原始產品版本: SQL Server 2016 Developer
原始 KB 編號: 3185365

徵兆

當您有Microsoft SQL Server 2016 RTM 或 SQL Server 2016 RTM CU1 具名實例時,可能會遇到下列其中一個徵兆。

徵兆 1

SQL Server Agent 記錄檔會顯示類似下列的訊息:

2016-08-06 14:54:41 - ! [000] 無法連線到伺服器 'servername\instancename';SQLServerAgent 無法啟動
2016-08-06 14:54:46 - ! [298] SQLServer 錯誤:
65535、SQL Server 網路介面:錯誤尋找指定的伺服器/實例
[xFFFFFFFF]。 [SQLSTATE 08001]
2016-08-06 14:54:46 - ! [165] ODBC 錯誤: 0,
登入逾時已過期 [SQLSTATE HYT00]
2016-08-06 14:54:46 - ! [298]
SQLServer 錯誤:65535,建立 SQL Server 連線時發生網路相關或實例特定錯誤。
找不到伺服器或是無法存取。
檢查執行個體名稱是否正確以及 SQL Server 執行個體是否設定為允許遠端連接。 如需詳細資訊,請參閱《SQL Server 線上叢書》。 [SQLSTATE 08001]

徵兆 2

當您嘗試讀取 SQL Server 錯誤記錄檔時,嘗試會失敗,並傳回類似下列的錯誤:

無法擷取此要求的資料。 (Microsoft.SqlServer.Management.Sdk.Sfc)
執行 Transact-SQL 陳述式或批次時發生例外狀況。 (Microsoft.SqlServer.ConnectionInfo)

此外,當您嘗試執行xp_readerrorlog時,這可能會觸發下列錯誤:

訊息 22004,層級 16,狀態 1,行 0
無法開啟回送連線。 如需詳細資訊,請參閱事件記錄檔。
訊息 22004,層級 16,狀態 1,行 0
找不到錯誤記錄檔位置。

徵兆 3

某些維護計劃或 SQL Agent 作業,例如維護清除工作,以「以無訊息方式」刪除舊的備份或報告檔案失敗。 在清除工作的情況下,您預期刪除的檔案不會在執行對應的作業時刪除,而且不會將錯誤寫入 SQL Server 記錄檔。 執行 sp_readerrorlog 會導致徵兆 2。

原因

此問題是由 MS ODBC 13 驅動程式中的瑕疵所造成。 SQL Server Management Studio (SSMS) 和 SQL Server Agent 會使用此驅動程序連線到 SQL Server 計算機。

解決方法

MS ODBC 13.1 驅動程式已修正此問題。