配置 query governor cost limit(服务器配置选项)
适用于: SQL Server
本主题说明如何使用 SQL Server Management Studio 或 Transact-SQL 在 SQL Server 中配置“查询调控器开销限制”服务器配置选项。 “开销限制”选项指定运行给定查询所允许的估计开销的上限。 查询开销是一个抽象数字,由查询优化器根据估计的执行要求(如 CPU 时间、内存和磁盘 IO)确定。 它是指在特定硬件配置中完成查询所需的估计占用时间(秒)。 这个抽象数字不等于在正在运行的实例上完成查询所需的时间。 应将其视为一个相对度量值。 此选项的默认值为 0,将设置为关闭查询调控器。 将值设置为 0 将允许所有查询在没有任何时间限制下运行。 如果为该选项指定一个非零、非负的数值,则查询调控器将不允许执行估计开销超过该值的查询。
本主题内容
开始之前:
若要设置查询调控器开销限制选项,请使用:
跟进: 在配置查询调控器开销限制选项之后
开始之前
建议
此选项是一个高级选项,仅应由有经验的数据库管理员或认证的 SQL Server 专业人员更改。
若要在每个连接基础上更改查询调控器开销限制值,请使用 SET QUERY_GOVERNOR_COST_LIMIT 语句。
安全性
权限
默认情况下,所有用户都具备不带参数或仅带第一个参数的 sp_configure 的执行权限。 若要执行带两个参数的 sp_configure 以更改配置选项或运行 RECONFIGURE 语句,则用户必须具备 ALTER SETTINGS 服务器级别的权限。 ALTER SETTINGS 权限由 sysadmin 和 serveradmin 固定服务器角色隐式持有。
使用 SQL Server Management Studio
配置查询调控器开销限制选项
在对象资源管理器中,右键单击服务器并选择 “属性” 。
单击 “连接” 页面。
选中或清除“使用查询调控器防止查询长时间运行”复选框。
如果选中此复选框,请在下面的框中输入一个正值,查询调控器将禁止执行估计开销超过该值的所有查询。
“使用 Transact-SQL”
配置查询调控器开销限制选项
连接到 数据库引擎。
在标准菜单栏上,单击 “新建查询” 。
将以下示例复制并粘贴到查询窗口中,然后单击“执行” 。 此示例说明如何使用 sp_configure 将
query governor cost limit
选项的值设置为估计查询开销的120
分钟上限。
USE AdventureWorks2022;
GO
EXEC sp_configure 'show advanced options', 1;
GO
RECONFIGURE ;
GO
EXEC sp_configure 'query governor cost limit', 120 ;
GO
RECONFIGURE;
GO
有关详细信息,请参阅服务器配置选项 (SQL Server)。
跟进:在配置查询调控器开销限制选项之后
该设置将立即生效,无需重新启动服务器。
另请参阅
RECONFIGURE (Transact-SQL)
SET QUERY_GOVERNOR_COST_LIMIT (Transact-SQL)
服务器配置选项 (SQL Server)
sp_configure (Transact-SQL)