配置 query wait(服务器配置选项)

适用于:SQL Server

本主题说明如何通过使用 SQL Server Management Studio 或 Transact-SQL 在 SQL Server 中配置“查询等待”服务器配置选项。 当没有足够的内存来运行查询时,大量占用内存的查询(如那些涉及排序和哈希操作的查询)将排队等待。 “查询等待值” 选项指定一个查询在超时前等待所需资源的时间(以秒为单位,范围从 0 到 2147483647)。该选项的默认值为 -1。 这意味着超时值计算为估计的查询开销的 25 倍。

重要

包含等待查询的事务在查询等待内存时可能会持有锁。 在极个别的情况下,可能会发生无法检测到的死锁。 减少查询等待时间可降低这类死锁的概率。 最终,等待的查询将被终止并且事务锁将被释放。 但是,增加最大等待时间将增大该类查询被终止的时间。 不建议改变该选项。

本主题内容

开始之前

建议

  • 此选项是一个高级选项,仅应由有经验的数据库管理员或认证的 SQL Server 专业人员更改。

安全性

权限

默认情况下,所有用户都具备不带参数或仅带第一个参数的 sp_configure 的执行权限。 若要执行带两个参数的 sp_configure 以更改配置选项或运行 RECONFIGURE 语句,则用户必须具备 ALTER SETTINGS 服务器级别的权限。 ALTER SETTINGS 权限由 sysadminserveradmin 固定服务器角色隐式持有。

使用 SQL Server Management Studio

配置 query wait 选项

  1. 在对象资源管理器中,右键单击服务器并选择 “属性”

  2. 单击 “高级” 节点。

  3. “并行” 中,为“查询等待值” 选项键入所需的值。

“使用 Transact-SQL”

配置 query wait 选项

  1. 连接到 数据库引擎。

  2. 在标准菜单栏上,单击 “新建查询”

  3. 将以下示例复制并粘贴到查询窗口中,然后单击“执行” 。 此示例说明如何使用 sp_configurequery wait 选项的值设置为 7500 秒。

USE AdventureWorks2022;  
GO  
EXEC sp_configure 'show advanced options', 1;  
GO  
RECONFIGURE ;  
GO  
EXEC sp_configure 'query wait', 7500 ;  
GO  
RECONFIGURE;  
GO  
  

有关详细信息,请参阅服务器配置选项 (SQL Server)

跟进:在配置查询等待值选项之后

该设置将立即生效,无需重新启动服务器。

另请参阅

RECONFIGURE (Transact-SQL)
服务器配置选项 (SQL Server)
sp_configure (Transact-SQL)