設定查詢管理員成本限制 伺服器組態選項

適用於:SQL Server

本主題描述如何使用 SQL Server Management Studio 或 Transact-SQL,在 SQL Server 中設定 [查詢管理者成本限制] 伺服器組態選項。 成本限制選項會指定允許指定查詢執行的估計成本上限。 查詢成本是由查詢最佳化工具根據估計執行需求 (例如 CPU 時間、記憶體與磁碟 IO) 所決定的抽象數字。 其代表在特定的硬體組態上,估計完成查詢所需的時間 (以秒為單位)。 這個抽象數字不等於在執行中執行個體上完成查詢所需的時間。 您應該將其視為相對量值。 此選項的預設值為 0,這會將查詢管理員設定為關閉。 將值設定為 0,以允許所有查詢在沒有任何時間限制的情況下執行。 如果指定非零的非負值,查詢若超過該值的估計成本,查詢管理員就不允許執行此查詢。

本主題內容

開始之前

建議

  • 此選項是進階選項,只有具經驗的資料庫管理員或通過認證的 SQL Server 專業人員才可變更。

  • 若要根據每個連接變更 query governor cost limit 值,請使用 SET QUERY_GOVERNOR_COST_LIMIT 陳述式。

安全性

權限

不含參數或只含第一個參數之 sp_configure 上的執行權限預設會授與所有使用者。 以同時設定兩個參數的 sp_configure 來變更組態選項或執行 RECONFIGURE 陳述式時,使用者必須取得 ALTER SETTINGS 伺服器層級權限。 系統管理員 (sysadmin)serveradmin 固定伺服器角色會隱含 ALTER SETTINGS 權限。

使用 SQL Server Management Studio

設定 query governor cost limit 選項

  1. 在物件總管中,請以滑鼠右鍵按一下伺服器,然後選取 [屬性]。

  2. 按一下 [連接] 頁面。

  3. 選取或清除 [使用查詢管理員防止執行時間很長的查詢] 核取方塊。

    如果您選取此核取方塊,請在下列方塊中輸入一個正值,這是查詢管理員用來禁止執行任何估計成本超過該值的查詢。

使用 TRANSACT-SQL

設定 query governor cost limit 選項

  1. 連線至資料庫引擎。

  2. 在標準列中,按一下 [新增查詢]

  3. 複製下列範例並將其貼到查詢視窗中,然後按一下 [執行] 。 此範例示範如何使用 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)

待處理:設定 query governor cost limit 選項之後

設定會立即生效,不需要重新啟動伺服器。

另請參閱

RECONFIGURE (Transact-SQL)
SET QUERY_GOVERNOR_COST_LIMIT (Transact-SQL)
伺服器組態選項 (SQL Server)
sp_configure (Transact-SQL)