sp_configure (Transact-SQL)
適用於: SQL Server
Azure SQL 受控執行個體
Azure Synapse Analytics
Analytics Platform System (PDW)
顯示或變更目前伺服器的通用群組態設定。
注意
如需資料庫層級組態選項,請參閱 ALTER DATABASE SCOPED CONFIGURATION (Transact-SQL) 。 若要設定軟體 NUMA,請參閱 軟體 NUMA (SQL Server) 。
語法
-- Syntax for SQL Server
sp_configure [ [ @configname = ] 'option_name'
[ , [ @configvalue = ] 'value' ] ]
-- Syntax for Parallel Data Warehouse
-- List all of the configuration options
sp_configure
[;]
-- Configure Hadoop connectivity
sp_configure [ @configname= ] 'hadoop connectivity',
[ @configvalue = ] { 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 }
[;]
RECONFIGURE
[;]
引數
[ @configname = ] 'option_name'
這是組態選項的名稱。 option_name為 Varchar(35) ,預設值為 Null。 SQL Server Database Engine 可辨識任何屬於組態名稱一部分的唯一字串。 若未指定,就會傳回完整的選項清單。
如需可用組態選項及其設定的相關資訊,請參閱 伺服器組態選項 (SQL Server) 。
[ @configvalue = ] 'value'
這是新的組態設定。 value 為 int ,預設值為 Null。 最大值會隨著個別選項而不同。
若要查看每個選項的最大值,請參閱 sys.configurations 目錄檢視的 最大值 資料行。
傳回碼值
0 (成功) 或 1 (失敗)
結果集
以無參數執行時, sp_configure 傳回具有五個數據行的結果集,並以遞增順序依字母順序排序選項,如下表所示。
config_value 和 run_value 的值 不會自動相等。 使用 sp_configure 更新組態設定之後,系統管理員必須使用 RECONFIGURE 或 RECONFIGURE WITH OVERRIDE 來更新執行中的組態值。 如需詳細資訊,請參閱<備註>一節。
資料行名稱 | 資料類型 | 描述 |
---|---|---|
name | nvarchar(35) | 組態選項的名稱。 |
minimum | int | 組態選項的最小值。 |
maximum | int | 組態選項的最大值。 |
config_value | int | 組態選項使用 sp_configure 設定的值(sys.configurations.value 中的 值 )。 如需這些選項的詳細資訊,請參閱 伺服器組態選項 (SQL Server) 和 sys.configurations (Transact-SQL)。 |
run_value | int | 組態選項目前執行的值(sys.configurations.value_in_use 中的 值)。 如需詳細資訊,請參閱 sys.configurations (Transact-SQL) 。 |
備註
使用 sp_configure 來顯示或變更伺服器層級設定。 若要變更資料庫層級設定,請使用 ALTER DATABASE
。 若要變更只影響目前使用者會話的設定,請使用 SET
語句。
某些伺服器組態選項只能透過 ALTER SERVER CONFIGURATION (Transact-SQL) 取得。
SQL Server 巨量資料叢集
特定作業需要連接到 SQL Server 執行個體,包括設定伺服器 (執行個體層級) 或手動將資料庫新增至可用性群組。 sp_configure
、RESTORE DATABASE
等作業,或可用性群組所屬資料庫中的任何 DDL 命令,都需要連接到 SQL Server 執行個體。 根據預設,巨量資料叢集不含可連接到執行個體的端點。 您必須手動公開此端點。
如需指示,請參閱連接到主要複本上的資料庫。
更新執行中的組態值
當您為 選項指定新 值 時,結果集會在 [config_value ] 資料行中顯示 此值。 此值一開始與 [run_value ] 資料行中的 值不同,其中顯示目前正在執行的組態值。 若要更新run_value 資料行中執行中的 組態值,系統管理員必須執行 RECONFIGURE 或 RECONFIGURE WITH OVERRIDE。
RECONFIGURE 和 RECONFIGURE WITH OVERRIDE 都會使用每個組態選項。 不過,基本 RECONFIGURE 語句會拒絕任何超出合理範圍或可能導致選項之間衝突的選項值。 例如,如果 復原間隔 值大於 60 分鐘,或 affinity mask 值與 affinity I/O mask 值重迭, 則 RECONFIGURE 會產生錯誤。 相反地,RECONFIGURE WITH OVERRIDE 接受任何具有正確資料類型的選項值,並使用指定的值強制重新設定。
警告
不適當的選項值可能會對伺服器實例的組態產生負面影響。 請謹慎使用 RECONFIGURE WITH OVERRIDE。
RECONFIGURE 語句會動態更新一些選項;其他選項需要伺服器停止並重新啟動。 例如, 資料庫引擎中的最小伺服器記憶體 和 最大伺服器記憶體 選項會動態更新;因此,您可以在不重新開機伺服器的情況下變更它們。 相反地,重新設定填滿因數 選項的執行 值需要重新開機 Database Engine。
在組態選項上執行 RECONFIGURE 之後,您可以執行 sp_configure'option_name ' ,來查看選項是否已動態更新。 run_value 和 config_value 資料行中的 值應該符合動態更新的選項。 您也可以查看 sys.configurations 目錄檢視的 [is_dynamic ] 資料行,查看哪些選項是動態的 。
變更也會寫入 SQL Server 錯誤記錄檔。
注意
如果指定的 值 對選項而言太高, run_value 資料行會反映 Database Engine 預設為動態記憶體的事實,而不是使用不正確設定。
如需詳細資訊,請參閱 RECONFIGURE (Transact-SQL)。
進階選項
某些組態選項,例如 親和性遮罩 和 復原間隔 ,會指定為進階選項。 根據預設,這些選項不適用於檢視和變更。 若要讓它們可供使用,請將 [ 顯示進階選項 ] 組態選項設定為 1。
警告
當 [顯示進階選項 ] 選項 設定為 1 時,此設定會套用至所有使用者。 建議只暫時使用此狀態,並在完成需要檢視進階選項的工作時切換回 0。
如需組態選項及其設定的詳細資訊,請參閱 伺服器組態選項 (SQL Server) 。
權限
不含參數或只含第一個參數之 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';
以下是「組態選項'顯示進階選項」已從 0 變更為 1 的訊息。 執行 RECONFIGURE 語句來安裝。」
執行 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 (Transact-SQL)。
另請參閱
ALTER SERVER CONFIGURATION (Transact-SQL)
RECONFIGURE (Transact-SQL)
SET 陳述式 (Transact-SQL)
伺服器組態選項 (SQL Server)
ALTER DATABASE (Transact-SQL)
系統預存程序 (Transact-SQL)
sys.configurations (Transact-SQL)
ALTER DATABASE SCOPED CONFIGURATION (Transact-SQL)
軟體式 NUMA (SQL Server)
意見反應
提交並檢視相關的意見反應