Sql server SQL Server';s xp_cmdshell在更新后运行缓慢

Sql server SQL Server';s xp_cmdshell在更新后运行缓慢,sql-server,performance,xp-cmdshell,Sql Server,Performance,Xp Cmdshell,更新Windows和SQL Server后,xp\u cmdshell运行缓慢。我们正在使用SQL Server 2016 SP1运行Windows Server 2016。我们已经将SQL Server完全更新为SP2 CU8,行为没有任何变化 我们的Windows服务器的性能似乎很好。此外,我们还可以快速批量运行类似的命令。我们的SQL Server的性能似乎也很好 我猜问题在于每个命令都需要一个Windows环境,也许最近Windows发生了一些变化?但是,在运行同一版本SQL Serve

更新Windows和SQL Server后,
xp\u cmdshell
运行缓慢。我们正在使用SQL Server 2016 SP1运行Windows Server 2016。我们已经将SQL Server完全更新为SP2 CU8,行为没有任何变化

我们的Windows服务器的性能似乎很好。此外,我们还可以快速批量运行类似的命令。我们的SQL Server的性能似乎也很好

我猜问题在于每个命令都需要一个Windows环境,也许最近Windows发生了一些变化?但是,在运行同一版本SQL Server 2016的虚拟机上,我们没有发现任何问题

我们理解启用
xp\u cmdshell
的安全风险,并接受这些风险

下面是我们用来测试
xp\u cmdshell
速度的一些代码

EXEC master..xp\u cmdshell“退出0”-简单、打开cmd并退出
GO 25--运行该命令25次

我希望这段代码在一秒钟内运行,但是运行需要15-20秒。

为什么希望这段代码在一秒钟内运行?你在以前的版本上试过这个吗?如果是,从哪个版本升级?以前花了多少时间

我正在SQL Server 2017上进行测试,在i7笔记本电脑上需要3秒钟

如果你想深入挖掘,你可以跟随并使用

如果您没有看到查询在您要升级的版本上运行得更快,请不要认为查询应该运行得更快

请记住,
xp\u cmdshell
是一个非常古老的功能,现在已不推荐使用

您正在通过
xp\u cmdshell
运行什么命令


CMD
以缓慢著称。如果你的机器也旧了,我不会留下深刻印象。

我们希望它能及时运行。我们已经在以前的版本中尝试过。我想这是我问题的前提。升级后,运行速度变慢。至于之前花了多少时间,这是我的期望,不到一秒钟。从我们升级的版本来看,它在这个硬件上工作得更快。这是我们知道它减速的唯一方法。我看不出微软在哪里弃用了xp\U cmdshell?我不知道CMD以慢出名?和探险家相比,它以速度快著称?机器不是旧的…尤其是shell会话的初始化可能非常耗时:。提供另一个您尝试运行的命令,因为打开/关闭shell太重。使用xp\u cmdshell运行的每个命令都会打开和关闭shell。这对我们的其他服务器或补丁之前的这台服务器来说不是太重。我们现在有两个选项:1)如果您有另一台SQL Server 2016 SP1,但没有相同的问题:这与环境有关,因此,这意味着您在该特定计算机上遇到了问题2)如果您有另一台SQL Server 2016 SP1存在相同的问题:您在该特定SQL Server版本上发现了一个错误,您可以将其升级到MicrosoftI。我不相信它会这么简单。其他用户也有同样的问题,但没有得到解决。这不是一个特定于一台机器的问题。但是,这也没什么帮助。我最近发现,在运行缓慢的xp\u cmdshell服务器上,xp\u cmdshell创建了一个安全事件(事件查看器),它是一个提升的令牌。在没有问题的第二台计算机上,提升的令牌为“否”。从我所读到的,这创建了一个二级配置文件,一个是提升的,一个不是。这可能是罪魁祸首。是否有任何方法可以控制xp_cmdshell请求提升的令牌而不是不请求提升的令牌?右键单击SQL Management Studio并“以管理员身份运行”。尝试查看这是否绕过提升的令牌。另外,从您升级的SQL Server版本开始?以管理员身份运行时没有更改。从Sql Server 2016升级到SP1