Note Each "Non-yielding Scheduler" error is logged in the SQL Server 2008 or SQL Server 2008 R2 error log file.
Additionally, SQL Server stops responding intermittently. To work around this issue, you might have to restart SQL Server.
- This hotfix applies to both the SQL Native Client and to the SQL Server enginee.
- If you have installed SQL Server 2008 Service Pack 2 (SP2), the "Non-yielding Scheduler" error does not occur, and SQL Server 2008 does not stop responding. However, you may receive an error message that resembles the following:error code 26073 - // ErrorFormat: TCP connection closed but a child process of SQL Server may be holding a duplicate of the connection's socket
NoteIf you recently applied the SQL Server GDR fixes according to security bulletin MS11-049, you cannot apply the cumulative updates that are mentioned in this article.
When you try to apply the fixes by using the cumulative update setup, you receive an error message that resembles the following:
Cumulative update informationTo resolve this issue, apply the appropriate updates for SQL Server and for Windows Server that are running on the computer.
Note You may experience this issue in a client application which uses SQL Server Native Client and a function (such as the CreateProcess function) to create a new child process. In this case, you have to apply both hotfixes for Windows Server and SQL Server.
Updates for SQL Server
Cumulative update package 6 for SQL Server 2008 R2The fix for this issue was first released in Cumulative Update 6. For more information about how to obtain this cumulative update package for SQL Server 2008 R2, click the following article number to view the article in the Microsoft Knowledge Base:
Updates for Windows Server
Hotfix for Windows Server 2008 R2
Hotfix for Windows Server 20082398202 An application may stop responding in Windows Server 2008 or in Windows Vista when the application closes a socket connection or shuts down
To do this, follow these steps:
- Open Registry Editor. To do this, use the appropriate method for your operating system:
- In Windows Vista, click Start, type regedit in the Start Search box, and then press ENTER.
- In Windows XP, click Start, click Run, type regedit, and then click OK.
- Locate and then click the following registry subkey.
- For the default instance of SQL Server 2008 or SQL Server 2008 R2, click the following registry subkey:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQLServer\SuperSocketNetLib\Tcp\
- For a named instance of SQL Server 2008 or SQL Server 2008 R2, click the following registry subkey:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL10.(InstanceName)\MSSQLServer\SuperSocketNetLib\Tcp\
- For the default instance of SQL Server 2008 or SQL Server 2008 R2, click the following registry subkey:
- On the Edit menu, point to New, and then click DWORD Value.
- Type TcpAbortiveClose, and then press ENTER.
- On the Edit menu, click Modify.
- Click Decimal, and then type 1 in the Value data box.
- Exit Registry Editor.
- Restart SQL Server.
For more information about how to install SQL Server Native Client, visit the following Microsoft Developer Network (MSDN) website:For more information about the Incremental Servicing Model for SQL Server, click the following article number to view the article in the Microsoft Knowledge Base:
Article ID: 2491214 - Last Review: Jan 19, 2012 - Revision: 1