sys.configurations (Transact-SQL)
適用於:SQL Server
包含系統中每個全伺服器組態選項值的數據列。
資料行名稱 | 資料類型 | 描述 |
---|---|---|
configuration_id | int | 組態值的唯一標識碼。 |
name | nvarchar(35) | 組態選項的名稱。 |
value | sql_variant | 已設定此選項的值。 |
minimum | sql_variant | 組態選項的最小值。 |
maximum | sql_variant | 組態選項的最大值。 |
value_in_use | sql_variant | 執行值目前對這個選項有效。 |
description | nvarchar(255) | 組態選項的描述。 |
is_dynamic | bit | 1 = 執行 RECONFIGURE 語句時生效的變數。 |
is_advanced | bit | 1 = 只有當已設定 show advancedoption 時,才會顯示變數。 |
備註
如您所有伺服器群組態選項的清單,請參閱 伺服器群組態選項 (SQL Server) 。
注意
如需資料庫層級組態選項,請參閱 ALTER DATABASE SCOPED CONFIGURATION (Transact-SQL) 。 若要設定軟體 NUMA,請參閱 軟體 NUMA (SQL Server) 。
sys.configurations 目錄檢視可用來判斷config_value(值數據行)、run_value(value_in_use數據行),以及組態選項是否為動態的(不需要重新啟動伺服器引擎或is_dynamic數據行)。
注意
sp_configure結果集中的config_value相當於 sys.configurations.value 數據行。 run_value相當於sys.configurations.value_in_use數據行。
下列查詢可用來判斷是否已安裝任何已設定的值:
select * from sys.configurations where value != value_in_use
如果值等於您所做的組態選項變更,但 value_in_use 不同,則 RECONFIGURE 命令未執行或失敗,或伺服器引擎必須重新啟動。
有組態選項,其中值和value_in_use可能不相同,這是預期的行為。 例如:
“max server memory (MB)” - 預設值 0 會顯示為 value_in_use = 2147483647
“min server memory (MB)” - 預設值 0 可能會顯示為 value_in_use = 8 (32 位) 或 16 (64 位)。 在某些情況下, value_in_use 為 0。 在此情況下,“true” value_in_use 是 8 (32 位) 或 16 (64 位)。
is_dynamic數據行可用來判斷組態選項是否需要重新啟動。 is_dynamic=1 表示當 RECONFIGURE(T-SQL) 命令執行時,新值會「立即」生效(在某些情況下,伺服器引擎可能不會立即評估新值,但在正常執行過程中會執行這個值)。 is_dynamic=0 表示即使執行 RECONFIGURE(T-SQL) 命令,變更的組態值才會生效。
對於不是動態的組態選項,無法判斷是否已經執行 RECONFIGURE(T-SQL) 命令來執行安裝組態變更的第一個步驟。 重新啟動 SQL Server 以安裝組態變更之前,請執行 RECONFIGURE(T-SQL) 命令,以確保所有組態變更在 SQL Server 重新啟動後都會生效。
權限
需要 public 角色的成員資格。