當您連線至 SQL Server 2012年執行個體正在執行 Windows Server 2012 時,您會收到逾時錯誤訊息

狀況

當您嘗試登入,或連線至 Microsoft SQL Server 2012 安裝在 Windows Server 2012 中的執行個體時,您可能會收到下列的逾時錯誤訊息之一︰

  • 錯誤訊息 1

    [SQLSTATE 01000](訊息 0)SQLState = 08001,NativeError = 258 [SQLSTATE 01000] (郵件 0) 錯誤 = [Microsoft] [SQL Server 原生用戶端 11.0] TCP 提供者︰ 等候逾時錯誤 [258]。[SQLSTATE 01000](訊息 0)SQLState = 08001,NativeError = 258 [SQLSTATE 01000] (郵件 0) 錯誤 = [Microsoft] [SQL Server 原生用戶端 11.0] 無法完成登入程序,因為發生預先登入回應 [SQLSTATE 01000] 中的延遲 (訊息 0) SQLState = S1T00,NativeError = 0 [SQLSTATE 01000] (郵件 0) 錯誤 = [Microsoft] [SQL Server 原生用戶端 11.0] 登入逾時過期 [SQLSTATE 01000] (訊息 0)

  • 錯誤訊息 2

    <時間戳記>-![165] 的 ODBC 錯誤︰ 0,登入逾時過期 [SQLSTATE HYT00]
    <時間戳記>-![298] SQLServer 錯誤︰ 258,無法完成登入程序,因為預先登入回應 [SQLSTATE 08001] 延遲
    <時間戳記>-![382] 的登入到伺服器 ' <資料庫名稱>' 失敗 (SubSystemStepHistoryLogger)
    <時間戳記>-![298] SQLServer 錯誤︰ 258,TCP 提供者︰ 等候逾時錯誤 [258]。[SQLSTATE 08001]

解決方案

如果要解決這個問題,請先套用下列 Windows Server 2012 更新彙總套件 Microsoft 知識庫 」 中︰

2779768 Windows 8 和 Windows Server 2012 更新彙總套件︰ 2012 年 12 月

原因

因為在核心模式 (AFD.sys 驅動程式) 在 Windows Server 2012 被封鎖的呼叫AcceptEX呼叫的執行緒,可能會發生這個問題。如果您擷取網路監視器追蹤時,您會發現有些網路套件未到達伺服器。不過,由於 I/O 管理員變更, GetQueuedCompletionStatus呼叫無法偵測抵達,網路資料,這會導致應用程式的網路作業延遲 (在此情況下,應用程式是 SQL Server)。

注意Windows Server 2012 介紹 I/O 管理員] 中,變更和此變更會影響AcceptEX呼叫的行為。

狀態

Microsoft 已確認這是<套用>一節所列出的 Microsoft 產品的問題。

Need more help?

Expand your skills
Explore Training
Get new features first
Join Microsoft Insiders

Was this information helpful?

Thank you for your feedback!

Thank you for your feedback! It sounds like it might be helpful to connect you to one of our Office support agents.

×