我有一个运行 SSRS 2008 R2 Standard 的报表服务器。此服务器从另一个 SQL Server 2008 R2(再次标准)检索数据。我想以类似于资源调控器的方式管理这些 SQL 标准服务器上的查询优先级。
资源调控器是一个仅限企业的功能,我目前无法升级到该版本。您能否建议一种方法/工具来实现这一点,即使只是在某种程度上:基于帐户、CPU 使用率、查询超时?
我有一个运行 SSRS 2008 R2 Standard 的报表服务器。此服务器从另一个 SQL Server 2008 R2(再次标准)检索数据。我想以类似于资源调控器的方式管理这些 SQL 标准服务器上的查询优先级。
资源调控器是一个仅限企业的功能,我目前无法升级到该版本。您能否建议一种方法/工具来实现这一点,即使只是在某种程度上:基于帐户、CPU 使用率、查询超时?
可以运行一项扫描当前正在运行的任务并跟踪哪些任务正在阻塞或占用资源的作业。然后,您可以根据自己的标准杀死不同的 spid。该标准是什么取决于您自己的业务需求。
我讨厌给出“谷歌这个”的建议,但是有几个工具可以做到这一点,每个工具都有不同的定制级别,或者你可以自己滚动。滚动你自己的代码可能会有点复杂。无论如何,如果你用谷歌搜索“sql block monitor”或“sql spid monitor”,你应该会找到几种可能的解决方案。
这些解决方案通常不会像资源调控器那样考虑 CPU 和/或内存。您可以查看正在运行的实际代码(希望是存储过程调用)并以此为基础做出决定。从您的问题的描述看来,这可能就是您想要做的。
编辑:这作为一个维基会更好,因为它没有明确的答案?然后它可以作为现有各种解决方案的集合。也许更多参与 SO 网站的人可以对此发表评论。