Notice: This website is an unofficial Microsoft Knowledge Base (hereinafter KB) archive and is intended to provide a reliable access to deleted content from Microsoft KB. All KB articles are owned by Microsoft Corporation. Read full disclaimer for more details.

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


View products that this article applies to.

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]

↑ Back to the top


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

↑ Back to the top


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.

↑ Back to the top


Status

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

↑ Back to the top


Keywords: kbsurveynew, kbtshoot, kbexpertisebeginner, kb

↑ Back to the top

Article Info
Article ID : 2919863
Revision : 1
Created on : 1/7/2017
Published on : 1/15/2014
Exists online : False
Views : 587