サーバー構成オプション (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_value
は sys.configurations
カタログ ビューの value
列と同等であり、run_value
は value_in_use
列と同等です。
自己構成オプションは、システムのニーズに合わせて SQL Server が調整するオプションです。 このため、ほとんどの場合、値を手動で変更する必要はありません。 たとえば、ワーカー スレッドの最大数オプションやユーザー接続数オプションなどです。
次のクエリを使って、構成済みの値がインストールされていないかどうかを確認できます。
SELECT *
FROM sys.configurations
WHERE [value] <> [value_in_use];
値が行った構成オプションの変更になっていても、value_in_use
が同じでない場合は、RECONFIGURE
コマンドが実行されなかったか、失敗したか、データベース エンジンを再起動する必要があります。
value
と value_in_use
が同じにならない可能性がある 2 つの構成オプションがあり、これは想定される動作です。
最大サーバー メモリ (MB) - 既定で構成される値
0
は、value_in_use
列には2147483647
と表示されます。最小サーバー メモリ (MB) - 既定で構成される値
0
は、value_in_use
列には、32 ビット システムでは8
、64 ビット システムでは16
と表示される場合があります。value_in_use
が0
と表示されている場合、実際のvalue_in_use
は8
(32 ビット) または16
(64 ビット) である場合があります。
is_dynamic
列を使って、構成オプションに再起動が必要かどうかを判断できます。 is_dynamic
列の値 1
は、RECONFIGURE
コマンドを実行すると、新しい値がすぐに有効になることを意味します。 場合によっては、データベース エンジンが新しい値をすぐに評価しないことがありますが、通常の実行の過程で行われます。 is_dynamic
列の値 0
は、変更された構成値は、RECONFIGURE
コマンドが実行された場合であっても、データベース エンジンが再起動されるまで有効にならないことを意味します。
動的ではない構成オプションの場合、構成変更を適用する RECONFIGURE
コマンドが実行されたかどうかを確認する方法はありません。 SQL Server を再起動して構成変更を適用する前に、RECONFIGURE
コマンドを実行して、次の SQL Server の再起動時にすべての構成変更が有効になるようにします。
構成オプション
次の表は、使用可能なすべての構成オプション、設定可能範囲、および既定値を示しています。 構成オプションには文字コードを付けています。その内容を次に示します。
A = 詳細設定オプション。このオプションの変更は熟練したデータベース管理者または認定された SQL Server プロフェッショナルだけが行う必要があり、
show advanced options
を1
に設定する必要があります。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 |