Sign in with Microsoft
New to Microsoft? Create an account.

症状

假设你在运行 Windows Server 2008 或 Windows Server 2008 R2 的计算机上安装 Microsoft SQL Server 2008 或 Microsoft SQL Server 2008 R2。 当应用程序使用 Microsoft SQL Server Native Client 10.0 连接到 SQL Server 2008 或 SQL Server 2008 R2 时,将间歇性地收到 "未生成计划程序" 错误。 注意 将在 SQL Server 2008 或 SQL Server 2008 R2 错误日志文件中记录每个 "未生成计划程序" 错误。此外,SQL Server 将间歇性停止响应。 要解决此问题,您可能需要重新启动 SQL Server。 注意

  • 此修补程序适用于 SQL Native Client 和 SQL Server enginee。

  • 如果已安装 SQL Server 2008 Service Pack 2 (SP2),则不会出现 "未生成计划程序" 错误,并且 SQL Server 2008 不会停止响应。 但是,你可能会收到类似于以下内容的错误消息:

    错误代码 26073-//ErrorFormat: TCP 连接关闭,但 SQL Server 的子进程可能保留连接的套接字的副本

原因

出现此问题的原因是 SQL Server Native Client 10.0 错误地处理套接字上的 TCP close 调用。

解决方案

注意

如果你最近根据安全公告 MS11 (049)应用了 SQL Server GDR 修补程序,则无法应用本文中提及的累积更新。 当您尝试使用累积更新设置应用修复程序时,收到类似于以下内容的错误消息:

已在 SQL Server 实例 <实例名称> 上安装了具有较高版本的 sql server 更新,因此无法应用当前 SQL Server 更新。 已安装的 SQL Server 更新版本是具有 KB2494089 的 GDR 10.2.4064.0 (10.2.4310.0),并且当前 SQL Server 更新与 KB2467239 10.2.4272.0。

在此方案中,除了针对 MS11 049 问题的修复外,还必须应用包含此知识库文章中所述问题的修补程序的 GDR 程序包。 若要查找适用于你的 SQL Server 内部版本的相应 GDR 和 QFE 程序包,请参阅以下安全公告的 FAQ 部分:

http://www.microsoft.com/technet/security/bulletin/MS11-049.mspx例如,如果你正在运行 SQL Server 2008 Service Pack 2,并且为 KB2494089 应用了 GDR 修补程序,若要获取 KB2491214 的修补程序,必须应用 QFE KB2494094 更新。

累积更新信息

若要解决此问题,请为 SQL Server 和计算机上运行的 Windows Server 应用相应的更新。 注意 在使用 SQL Server Native Client 和函数(如 CreateProcess 函数)创建新的子进程的客户端应用程序中,你可能会遇到此问题。 在这种情况下,你必须为 Windows Server 和 SQL Server 应用这两个修补程序。

SQL Server 更新

SQL Server 2008 R2 的累积更新包6

此问题的修补程序首次在累积更新6中发布。有关如何为 SQL Server 2008 R2 获取此累积更新包的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

2489376 SQL Server 2008 R2 的累积更新包6 注意 由于这些版本是累积的,因此每个新的修复版本都包含了以前的 SQL Server 2008 R2 修补程序版本附带的所有修补程序和所有安全修补程序。 我们建议你考虑应用包含此修补程序的最新修复版本。 有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

981356 发布 SQL Server 2008 R2 后发布的 SQL Server 2008 R2 版本Sql server 2008 累积更新程序包 2 Service pack 2 此问题的修复第一次在 SQL Server 2008 Service Pack 2 的累积更新2中发布。有关此累积更新包的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

2467239 SQL Server 2008 的累积更新包2服务包2注意 由于这些版本是累积的,因此每个新的修复版本都包含以前的 SQL Server 2008 修复版本附带的所有修补程序和所有安全修补程序。 Microsoft 建议你考虑应用包含此修补程序的最新修复版本。 有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

2402659 发布 SQL Server 2008 Service Pack 2 后发布的 SQL Server 2008 版本 为特定 SQL Server service pack 创建 Microsoft SQL Server 2008 修补程序。 必须将 SQL Server 2008 Service Pack 2 修补程序应用到 SQL Server 2008 Service Pack 2 的安装。 默认情况下,SQL Server service pack 中提供的任何修补程序都包含在下一个 SQL Server service pack 中。

Windows Server 更新

Windows Server 2008 R2 的修补程序

976932有关 Windows 7 和 Windows Server 2008 R2 的 Service Pack 1 的信息

Windows Server 2008 的修补程序

2398202 当应用程序关闭套接字连接或关闭时,应用程序可能会在 Windows Server 2008 或 Windows Vista 中停止响应

状态

Microsoft 已确认这是在“适用范围”部分中列出的 Microsoft 产品存在的问题。

解决方法

重要提示 此部分、方法或任务包含告诉你如何修改注册表的步骤。但是,如果您错误地修改了注册表,可能会出现严重问题。因此,请确保仔细执行以下步骤。为增强保护,请在修改注册表之前对其进行备份。然后,如果出现问题,您可以还原注册表。有关如何备份和还原注册表的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

322756 如何在 Windows 中备份和还原注册表要解决此问题,请在MSSQLServer的注册表项中添加SuperSocketNetlib\Tcp\TcpAbortiveClose值。若要执行此操作,请按照下列步骤操作:

  1. 打开注册表编辑器。 为此,请使用适用于你的操作系统的方法:

    • 在 Windows Vista 中,单击 "开始",在 "开始搜索" 框中键入regedit ,然后按 enter。

    • 在 Windows XP 中,单击 " 开始",单击 " 运行",键入 Regedit,然后单击 "确定"

  2. 找到并单击以下注册表子项。

    • 对于 SQL Server 2008 或 SQL Server 2008 R2 的默认实例,请单击下面的注册表子项:

      HKEY_LOCAL_MACHINE \SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL10。MSSQLSERVER\MSSQLServer\SuperSocketNetLib\Tcp\

    • 对于 SQL Server 2008 或 SQL Server 2008 R2 的命名实例,请单击以下注册表子项:

      HKEY_LOCAL_MACHINE \SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL10。(InstanceName) \MSSQLServer\SuperSocketNetLib\Tcp\

  3. 在 " 编辑 " 菜单上,指向 " 新建",然后单击 " DWORD 值"。

  4. 键入 TcpAbortiveClose,然后按 ENTER。

  5. 在 " 编辑 " 菜单上,单击 " 修改"。

  6. 单击 "小数",然后在 "值数据" 框中键入1 。

  7. 退出注册表编辑器。

  8. 重新启动 SQL Server。

参考

有关如何安装 SQL Server Native Client 的详细信息,请访问以下 Microsoft 开发人员网络(MSDN)网站:

如何安装 SQL Server Native Client有关 SQL Server 的增量服务模型的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

935897 从 SQL Server 团队提供的增量服务模型可提供报告问题的修补程序有关 SQL Server 更新的命名架构的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

822499Microsoft SQL Server 软件更新程序包的新命名架构有关软件更新术语的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

824684 用于描述 Microsoft 软件更新的标准术语的说明

需要更多帮助?

扩展你的技能
了解培训
抢先获得新功能
加入 Microsoft 内部人员

此信息是否有帮助?

你对语言质量的满意程度如何?
哪些因素影响了你的体验?

谢谢您的反馈!

×