Sql server sql server 2008 R2更新与sos_计划程序_类型绑定

Sql server sql server 2008 R2更新与sos_计划程序_类型绑定,sql-server,Sql Server,我发现其中一个应用程序被卡住了几天 在分析之后,我重点讨论了SQLServer2008R2的调度程序问题 我运行查询select*from master.dbo.sysprocesses,发现更新查询在sos_scheduler_yeild lastwaittype中保存了很长时间,CPU列的值非常高(4158738),状态为runnable 我尝试停止应用程序并重新启动它,还有DBCC freesystemcache、freeproccache、更新应用程序打算更新的表的统计信息 但这个问题仍

我发现其中一个应用程序被卡住了几天

在分析之后,我重点讨论了SQLServer2008R2的调度程序问题

我运行查询
select*from master.dbo.sysprocesses
,发现更新查询在
sos_scheduler_yeild lastwaittype
中保存了很长时间,CPU列的值非常高(4158738),状态为runnable

我尝试停止应用程序并重新启动它,还有DBCC freesystemcache、freeproccache、更新应用程序打算更新的表的统计信息

但这个问题仍然悬而未决

有人能告诉我CPU列的确切含义是什么,高值意味着什么,以及如何解决这个问题吗


THX

当任务等待cpu时间时,会出现SOS_调度程序_产量等待类型。这通常表示此任务希望使用的其他正在消耗CPU时间。您可以取消另一个任务,但这很苛刻,您可以投入更多的CPU,但这很昂贵,您可以为update语句设置MAXDOP,这样就不会使用其他占用的CPU,但这可能会导致执行时间更长(或更短)

简而言之,答案是:你的基地里有东西偷走了你的CPU


long答案是进行彻底的分析,根据您提供的信息,这超出了范围。

非常感谢您的快速响应:)所以cup值表示此查询等待执行的时间很长?以及如何为update语句设置MAXDOP?我只知道如何将MAXDOP设置为instanceI,我会说它等待调度程序给任务cpu时间的时间有多长。有关查询提示(MAXDOP)-请参阅MSDN: