徵兆
假設您使用 SQL Server 2017 且有許多 SQL Server Integration Services (SSIS) 套件,您可能會注意到 SSIS 或 Power BI 報告偶爾會發生下列連線逾時錯誤:
「_Main_XXXXX:錯誤:SSIS 錯誤碼DTS_E_OLEDBERROR。 發生 OLE DB 錯誤。 錯誤碼:0x80004005」。
有 OLE DB 記錄可供使用。 來源:「Microsoft SQL Server Native Client 11.0」Hresult:0x80004005描述:「登入逾時已過期」。
有 OLE DB 記錄可供使用。 來源:「Microsoft SQL Server Native Client 11.0「 Hresult:0x80004005描述:「無法完成登入程式,因為登入回應延遲」。
有 OLE DB 記錄可供使用。 來源:「Microsoft SQL Server Native Client 11.0」Hresult:0x80004005描述:「TCP 提供者:逾時錯誤 [258]。 "."
否則,問題並不僅限於 SSIS 或僅Power BI報告。 任何應用程式在與SQL Server連線時,都可能會遇到效能問題和逾時。
此修正程式在 sys.dm_os_buffer_descriptors DMV 中推出了兩個新欄,error_code和op_history。 Error_code 欄代表最新嘗試填入有問題的緩衝區時的錯誤資訊。 Op_history 欄代表位格式緩衝區的操作歷程記錄 (每個作業 4 位,共 16 個作業,最後 4 個位代表最新的作業,隨著時間的) ,向左移。
附註: 此修正程式無法解決您在填入緩衝區頁面時看到的任何特定錯誤。 它只會公開緩衝區上錯誤碼和作業的相關資訊,以便使用新資訊執行額外的疑難排解。
根源
逾時和效能問題在本質上是一般性的,可能有許多根本原因。 在此特定情況下,嘗試從資料檔案讀取資料頁面並填入記憶體緩衝區 (資料頁的記憶體表示) 時,會觀察到許多錯誤和擷測。 在嘗試填入未公開的緩衝區時,緩衝區母體錯誤的根本原因並不會清楚識別為基礎錯誤碼。
狀態
Microsoft 已確認<適用於>一節所列的 Microsoft 產品確實有上述問題。
解決方案
此問題已在下列SQL Server累積更新中修正:
關於SQL Server的累積更新:
每個SQL Server的新累積更新都包含所有 Hotfix 以及先前累積更新隨附的所有安全性修正。 查看SQL Server的最新累積更新:
參考
瞭解 Microsoft 用來描述軟體更新的術語。