サーバー構成オプション (SQL Server)

適用対象:SQL Server

SQL Server リソースの管理および最適化を行うには、SQL Server Management Studio または sp_configure システム ストアド プロシージャを使って、構成オプションを設定します。 最も一般的に使われるサーバー構成オプションは SQL Server Management Studio から使用できます。また、sp_configure を使うとすべての構成オプションにアクセスできます。 システムへの影響を慎重に検討したうえで、これらのオプションを設定してください。 詳細については、「サーバー プロパティの表示または変更 (SQL Server)」を参照してください。

重要

詳細設定オプションは、熟練したデータベース管理者または認定された SQL Server 技術者だけが変更するようにしてください。

構成オプションのカテゴリ

構成を変更しても効果が見られない場合は、インストールされていない可能性があります。 構成オプションの run_value が変更されたことを確認してください。

構成オプションは、オプションを設定し、RECONFIGURE ステートメントまたは場合によっては RECONFIGURE WITH OVERRIDEステートメントを実行した直後に有効になります。 特定のオプションを再設定すると、プラン キャッシュのプランが無効になり、新しいプランがコンパイルされます。 詳細については、「DBCC FREEPROCCACHE (Transact-SQL)」を参照してください。

sys.configurationsカタログ ビューを使って、config_value (value 列) と run_value (value_in_use 列)、および構成オプションでデータベース エンジンの再起動が必要かどうか (is_dynamic 列) を確認できます。

SQL Server の再起動が必要なオプションでは、最初、value 列にだけ変更された値が表示されます。 再起動後には、value 列と value_in_use 列の両方に新しい値が表示されます。

オプションの中には、新しい構成を有効にするために、サーバーを再起動する必要があるものもあります。 新しい値を設定し、サーバーを再起動する前に sp_configure を実行した場合、sys.configurations カタログ ビューの value 列には新しい値が表示されますが、value_in_use 列には表示されません。 サーバーを再起動すると、value_in_use 列に新しい値が表示されます。

注意

sp_configure の結果セットの config_valuesys.configurations カタログ ビューの value 列と同等であり、run_valuevalue_in_use 列と同等です。

自己構成オプションは、システムのニーズに合わせて SQL Server が調整するオプションです。 このため、ほとんどの場合、値を手動で変更する必要はありません。 たとえば、ワーカー スレッドの最大数オプションやユーザー接続数オプションなどです。

次のクエリを使って、構成済みの値がインストールされていないかどうかを確認できます。

SELECT *
FROM sys.configurations
WHERE [value] <> [value_in_use];

値が行った構成オプションの変更になっていても、value_in_use が同じでない場合は、RECONFIGURE コマンドが実行されなかったか、失敗したか、データベース エンジンを再起動する必要があります。

valuevalue_in_use が同じにならない可能性がある 2 つの構成オプションがあり、これは想定される動作です。

  • 最大サーバー メモリ (MB) - 既定で構成される値 0 は、value_in_use 列には 2147483647 と表示されます。

  • 最小サーバー メモリ (MB) - 既定で構成される値 0 は、value_in_use 列には、32 ビット システムでは 8、64 ビット システムでは 16 と表示される場合があります。 value_in_use0 と表示されている場合、実際の value_in_use8 (32 ビット) または 16 (64 ビット) である場合があります。

is_dynamic 列を使って、構成オプションに再起動が必要かどうかを判断できます。 is_dynamic 列の値 1 は、RECONFIGURE コマンドを実行すると、新しい値がすぐに有効になることを意味します。 場合によっては、データベース エンジンが新しい値をすぐに評価しないことがありますが、通常の実行の過程で行われます。 is_dynamic 列の値 0 は、変更された構成値は、RECONFIGURE コマンドが実行された場合であっても、データベース エンジンが再起動されるまで有効にならないことを意味します。

動的ではない構成オプションの場合、構成変更を適用する RECONFIGURE コマンドが実行されたかどうかを確認する方法はありません。 SQL Server を再起動して構成変更を適用する前に、RECONFIGURE コマンドを実行して、次の SQL Server の再起動時にすべての構成変更が有効になるようにします。

構成オプション

次の表は、使用可能なすべての構成オプション、設定可能範囲、および既定値を示しています。 構成オプションには文字コードを付けています。その内容を次に示します。

  • A = 詳細設定オプション。このオプションの変更は熟練したデータベース管理者または認定された SQL Server プロフェッショナルだけが行う必要があり、show advanced options1 に設定する必要があります。

  • RR = データベース エンジンの再起動が必要なオプション。

  • RP = PolyBase エンジンの再起動が必要なオプション。

  • SC = 自己構成オプション。

構成オプション 最小値 最大値 Default
access check cache bucket count (A) 0 16384 0
access check cache quota (A) 0 2147483647 0
ad hoc distributed queries (A) 0 1 0
ADR cleaner retry timeout (min)

適用対象: SQL Server 2019 (15.x) 以降のバージョン。
0 32767 120
ADR Preallocation Factor

適用対象: SQL Server 2019 (15.x) 以降のバージョン。
0 32767 4
affinity I/O mask (A、RR) -2147483648 2147483647 0
affinity mask (A) -2147483648 2147483647 0
affinity64 I/O mask (A、64 ビット版の SQL Server でのみ使用可能) -2147483648 2147483647 0
affinity64 mask (A、RR)、64 ビット版の SQL Server でのみ使用可能 -2147483648 2147483647 0
Agent XPs (A) 0 1 0

SQL Server エージェントが起動すると 1 に変わります。 SQL Server エージェントがセットアップ時に自動的に起動するように設定されている場合の既定値は 0 です。
allow polybase export

適用対象: SQL Server 2016 (13.x) 以降のバージョン。
0 1 0
更新を許可する (廃止。使用しないでください。再構成中にエラーが発生します)。 0 1 0
automatic soft-NUMA disabled 0 1 0
バックアップ チェックサムの既定 0 1 0
backup compression default 0 1 - SQL Server 2022 (16.x) より前のバージョン

2 - SQL Server 2022 (16.x) 以降のバージョン
0
backup compression algorithm (A)

適用対象: SQL Server 2022 (16.x) 以降のバージョン。
0 1 0
blocked process threshold (A) 5 86400 0
c2 audit mode (A、RR) 0 1 0
clr enabled 0 1 0
clr strict security (A)

適用対象: SQL Server 2017 (14.x) 以降のバージョン。
0 1 0
column encryption enclave type (A、RR) 0 2 0
common criteria compliance enabled (A、RR) 0 1 0
contained database authentication 0 1 0
cost threshold for parallelism (A) 0 32767 5
cross db ownership chaining 0 1 0
cursor threshold (A) -1 2147483647 -1
Database Mail XPs (A) 0 1 0
default full-text language (A) 0 2147483647 1033
既定の言語 (default language) 0 9999 0
default trace enabled (A) 0 1 1
disallow results from triggers (A) 0 1 0
EKM provider enabled 0 1 0
external scripts enabled (SC) (RR)

適用対象: SQL Server 2016 (13.x) 以降のバージョン。
0 1 0
FILESTREAM アクセス レベル 0 2 0
fill factor (A、RR) 0 100 0
ft crawl bandwidth (max)(A) 0 32767 100
ft crawl bandwidth (min)(A) 0 32767 0
ft notify bandwidth (max)(A) 0 32767 100
ft notify bandwidth (min)(A) 0 32767 0
ハードウェア オフロードが有効 (A)

適用対象: SQL Server 2022 (16.x) 以降のバージョン。
0 1 0
hadoop connectivity (RP)

適用対象: SQL Server 2016 (13.x) 以降のバージョン。
0 7 0
in-doubt xact resolution (A) 0 2 0
index create memory (A、SC) 704 2147483647 0
lightweight pooling (A、RR) 0 1 0
locks (A、RR、SC) 5000 2147483647 0
max degree of parallelism (A) 0 32767 0
max full-text crawl range (A) 0 256 4
max server memory (A、SC) 16 2147483647 2147483647
max text repl size 0 2147483647 65536
max worker threads (A) 128 32767

32 ビット版の SQL Server では 1024、64 ビット版の SQL Server では 2048 の最大値が推奨されます。

注: SQL Server 2014 (12.x) が 32 ビット オペレーティング システムで利用可能な最後のバージョンでした。
0

0 の場合、32 ビット版の SQL Server では式 (256 + (<論理プロセッサ数> - 4) * 8) を使用し、64 ビット版の SQL Server では式 (512 + (<論理プロセッサ数> - 4) * 8) を使用して、論理プロセッサ数に基づいたワーカー スレッドの最大数が自動的に構成されます。

注: SQL Server 2014 (12.x) が 32 ビット オペレーティング システムで利用可能な最後のバージョンでした。
media retention (A、RR) 0 365 0
min memory per query (A) 512 2147483647 1024
min server memory (A、SC) 0 2147483647 0
入れ子になったトリガー 0 1 1
network packet size (A) 512 32767 4096
Ole Automation Procedures (A) 0 1 0
open objects (A、RR、旧バージョンで使用) 0 2147483647 0
optimize for ad hoc workloads (A) 0 1 0
PH_timeout (A) 1 3600 60
polybase enabled (RR)

適用対象: SQL Server 2019 (15.x) 以降のバージョン。
0 1 0
polybase network encryption 0 1 1
precompute rank (A) 0 1 0
priority boost (A、RR) 0 1 0
query governor cost limit (A) 0 2147483647 0
query wait (A) -1 2147483647 -1
復旧間隔 (分単位) (A、SC) 0 32767 0
remote access (RR) 0 1 1
remote admin connections 0 1 0
remote data archive 0 1 0
remote login timeout 0 2147483647 10
remote proc trans 0 1 0
remote query timeout 0 2147483647 600
Replication XPs (A) 0 1 0
scan for startup procs (A、RR) 0 1 0
server trigger recursion 0 1 1
set working set size (A、RR、旧バージョンで使用) 0 1 0
show advanced options 0 1 0
SMO and DMO XPs (A) 0 1 1
suppress recovery model errors (A)

適用対象: Azure SQL Managed Instance。
0 1 0
tempdb metadata memory-optimized (A)

適用対象: SQL Server 2019 (15.x) 以降のバージョン。
0 1 0
transform noise words (A) 0 1 0
two digit year cutoff (A) 1753 9999 2049
user connections (A、RR、SC) 0 32767 0
user options 0 32767 0
xp_cmdshell (A) 0 1 0

関連項目