伺服器組態:查詢管理員成本限制
適用於:SQL Server
本文說明如何使用 SQL Server Management Studio 或 Transact-SQL 在 SQL Server 中設定 query governor cost limit
伺服器組態選項。 成本限制選項會指定允許指定查詢執行的估計成本上限。 查詢成本是查詢優化器根據預估的執行需求所決定的抽象圖,例如 CPU 時間、記憶體和磁碟 I/O。 其代表在特定的硬體組態上,估計完成查詢所需的時間 (以秒為單位)。 這個抽象圖不等於完成執行中實例查詢所需的時間。 您應該將其視為相對量值。 此選項的預設值是 0
,它會將查詢管理員設定為 off。 將 值設定為 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
在物件總管中,請以滑鼠右鍵按一下伺服器,然後選取 [屬性]。
選取 [ 連線] 頁面。
選取或清除 [使用查詢管理員防止執行時間很長的查詢] 核取方塊。
如果您選取此核取方塊,請在下列方塊中輸入一個正值,這是查詢管理員用來禁止執行任何估計成本超過該值的查詢。
使用 Transact-SQL
連線至資料庫引擎。
在標準列上,選取 [新增查詢]。
複製下列範例並將其貼到查詢視窗中,然後選取 [執行]。 此範例示範如何使用 sp_configure ,將 選項的值
query governor cost limit
設定為 的估計查詢成本上限120
。USE master; GO EXECUTE sp_configure 'show advanced options', 1; GO RECONFIGURE; GO EXECUTE sp_configure 'query governor cost limit', 120; GO RECONFIGURE; GO EXECUTE sp_configure 'show advanced options', 0; GO RECONFIGURE; GO
如需詳細資訊,請參閱伺服器設定選項。
後續操作:設定查詢管理員成本限制選項之後
設定會立即生效,不需要重新啟動伺服器。