sp_configure (Transact-SQL)
適用対象: SQL Server
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
現在のサーバーのグローバル構成設定を表示または変更します。
Note
データベース レベルの構成オプションについては、「 ALTER DATABASE SCOPED CONFIGURATIONを参照してください。 ソフト NUMA を構成するには、「 Soft-NUMA (SQL Server)を参照してください。
構文
SQL Server の構文。
sp_configure
[ [ @configname = ] 'configname' ]
[ , [ @configvalue = ] configvalue ]
[ ; ]
Parallel Data Warehouse の構文。
sp_configure
[ ; ]
引数
[ @configname = ] 'configname'
構成オプションの名前。 @configname は varchar(35) で、既定値は NULL
です。 SQL Server データベース エンジンは、構成名の一部である一意の文字列を認識します。 指定しない場合、オプションの完全な一覧が返されます。
使用可能な構成オプションとその設定については、「 Server 構成オプション (SQL Server)」を参照してください。
[ @configvalue = ] configvalue
新しい構成設定。 @configvalue は int で、既定値は NULL
です。
最大値はオプションごとに異なります。 各オプションの最大値を確認するには、sys.configurations
カタログ ビューのmaximum
列を参照してください。
リターン コードの値
0
(成功) または 1
(失敗)。
結果セット
パラメーターなしで実行すると、 sp_configure
は 5 列の結果セットを返し、次の表に示すように、オプションをアルファベット順に昇順に並べ替えます。
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 の値)。これらのオプションの詳細については、「 Server 構成オプション (SQL Server) と 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
とRECONFIGURE WITH OVERRIDE
の両方が、すべての構成オプションで動作します。 ただし、基本的な RECONFIGURE
ステートメントでは、妥当な範囲外のオプション値や、オプション間の競合を引き起こす可能性のあるオプション値は拒否されます。 たとえば、RECONFIGURE
回復間隔値が 60 分を超える場合、または affinity mask 値が affinity I/O mask 値と重複する場合、エラーが生成されます。 RECONFIGURE WITH OVERRIDE
これに対し、正しいデータ型のオプション値を受け取り、指定した値で強制的に再構成します。
注意事項
オプション値が適切でない場合、サーバー インスタンスの構成に悪影響を及ぼす可能性があります。 RECONFIGURE WITH OVERRIDE
は慎重に使用してください。
RECONFIGURE
ステートメントでは、一部のオプションが動的に更新されます。その他のオプションでは、サーバーの停止と再起動が必要です。 たとえば、min サーバー メモリおよび max サーバー メモリサーバー メモリ オプションは、データベース エンジンで動的に更新されます。 そのため、サーバーを再起動せずに変更できます。 これに対し、フィル係数 オプションの実行値を再構成するには、データベース エンジンを再起動する必要があります。
構成オプションで RECONFIGURE
を実行した後、 sp_configure '<configname>'
を実行することで、オプションが動的に更新されたかどうかを確認できます。 run_value
列とconfig_value
列の値は、動的に更新されたオプションと一致する必要があります。 また、sys.configurations
カタログ ビューのis_dynamic
列を調べることで、動的なオプションを確認することもできます。
変更は、SQL Server エラー ログにも書き込まれます。
指定した@configvalueがオプションに対して高すぎる場合、run_value
列には、無効な設定を使用するのではなく、データベース エンジンが既定で動的メモリに設定されているという事実が反映されます。
詳細については、 RECONFIGURE を参照してください。
詳細オプション
affinity maskや回復間隔などの一部の構成オプションは、詳細オプションとして指定されます。 既定では、これらのオプションは表示および変更できません。 それらを使用できるようにするには、 show の詳細オプション 構成オプションを 1
に設定します。
注意事項
[詳細オプションの表示] オプションが 1
に設定されている場合、この設定はすべてのユーザーに適用されます。 この状態を一時的にのみ使用し、詳細オプションの表示が必要なタスクが完了したら、 0
に戻することをお勧めします。
構成オプションとその設定の詳細については、「 Server 構成オプション (SQL Server)」を参照してください。
アクセス許可
パラメーターなしで、または最初のパラメーターだけを指定して sp_configure
を実行する権限は、既定ですべてのユーザーに付与されます。 両方のパラメーターで sp_configure
を実行して構成オプションを変更したり、 RECONFIGURE
ステートメントを実行したりするには、 ALTER SETTINGS
サーバー レベルのアクセス許可が付与されている必要があります。 ALTER SETTINGS
権限は、sysadmin 固定サーバー ロールと serveradmin 固定サーバー ロールでは暗黙のうちに付与されています。
例
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. 1 つの構成名の構成設定を一覧表示する
EXEC sp_configure @configname = 'hadoop connectivity';
E. Hadoop 接続を設定する
Hadoop 接続を設定するには、 sp_configure
の実行に加えて、さらにいくつかの手順が必要です。 完全な手順については、「外部データ ソースの作成を参照してください。
sp_configure [ @configname = ] 'hadoop connectivity',
[ @configvalue = ] { 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 }
[ ; ]
RECONFIGURE;
[ ; ]