sp_configure (Transact-SQL)
現在のサーバーのグローバル構成設定を表示または変更します。
適用対象: SQL Server (SQL Server 2008 から現在のバージョンまで) |
構文
sp_configure [ [ @configname = ] 'option_name'
[ , [ @configvalue = ] 'value' ] ]
引数
[ @configname= ] 'option_name'
構成オプションの名前を指定します。 option_name のデータ型は varchar(35) で、既定値は NULL です。 SQL Server データベース エンジンは、構成名に含まれる一意の文字列を認識します。 指定しない場合、オプションの完全な一覧が返されます。使用可能な構成オプションとその設定の詳細については、「サーバー構成オプション (SQL Server)」を参照してください。
[ @configvalue= ] 'value'
新しい構成設定を指定します。 value のデータ型は 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 の値)。 これらのオプションの詳細については、「サーバー構成オプション (SQL Server)」および「sys.configurations (Transact-SQL)」を参照してください。 |
run_value |
int |
構成オプションの現在実行中の値 (sys.configurations.value_in_use の値)。 詳細については、「sys.configurations (Transact-SQL)」を参照してください。 |
説明
サーバーレベルの設定を表示または変更するには、sp_configure を使用します。 データベースレベルの設定を変更するには、ALTER DATABASE を使用します。 現在のユーザー セッションのみに影響する設定を変更するには、SET ステートメントを使用します。
実行中の構成値の更新
option に新しい value を指定すると、結果セットの config_value 列にこの値が表示されます。 この値は、当初は run_value 列の値 (現在実行中の構成値) とは違っています。 run_value 列の実行中の構成値を更新するには、システム管理者が RECONFIGURE と RECONFIGURE WITH OVERRIDE のどちらかを実行する必要があります。
RECONFIGURE と RECONFIGURE WITH OVERRIDE は、どちらもすべての構成オプションと共に使用できます。 ただし、基本的な RECONFIGURE ステートメントでは、適切な範囲にないオプション値やオプション間の競合を招く可能性のあるオプション値は使用できません。 たとえば、recovery interval 値が 60 分を超えている場合や、affinity mask 値が affinity I/O mask 値と重なっている場合には、RECONFIGURE によりエラーが生成されます。 これに対し、RECONFIGURE WITH OVERRIDE では、データ型が適切であればすべてのオプション値を使用でき、指定した値で再構成が行われます。
注意
オプション値が適切でない場合、サーバー インスタンスの構成に悪影響を及ぼす可能性があります。RECONFIGURE WITH OVERRIDE を使用する際は注意が必要です。
一部のオプションは、RECONFIGURE ステートメントにより動的に更新されます。その他のオプションを使用する場合は、サーバーの停止と再起動が必要になります。 たとえば、min server memory および max server memory サーバー メモリ オプションはデータベース エンジンで動的に更新されるため、サーバーを再起動しなくても変更可能です。 それに対し、fill factor オプションの実行中の値を再構成するには、データベース エンジンを再起動する必要があります。
構成オプションで RECONFIGURE を実行したら、sp_configure 'option_name' を実行して、オプションが動的に更新されたかどうかを確認できます。 run_value 列と config_value 列の値は、動的に更新されるオプションの場合は一致します。 sys.configurations カタログ ビューの is_dynamic 列を参照して、動的なオプションを確認することもできます。
注意
指定した value がオプションの許容範囲を超えている場合、run_value 列には、データベース エンジンが無効な設定の代わりに使用した既定の動的メモリを反映した値が示されます。
詳細については、「RECONFIGURE (Transact-SQL)」を参照してください。
詳細設定オプション
affinity mask や recovery interval など、一部の構成オプションは、詳細設定オプションとして指定されています。 既定では、これらのオプションを表示や変更に使用することはできません。 これらを使用できるようにするには、Show Advanced Options 構成オプションを 1 に設定します。
構成オプションとその設定の詳細については、「サーバー構成オプション (SQL Server)」を参照してください。
権限
パラメーターなしで、または最初のパラメーターだけを指定して sp_configure を実行する権限は、既定ですべてのユーザーに付与されます。 両方のパラメーターを指定して sp_configure を実行し、構成オプションを変更したり、RECONFIGURE ステートメントを実行したりするには、サーバーレベルの ALTER SETTINGS 権限が必要です。 ALTER SETTINGS 権限は、sysadmin 固定サーバー ロールと serveradmin 固定サーバー ロールでは暗黙のうちに付与されています。
使用例
A. 詳細構成オプションを一覧表示する
次の例では、すべての構成オプションを設定および一覧表示する方法を示します。 詳細構成オプションを表示するには、まず show advanced option を 1 に設定します。 このオプションを変更した後で、パラメーターを指定せずに sp_configure を実行すると、すべての構成オプションが表示されます。
USE master;
GO
EXEC sp_configure 'show advanced option', '1';
"構成オプション 'show advanced options' が 0 から 1 に変更されました。 RECONFIGURE ステートメントを実行してインストールしてください。" というメッセージが表示されます。
RECONFIGURE を実行し、すべての構成オプションを表示します。
RECONFIGURE;
EXEC sp_configure;
B. 構成オプションを変更する
次の例では、システムの recovery interval を 3 分に設定します。
USE master;
GO
EXEC sp_configure 'recovery interval', '3';
RECONFIGURE WITH OVERRIDE;
関連項目
参照
システム ストアド プロシージャ (Transact-SQL)
sys.configurations (Transact-SQL)