伺服器組態選項 (SQL Server)

適用於:SQL ServerAzure SQL 受控執行個體

您可以使用 SQL Server Management Studio 或 sp_configure 系統預存程序,透過組態選項來管理及最佳化 SQL Server 和 Azure SQL 受控執行個體資源。 最常使用的伺服器組態選項可以透過 SQL Server Management Studio 來使用;而所有組態選項都可以透過 sp_configure 來存取。 在設定這些選項前,請仔細考慮這些選項對系統所造成的效果。 如需詳細資訊,請參閱檢視或變更伺服器屬性 (SQL Server)

重要

只有有經驗的資料庫管理員或通過認證的 SQL Server 技術人員,才可變更進階選項。

設定選項的類別

如果您沒有看到組態變更的效果,則可能不會加以安裝。 請檢查組態選項的 run_value 是否已變更。

在設定選項並發出 RECONFIGURE (或在某些情況下,發出 RECONFIGURE WITH OVERRIDE) 陳述式之後,組態選項會立即生效。 重新設定特定選項會使得計畫快取的計畫無效,以致編譯新計畫。 如需詳細資訊,請參閱 DBCC FREEPROCCACHE

您可以使用 sys.configurations 目錄檢視來判斷 config_value (value 資料行) 和 run_value (value_in_use 資料行),以及組態選項是否需要資料庫引擎重新啟動 (is_dynamic 資料行)。

如果 SQL Server 需要重新啟動,選項一開始只會在 value 資料行中顯示變更的值。 重新啟動之後,新值將同時出現在 value 資料行及 value_in_use 資料行中。

有些選項需要重新啟動伺服器,新的組態值才能生效。 如果在重新啟動伺服器之前就設定新值並執行 sp_configure,新值會出現在 sys.configurations 目錄檢視的 value 資料行中,但不會出現在 value_in_use 資料行中。 當您重新啟動伺服器時,新的值就會出現在 value_in_use 資料行中。

注意

sp_configure 結果集中的 config_value 相當於 sys.configurations 目錄檢視的 value 資料行,而 run_value 相當於 value_in_use 資料行。

自我設定的選項是指 SQL Server 會根據系統需要而自行調整的選項。 在大多數情況下,都不需以手動方式來設定這些值。 範例包括 [最大背景工作執行緒] 選項與 [使用者連線] 選項。

下列查詢可用來判斷是否有任何已設定的值尚未安裝:

SELECT *
FROM sys.configurations
WHERE [value] <> [value_in_use];

如果值是您所做組態選項的變更,但 value_in_use 不同,則 RECONFIGURE 命令未執行或失敗,或是資料庫引擎必須重新啟動。

有兩個組態選項,其中 valuevalue_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_use8 (32 位元) 或 16 (64 位元)。

is_dynamic 資料行可用來判斷組態選項是否需要重新啟動。 is_dynamic 資料行中的 1 值表示,當 RECONFIGURE 命令執行時,新值會立即生效。 在某些情況下,資料庫引擎可能不會立即評估新的值,但會在其正常執行過程中執行。 is_dynamic 資料行中的 0 值表示在資料庫引擎重新啟動之前,變更的組態值將不會生效,即使已執行 RECONFIGURE 命令也一樣。

針對非動態的組態選項,無法判斷是否已執行 RECONFIGURE 命令以套用組態變更。 重新啟動 SQL Server 以套用組態變更之前,請執行 RECONFIGURE 命令,以確保下次重新啟動 SQL Server 時,所有組態變更都會生效。

設定選項

下表列出所有可用的組態選項、可能的設定範圍,以及支援產品 (SQL Server 或 Azure SQL 受控執行個體)。 組態選項會加上字母標示,如下所示:

  • A = 進階選項,只能由有經驗的資料庫管理員或通過認證的 SQL Server 專業人員變更,而且必須將 show advanced options 設定為 1

  • RR = 需要重新啟動資料庫引擎的選項。

  • RP = 需要重新啟動 PolyBase 引擎的選項。

  • SC = 自我設定的選項。

注意

SQL Server 2014 (12.x) 是最後一個可在 32 位作業系統上使用的版本。

組態選項 可能值 SQL Server Azure SQL 受控執行個體
access check cache bucket count (A) 最小值0
最大值16384
預設值:0
Yes Yes
access check cache quota (A) 最小值0
最大值2147483647
預設值:0
Yes Yes
Ad Hoc Distributed Queries (A) 最小值0
最大值1
預設值:0
Yes Yes
ADR cleaner retry timeout (A) 最小值0
最大值32767
預設值:120
SQL Server 2019 (15.x) CU 23 與更新版本 Yes
ADR Cleaner Thread Count (A) 最小值:1
最大值:100
預設值:1
SQL Server 2019 (15.x) CU 23 與更新版本 Yes
ADR Preallocation Factor 最小值0
最大值32767
預設值:4
SQL Server 2019 (15.x) CU 23 與更新版本 Yes
affinity I/O mask (A、RR) 最小值-2147483648
最大值2147483647
預設值:0
是 (僅限 64 位) No
affinity mask (A) 最小值-2147483648
最大值2147483647
預設值:0
是 (僅限 64 位) Yes
affinity I/O mask (A、RR) 最小值-2147483648
最大值2147483647
預設值:0
是 (僅限 64 位) Yes
affinity64 mask (A) 最小值-2147483648
最大值2147483647
預設值:0
是 (僅限 64 位) No
Agent XPs (A) 1 最小值0
最大值1
預設值:0
No
允許 polybase 匯出 最小值0
最大值1
預設值:0
僅限 SQL Server 2016 (13.x) 及更新版本 No
allow updates

警告: 已過時。 請勿使用。 在重新設定期間造成錯誤。
最小值0
最大值1
預設值:0
No
停用自動軟體 NUMA (A, RR) 最小值0
最大值1
預設值:0
Yes Yes
備份總和檢查碼預設 最小值0
最大值1
預設值:0
Yes Yes
備份壓縮演算法 最小值0
最大值1
預設值:0
SQL Server 2022 (16.x) 及更新版本 Yes
backup compression default 最小值0
最大值1 (在 SQL Server 2022 (16.x) 之前) 或 2 (SQL Server 2022 (16.x) 和更新版本)
預設值:0
Yes Yes
blocked process threshold (s) (A) 最小值5
最大值86400
預設值:0
Yes Yes
c2 audit mode (A、RR) 最小值0
最大值1
預設值:0
No
clr enabled 最小值0
最大值1
預設值:0
Yes Yes
CLR 嚴格安全性 (A) 最小值0
最大值1
預設值:0
1 SQL Server 2017 (14.x) 及更新版本。 Yes
資料行加密記憶體保護區類型 (RR) 最小值0
最大值2
預設值:0
No
common criteria compliance enabled (A、RR) 最小值0
最大值1
預設值:0
No
自主資料庫驗證 最小值0
最大值1
預設值:0
Yes Yes
平行處理原則的成本臨界值 (A) 最小值0
最大值32767
預設值:5
Yes Yes
cross db ownership chaining 最小值0
最大值1
預設值:0
Yes Yes
資料指標臨界值 (A) 最小值-1
最大值2147483647
預設值:-1
Yes Yes
每日進行 TB 級限制的資料處理 最小值:0
最大值:2147483647
預設值:2147483647
Yes Yes
每月進行 TB 級限制的資料處理 最小值:0
最大值:2147483647
預設值:2147483647
Yes Yes
每周進行 TB 級限制的資料處理 最小值:0
最大值:2147483647
預設值:2147483647
Yes Yes
Database Mail XPs (A) 最小值0
最大值1
預設值:0
Yes Yes
預設全文檢索語言 (A) 最小值0
最大值2147483647
預設值:1033
Yes Yes
default language 最小值0
最大值9999
預設值:0
Yes Yes
預設追蹤已啟用 (A) 最小值0
最大值1
預設值:1
Yes Yes
不允許來自觸發程序的結果 (A) 最小值0
最大值1
預設值:0
Yes Yes
EKM provider enabled (A) 最小值0
最大值1
預設值:0
Yes Yes
external scripts enabled (SC) 最小值0
最大值1
預設值:0
僅限 SQL Server 2016 (13.x) 及更新版本 Yes
檔案資料流存取層級 最小值0
最大值2
預設值:0
No
fill factor (%) (A, RR) 最小值0
最大值100
預設值:0
No
全文檢索耙梳頻寬 (最大) (A) 最小值0
最大值32767
預設值:100
Yes Yes
全文檢索耙梳頻寬 (最小) (A) 最小值0
最大值32767
預設值:0
Yes Yes
全文檢索通知頻寬 (最大) (A) 最小值0
最大值32767
預設值:100
Yes Yes
全文檢索通知頻寬 (最小) (A) 最小值0
最大值32767
預設值:0
Yes Yes
Hadoop 連線能力 (RP) 最小值0
最大值7
預設值:0
僅限 SQL Server 2016 (13.x) 及更新版本 Yes
硬體卸除組態 (A, RR) 最小值:0
最大值:255
預設值:0
SQL Server 2022 (16.x) 及更新版本 Yes
已啟用硬體卸載 (A, RR) 最小值0
最大值1
預設值:0
SQL Server 2022 (16.x) 及更新版本 Yes
硬體卸載模式 (A, RR) 最小值:0
最大值:255
預設值:0
SQL Server 2022 (16.x) 及更新版本 Yes
in-doubt xact resolution (A) 最小值0
最大值2
預設值:0
Yes Yes
index create memory (KB) (A, SC) 最小值704
最大值2147483647
預設值:0
Yes Yes
lightweight pooling (A、RR) 最小值0
最大值1
預設值:0
No
locks (A、RR、SC) 最小值5000
最大值2147483647
預設值:0
No
max degree of parallelism (A) 最小值0
最大值32767
預設值:0
No
max full-text crawl range (A) 最小值0
最大值256
預設值:4
Yes Yes
最大 RPC 要求參數 (KB) (A) 最小值0
最大值2147483647
預設值:0
SQL Server 2019 (15.x) CU 26 和更新的版本,以及 SQL Server 2022 (16.x) CU 13 和更新的版本 No
max server memory (MB) (A, SC) 最小值16
最大值2147483647
預設值:2147483647
Yes Yes
max text repl size (B) 最小值0
最大值2147483647
預設值:65536
Yes Yes
max worker threads (A) 2 最小值128
最大值32767
預設值:0

2048 是 64 位元 SQL Server 的最大建議值 (32 位元為 1024)。
Yes Yes
media retention (A) 最小值0
最大值365
預設值:0
No
min memory per query (KB) (A) 最小值512
最大值2147483647
預設值:1024
No
min server memory (MB) (A, SC) 最小值0
最大值2147483647
預設值:0
No
巢狀觸發程序 最小值0
最大值1
預設值:1
Yes Yes
network packet size (B) (A) 最小值512
最大值32767
預設值:4096
Yes Yes
Ole Automation Procedures (A) 最小值0
最大值1
預設值:0
Yes Yes
open objects (A, RR)

警告: 已過時。 請勿使用。
最小值0
最大值2147483647
預設值:0
No
optimize for ad hoc workloads (A) 最小值0
最大值1
預設值:0
Yes Yes
PH timeout (A) 最小值1
最大值3600
預設值:60
Yes Yes
polybase enabled 最小值0
最大值1
預設值:0
SQL Server 2019 (15.x) CU 23 與更新版本 No
Polybase 網路加密 最小值0
最大值1
預設值:1
Yes Yes
precompute rank (A) 最小值0
最大值1
預設值:0
Yes Yes
priority boost (A、RR) 最小值0
最大值1
預設值:0
No
query governor cost limit (A) 最小值0
最大值2147483647
預設值:0
Yes Yes
query wait (s) (A) 最小值-1
最大值2147483647
預設值:-1
Yes Yes
復原間隔 (分鐘) (A、SC) 最小值0
最大值32767
預設值:0
Yes Yes
remote access (RR) 最小值0
最大值1
預設值:1
No
remote admin connections 最小值0
最大值1
預設值:0
Yes Yes
遠端資料封存 最小值0
最大值1
預設值:0
No
remote login timeout (s) 最小值0
最大值2147483647
預設值:10
Yes Yes
remote proc trans 最小值0
最大值1
預設值:0
Yes Yes
remote query timeout (s) 最小值0
最大值2147483647
預設值:600
Yes Yes
Replication XPs (A) 最小值0
最大值1
預設值:0
Yes Yes
scan for startup procs (A、RR) 最小值0
最大值1
預設值:0
No
server trigger recursion 最小值0
最大值1
預設值:1
Yes Yes
set working set size (A, RR)

警告: 已過時。 請勿使用。
最小值0
最大值1
預設值:0
No
show advanced options 最小值0
最大值1
預設值:0
Yes Yes
SMO and DMO XPs (A) 最小值0
最大值1
預設值:1
Yes Yes
隱藏復原模式錯誤 (A) 最小值0
最大值1
預設值:0
No Yes
經記憶體最佳化的 TempDB 中繼資料 (A, RR) 最小值0
最大值1
預設值:0
SQL Server 2019 (15.x) CU 23 與更新版本 No
transform noise words (A) 最小值0
最大值1
預設值:0
Yes Yes
two digit year cutoff (A) 最小值1753
最大值9999
預設值:2049
Yes Yes
user connections (A、RR、SC) 最小值0
最大值32767
預設值:0
No
user options 最小值0
最大值32767
預設值:0
Yes Yes
SQL Server 的高部分版本 (A) 最小值:-2147483648
最大值:2147483647
預設值:0
Yes Yes
SQL Server 的低部分版本 (A) 最小值:-2147483648
最大值:2147483647
預設值:0
Yes Yes
xp_cmdshell (A) 最小值0
最大值1
預設值:0
Yes Yes

1 啟動 SQL Server Agent 時,變更為 1。 如果在安裝期間將 SQL Server Agent 設定為自動啟動,預設值就是 0

2 零 (0) 會根據邏輯處理器數目自動設定最大背景工作線程數目。 如需詳細資訊,請參閱自動設定背景工作執行緒最大號碼