You receive time-out error messages when you connect to a SQL Server 2012 instance that is running in Windows Server 2012

Applies to: SQL Server 2012 EnterpriseSQL Server 2012 DeveloperSQL Server 2012 Express

Symptoms


When you try to log on or connect to an instance of Microsoft SQL Server 2012 that is installed in Windows Server 2012, you may receive one of the following time-out error messages:
  • Error message 1
    [SQLSTATE 01000] (Message 0) SQLState = 08001, NativeError = 258 [SQLSTATE 01000] (Message 0) Error = [Microsoft][SQL Server Native Client 11.0]TCP Provider: Timeout error [258]. [SQLSTATE 01000] (Message 0) SQLState = 08001, NativeError = 258 [SQLSTATE 01000] (Message 0) Error = [Microsoft][SQL Server Native Client 11.0]Unable to complete login process due to delay in prelogin response [SQLSTATE 01000] (Message 0) SQLState = S1T00, NativeError = 0 [SQLSTATE 01000] (Message 0) Error = [Microsoft][SQL Server Native Client 11.0]Login timeout expired [SQLSTATE 01000] (Message 0)
  • Error message 2
    <Time Stamp> - ! [165] ODBC Error: 0, Login timeout expired [SQLSTATE HYT00]
    <Time Stamp> - ! [298] SQLServer Error: 258, Unable to complete login process due to delay in prelogin response [SQLSTATE 08001]
    <Time Stamp> - ! [382] Logon to server '<Database Name>' failed (SubSystemStepHistoryLogger)
    <Time Stamp> - ! [298] SQLServer Error: 258, TCP Provider: Timeout error [258]. [SQLSTATE 08001]

Resolution


To resolve this issue, try to apply the following Windows Server 2012 update rollup in Microsoft Knowledge Base first:

2779768 Windows 8 and Windows Server 2012 update rollup: December 2012

Cause


This issue may occur because a thread that calls the AcceptEX call is blocked in kernel mode (AFD.sys driver) in Windows Server 2012. If you capture a network monitor trace, you may find that some network packages do reach the server. However, because of I/O manager changes, the GetQueuedCompletionStatus call cannot detect the network data that arrived, and this causes the application network operation delay (in this case, the application is SQL Server).

Note Windows Server 2012 introduces a change to the I/O manager, and this change affects the behavior of the AcceptEX call.

Status


Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.