sp_configure (Transact-SQL)
適用於:SQL Server Azure SQL 受控執行個體 Azure Synapse Analytics Analytics Platform System (PDW)
顯示或變更目前伺服器的全域組態設定。
注意
如需資料庫層級組態選項,請參閱 ALTER DATABASE SCOPED CONFIGURATION。 若要設定軟體 NUMA,請參閱 軟體 NUMA (SQL Server) 。
Syntax
SQL Server 的語法。
sp_configure
[ [ @configname = ] 'configname' ]
[ , [ @configvalue = ] configvalue ]
[ ; ]
Analytics Platform System (PDW) 的語法。
sp_configure
[ ; ]
引數
[ @configname = ] 'configname'
組態選項的名稱。 @configname為 varchar(35),預設值為 NULL
。 SQL Server 資料庫引擎 可辨識任何屬於組態名稱一部分的唯一字串。 若未指定,就會傳回完整的選項清單。
如需可用組態選項及其設定的相關信息,請參閱 伺服器組態選項。
[ @configvalue = ] configvalue
新的組態設定。 @configvalue為 int,預設值為 NULL
。
最大值會隨著個別選項而不同。 若要查看每個選項的最大值,請參閱 maximum
目錄檢視的數據 sys.configurations
行。
傳回碼值
0
(成功) 或 1
(失敗)。
結果集
以無參數執行時,傳回具有五個數據行的結果集, sp_configure
並以遞增順序依字母順序排序選項,如下表所示。
和 run_value
的值config_value
不會自動相等。 使用 sp_configure
更新組態設定之後,您也必須使用 RECONFIGURE
或 RECONFIGURE WITH OVERRIDE
更新執行中的組態值。 如需詳細資訊,請參閱備註一節。
資料行名稱 | 資料類型 | 描述 |
---|---|---|
name |
nvarchar(35) | 組態選項的名稱。 |
minimum |
int | 組態選項的最小值。 |
maximum |
int | 組態選項的最大值。 |
config_value |
int | 組態選項使用 sp_configure 設定的值(在 中 sys.configurations.value 為 值)。如需這些選項的詳細資訊,請參閱 伺服器組態選項 和 sys.configurations。 |
run_value |
int | 組態選項目前執行中的值(在 中 sys.configurations.value_in_use 為 值)。如需詳細資訊,請參閱 sys.configurations。 |
備註
用來 sp_configure
顯示或變更伺服器層級設定。 若要變更資料庫層級設定,請使用 ALTER DATABASE
。 若要變更只影響目前用戶會話的設定,請使用 SET
語句。
某些伺服器組態選項只能透過 ALTER SERVER CONFIGURATION 取得。
SQL Server 巨量資料叢集
某些作業,包括設定伺服器(實例層級)設定,或手動將資料庫新增至可用性群組,都需要連線到 SQL Server 實例。 sp_configure
、RESTORE DATABASE
等作業,或可用性群組所屬資料庫中的任何 DDL 命令,都需要連接到 SQL Server 執行個體。 根據預設,巨量資料叢集不含可連接到執行個體的端點。 您必須手動公開此端點。
如需指示,請參閱連接到主要複本上的資料庫。
更新執行中的組態值
當您為@configname指定新的@configvalue時,結果集會在config_value
數據行中顯示此值。 這個值一開始與數據行中的 run_value
值不同,這會顯示目前正在執行的組態值。 若要更新資料列執行中的 run_value
群組態值,系統管理員必須執行 RECONFIGURE
或 RECONFIGURE WITH OVERRIDE
。
和 RECONFIGURE WITH OVERRIDE
都RECONFIGURE
使用每個組態選項。 不過,基本 RECONFIGURE
語句會拒絕任何超出合理範圍或可能導致選項之間衝突的選項值。 例如,RECONFIGURE
如果復原間隔值大於 60 分鐘,或 affinity mask 值與 affinity I/O mask 值重疊,則會產生錯誤。 RECONFIGURE WITH OVERRIDE
相反地,接受任何具有正確數據類型的選項值,並使用指定的值強制重新設定。
警告
不適當的選項值可能會對伺服器實例的組態產生負面影響。 謹慎使用 RECONFIGURE WITH OVERRIDE
。
語句會 RECONFIGURE
動態更新某些選項;其他選項需要伺服器停止並重新啟動。 例如,最小伺服器記憶體和最大伺服器記憶體伺服器記憶體選項會在 資料庫引擎 中動態更新。 因此,您可以變更它們,而不需重新啟動伺服器。 相反地,重新設定填滿因數選項的執行值需要重新啟動 資料庫引擎。
在組態選項上執行 RECONFIGURE
之後,您可以執行 sp_configure '<configname>'
來查看選項是否以動態方式更新。 和 config_value
數據行中的run_value
值應該符合動態更新的選項。 您也可以查看目錄檢視的數據行,查看 is_dynamic
哪些選項是動態的 sys.configurations
。
變更也會寫入 SQL Server 錯誤記錄檔。
如果指定的@configvalue對於選項而言太高,則run_value
數據行會反映 資料庫引擎 預設為動態記憶體的事實,而不是使用無效的設定。
如需詳細資訊,請參閱 RECONFIGURE。
進階選項
某些組態選項,例如 親和性遮罩 和 復原間隔,會指定為進階選項。 根據預設,這些選項不適用於檢視和變更。 若要讓它們可供使用,請將 [顯示進階選項組態] 選項設定為 1
。
警告
當選項 顯示進階選項 設定為 1
時,此設定會套用至所有使用者。 建議只暫時使用此狀態,並在完成需要檢視進階選項的工作時切換回 。0
如需組態選項及其設定的詳細資訊,請參閱 伺服器組態選項。
權限
不含參數或只含第一個參數之 sp_configure
上的執行權限預設會授與所有使用者。 若要使用這兩個參數執行 sp_configure
,以變更組態選項或執行 RECONFIGURE
語句,您必須獲得 ALTER SETTINGS
伺服器層級許可權。 sysadmin 和 serveradmin 固定伺服器角色隱含地持有 ALTER SETTINGS
權限。
範例
A. 列出進階組態選項
下列範例示範如何設定及列出所有組態選項。 您可以先將 設定 show advanced options
為 1
來顯示進階組態選項。 在此選項變更之後,您可以藉由不使用參數執行 sp_configure
來顯示所有組態選項。
USE master;
GO
EXEC sp_configure 'show advanced options', '1';
結果集如下所示。
Configuration option 'show advanced options' changed from 0 to 1. Run the `RECONFIGURE` statement to install.
執行 RECONFIGURE
並顯示所有組態選項:
RECONFIGURE;
EXEC sp_configure;
B. 變更組態選項
下列範例會將系統 recovery interval
組態選項設定為 3
分鐘。
USE master;
GO
EXEC sp_configure 'recovery interval', '3';
RECONFIGURE WITH OVERRIDE;
範例:Analytics Platform System (PDW)
C. 列出所有可用的組態設定
下列範例示範如何列出所有組態選項。
EXEC sp_configure;
結果會傳回選項名稱,後面接著選項的最小值和最大值。 config_value
是 Azure Synapse Analytics 在重新設定完成時所使用的值。 run_value
是目前正在使用的值。 和 config_value
run_value
通常相同,除非值在變更的過程中。
D. 列出某一個組態名稱的組態設定
EXEC sp_configure @configname = 'hadoop connectivity';
E. 設定 Hadoop 連接
除了執行 sp_configure
之外,設定Hadoop線上還需要執行幾個步驟。 如需完整程式,請參閱 CREATE EXTERNAL DATA SOURCE。
sp_configure [ @configname = ] 'hadoop connectivity',
[ @configvalue = ] { 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 }
[ ; ]
RECONFIGURE;
[ ; ]