共用方式為


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

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

原始產品版本:SQL Server 2016 開發人員
原始 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時,這可能會觸發下列錯誤:

Msg 22004, Level 16, State 1, Line 0
無法開啟回送連線。 如需詳細資訊,請參閱事件記錄檔。
Msg 22004, Level 16, State 1, Line 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 驅動程式已修正此問題。