你目前正处于脱机状态,正在等待 Internet 重新连接

修复:SQL Server 2012中的 xp_cmdshell 存储过程的第一次执行未完成直到最后执行完成

重要说明:本文是由 Microsoft 机器翻译软件进行的翻译并可能由 Microsoft 社区通过社区翻译机构(CTF)技术进行后期编辑,或可能是由人工进行的翻译。Microsoft 同时向您提供机器翻译、人工翻译及社区后期编辑的文章,以便对我们知识库中的所有文章以多种语言提供访问。翻译的文章可能存在词汇、句法和/或语法方面的错误。Microsoft 对由于内容的误译或客户对内容的使用所导致的任何不准确、错误或损失不承担责任。

点击这里察看该文章的英文版: 2671318
Microsoft 将分发 Microsoft SQL Server 2012年一个可下载的文件中的修补程序。修补程序是累积性的因为每个新版本包含的所有修复程序和所有安全更新都包含上一个 SQL Server 2012年的都更新版本。
症状
假定您在 Microsoft SQL Server 2012年中的多个会话同时运行很多xp_cmdshell存储过程。在此情况下上, 一次执行完成之前未完成xp_cmdshell存储过程的第一次执行。
原因
因为通过xp_cmdshell存储过程运行在相同的时间时,将打开的过程继承的句柄,将出现此问题。

CreateProcess API 需要重定向标准输出和错误消息的句柄继承。如果多个xp_cmdshell执行存储过程运行在同一时间,新打开的进程可以继承现有进程的句柄。但是, xp_cmdshell存储过程等待句柄已关闭所有打开的程序。因此,当多个进程继承的句柄,所有xp_cmdshell执行必须都等待句柄已关闭的长运行的进程。
解决方案
若要解决此问题,请应用以下累积更新。此更新将添加 CreateProcess API STARTUPINFOEX 选项,以防止跨进程句柄的继承。

累积更新信息

对于 SQL Server 2012 Service Pack 1 的累积更新包 1

累积更新 1 中首次发布此问题的修补程序。有关如何为 SQL Server 2012 Service Pack 1 获取此累积更新包的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2765331 对于 SQL Server 2012 Service Pack 1 的累积更新包 1
注意: 因为版本具有累积性,所以每个新修补程序版本包含的所有修补程序和所有安全修复程序都包含上一个 SQL Server 2012 的修补程序版本。我们建议您考虑将应用包含此修复程序的最新的修补程序版本。有关详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2772858 SQL Server 2012 生成在 SQL Server 2012 Service Pack 1 发布后发布

SQL Server 2012

累积更新 4 中首次发布此问题的修补程序。有关如何为 SQL Server 2012获取此累积更新包的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2758687 对于 SQL Server 2012年的累积更新包 4
注意: 因为版本具有累积性,所以每个新修补程序版本包含的所有修补程序和所有安全修复程序都包含上一个 SQL Server 2012 的修补程序版本。我们建议您考虑将应用包含此修复程序的最新的修补程序版本。有关详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2692828 在SQL Server 2012发布后发布了 SQL Server 2012 生成
状态
Microsoft 已经确认这是"适用于"一节中列出的 Microsoft 产品中的问题。
参考
有关 CreateProcess 函数的详细信息,请转到下面的 MSDN 网站:有关 xp_cmdshell 存储过程的详细信息,请转到下面的 MSDN 网站: 有关类似问题的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
315939 PRB: 子 CreateProcess 调用期间继承意外的句柄

警告:本文已自动翻译

属性

文章 ID:2671318 - 上次审阅时间:01/11/2015 16:23:00 - 修订版本: 2.0

Microsoft SQL Server 2012 Standard, Microsoft SQL Server 2012 Web, Microsoft SQL Server 2012 Developer, Microsoft SQL Server 2012 Enterprise

  • kbtshoot kbqfe kbfix kbexpertiseadvanced kbsurveynew kbmt KB2671318 KbMtzh
反馈