“查询”在SQL Server中的“使用查询调控器”中的含义是什么

时间:2013-09-09 23:20:06

标签: sql sql-server

如果我正在执行包含许多连续查询语句的存储过程,

使用查询调控器是否适用于存储过程中执行的每个语句,或者它是否意味着单个执行语句 - 在这种情况下是整个存储过程?

2 个答案:

答案 0 :(得分:0)

我认为你正在混淆一些概念。

第一个概念是什么是交易?这取决于您是否使用显式或implicit交易。

默认情况下,设置隐式事务。

如果要在存储过程中将所有语句设置为commit或rollback,则必须使用BEGIN TRANS,COMMIT和/或ROLLBACK语句,并在存储过程中进行错误检查。

现在让我们谈谈第二个概念。 resource governor用于限制给予特定用户组的资源量。

基本上,登录ID由分类器功能映射到工作负载组和资源池。这允许您将所有用户置于低优先级组中,只为CPU和MEMORY提供一小部分,而生产作业可以位于具有LION资源份额的高优先级组中。

这可以防止典型用户编写具有巨大CROSS JOIN的报表,并导致生产数据库出现性能问题。

我希望这可以解决困惑。如果没有,请准确询问您的需求。

答案 1 :(得分:0)

我的问题的答案似乎是存储过程在此上下文中被视为查询;

我们花了一些时间来检查包含许多EXEC'dml语句的存储过程的问题,该语句根据适用的秒数值选择“使用查询管理器”超时。取消选择“使用查询调控器”可以解决问题。