sp_configure (Transact-SQL)

適用於: SQL Server Azure SQL 受控執行個體 Not supported. Azure Synapse Analytics Analytics Platform System (PDW)

顯示或變更目前伺服器的全域組態設定。

注意

如需資料庫層級組態選項,請參閱 ALTER DATABASE SCOPED CONFIGURATION (Transact-SQL) 。 若要設定軟體 NUMA,請參閱 軟體 NUMA (SQL Server)

Transact-SQL 語法慣例

語法

-- 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 資料庫引擎 可辨識任何屬於組態名稱一部分的唯一字串。 若未指定,就會傳回完整的選項清單。

如您可用群組態選項及其設定的相關資訊,請參閱 伺服器組態選項 (SQL Server)

[ @configvalue = ] 'value' 這是新的組態設定。 valueint,預設值為 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_configureRESTORE 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 語句會動態更新一些選項;其他選項需要伺服器停止並重新啟動。 例如,最小伺服器記憶體最大伺服器記憶體伺服器記憶體選項會在 資料庫引擎 中動態更新;因此,您可以變更它們而不重新啟動伺服器。 相反地,重新設定填滿因數選項的執行值需要重新啟動 資料庫引擎。

在組態選項上執行 RECONFIGURE 之後,您可以執行 sp_configure『option_name,來查看選項是否已動態更新。 run_value和config_value數據行中的值應該符合動態更新的選項。 您也可以查看 sys.configurations 目錄檢視的 [is_dynamic] 數據行,查看哪些選項是動態的

變更也會寫入 SQL Server 錯誤記錄檔。

注意

如果指定的對選項而言太高,run_value數據行會反映 資料庫引擎 預設為動態記憶體的事實,而不是使用無效的設定。

如需詳細資訊,請參閱 RECONFIGURE (Transact-SQL)。

進階選項

某些組態選項,例如 親和性遮罩復原間隔,會指定為進階選項。 根據預設,這些選項不適用於檢視和變更。 若要讓它們可供使用,請將 [ 顯示進階選項 ] 組態選項設定為 1。

警告

當 [顯示進階選項] 選項設定為 1 時,此設定會套用至所有使用者。 建議只暫時使用此狀態,並在完成需要檢視進階選項的工作時切換回 0。

如需組態選項及其設定的詳細資訊,請參閱 伺服器組態選項 (SQL Server)

權限

不含參數或只含第一個參數之 sp_configure 上的執行權限預設會授與所有使用者。 若要使用這兩個參數執行 sp_configure 以變更組態選項或執行 RECONFIGURE 語句,您必須獲得 ALTER SETTINGS 伺服器層級許可權。 系統管理員 (sysadmin)serveradmin 固定伺服器角色會隱含 ALTER SETTINGS 權限。

範例

A. 列出進階組態選項

下列範例示範如何設定及列出所有組態選項。 進階組態選項會先將 設定 show advanced options1來顯示。 在此選項變更之後,執行 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_valuerun_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)