1

是否有任何方法可以设置 SQL Server 2008 R2 中存储过程的服务质量 (QoS) 或优先级?

我有一个 ASP.NET 4.0 Web 应用程序,它公开了一些报告,这些报告触发了一些长时间运行的非关键报告类型存储过程。

这个相同的应用程序和数据库支持一些实时数据馈送(反向 ajax)和其他关键过程。

我的问题是这些长时间运行的非关键存储过程有时会对我的关键进程的性能产生不利影响,尤其是当长时间运行的 Sprocs 或罕见的死锁事件发生超时时。

是否有任何方法可以在存储过程上设置优先级或 QOS,以尽量减少非关键存储过程对我的关键存储过程的影响?

如果 SQL Server 不支持此功能,是否可以在我的数据访问层 (ADO.NET) 的应用程序级别执行任何操作来设置优先级,可能使用不同的连接字符串?

非常感谢

4

1 回答 1

0

这取决于您的报告过程为何会对实时流程产生不利影响。如果是因为资源争用(CPU 等),那么您也许可以做点什么。

但是如果是因为锁争用(阻塞/死锁),那么就没有简单的外部修复,你必须要么 1)改变报告过程本身的工作方式,要么 2)重新安排/重新配置事情,这样他们就不会冲突,或 3) 忍受它。

于 2013-04-17T21:29:20.770 回答