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)を参照してください。

Transact-SQL 構文表記規則

構文

SQL Server の構文。

sp_configure
    [ [ @configname = ] 'configname' ]
    [ , [ @configvalue = ] configvalue ]
[ ; ]

Analytics Platform System (PDW) の構文。

sp_configure
[ ; ]

引数

[ @configname = ] 'configname'

構成オプションの名前。 @confignamevarchar(35) で、既定値は NULL です。 SQL Server データベース エンジンは、構成名の一部である一意の文字列を認識します。 指定しない場合、オプションの完全な一覧が返されます。

使用可能な構成オプションとその設定については、「 Server 構成オプションを参照してください。

[ @configvalue = ] configvalue

新しい構成設定。 @configvalueint で、既定値は NULL です。

最大値はオプションごとに異なります。 各オプションの最大値を確認するには、sys.configurations カタログ ビューのmaximum列を参照してください。

リターン コードの値

0 (成功) または 1 (失敗)。

結果セット

パラメーターなしで実行すると、 sp_configure は 5 列の結果セットを返し、次の表に示すように、オプションをアルファベット順に昇順に並べ替えます。

config_valuerun_valueの値は自動的には同じではありません。 sp_configureを使用して構成設定を更新した後、RECONFIGUREまたはRECONFIGURE WITH OVERRIDEを使用して、実行中の構成値も更新する必要があります。 詳細については、「解説」を参照してください。

列名 データ型 説明
name nvarchar(35) 構成オプションの名前。
minimum int 構成オプションの最小値。
maximum int 構成オプションの最大値。
config_value int sp_configureを使用して構成オプションが設定された値 (sys.configurations.valueの値)。

これらのオプションの詳細については、「 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_configureRESTORE DATABASE、または DDL コマンドのような操作は、SQL Server インスタンスへの接続が必要です。 既定では、ビッグ データ クラスターには、インスタンスへの接続を有効にするエンドポイントが含まれません。 このエンドポイントは、手動で公開する必要があります。

手順については、プライマリ レプリカのデータベースへの接続に関するページを参照してください。

実行中の構成値を更新する

@confignameに新しい@configvalueを指定すると、結果セットはこの値を config_value 列に表示します。 この値は、最初は、現在実行中の構成値を示す run_value 列の値とは異なります。 run_value列の実行中の構成値を更新するには、システム管理者がRECONFIGUREまたはRECONFIGURE WITH OVERRIDEを実行する必要があります。

RECONFIGURERECONFIGURE 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 構成オプションを参照してください。

アクセス許可

パラメーターなしで、または最初のパラメーターだけを指定して sp_configure を実行する権限は、既定ですべてのユーザーに付与されます。 両方のパラメーターで sp_configure を実行して構成オプションを変更したり、 RECONFIGURE ステートメントを実行したりするには、 ALTER SETTINGS サーバー レベルのアクセス許可が付与されている必要があります。 ALTER SETTINGS 権限は、sysadmin 固定サーバー ロールと serveradmin 固定サーバー ロールでは暗黙のうちに付与されています。

A. 詳細な構成オプションを一覧表示する

次の例は、すべての構成オプションを設定および一覧表示する方法を示しています。 最初に show advanced options1に設定することで、詳細な構成オプションを表示できます。 このオプションが変更された後は、パラメーターなしで 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_valuerun_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;
[ ; ]