Share via


max worker threads オプション

更新 : 2005 年 12 月 5 日

Microsoft SQL Server プロセスで使用できるワーカ スレッド数を設定するには、max worker threads オプションを使用します。SQL Server では、Microsoft Windows 2000 および Windows Server 2003 の各オペレーティング システムのネイティブ スレッド サービスを使用しているため、1 つ以上のスレッドが SQL Server で同時にサポートされている各ネットワークをサポートし、他のスレッドがデータベース チェックポイントを処理し、スレッド プールがすべてのユーザーを処理します。

max worker threads オプションの用途

スレッド プールは、多数のクライアントがサーバーに接続されている場合のパフォーマンスの最適化に役立ちます。通常、システム リソースの消費を少なくするために、クライアント接続ごとに別のオペレーティング システム スレッドが作成されます。ただし、サーバーへの接続が数百にもなる場合、接続ごとに 1 つのスレッドを使用すると大量のシステム リソースが消費されることがあります。max worker threads オプションを使用すると、SQL Server によってワーカー スレッド プールが作成され多数のクライアントに接続にできるようになります。その結果、パフォーマンスが向上します。

max worker threads の計算

max worker threads の既定値は 0 です。この値を指定した場合は、スタートアップ時に SQL Server によってワーカー スレッドの数が自動的に構成されます。この設定はほとんどのシステムにとって最適な設定ですが、システムの構成によっては、max worker threads に特定の値を設定すると、パフォーマンスが向上する場合があります。

次の表に、CPU および SQL Server の各バージョンのさまざまな組み合わせに対して、自動的に構成されるワーカー スレッドの最大数を示します。

CPU の数 32 ビット コンピュータ 64 ビット コンピュータ

4 個以下のプロセッサ

256

512

8 個のプロセッサ

288

576

16 個のプロセッサ

352

704

32 個のプロセッサ

480

960

ms187024.note(ja-jp,SQL.90).gifメモ :
最大値は、32 ビットの SQL Server については 1,024、64 ビットの SQL Server については 2,048 をお勧めします。

実際のユーザー接続数が max worker threads に設定した値を下回る場合、1 つのスレッドで 1 つの接続が処理されます。一方、実際の接続数が max worker threads に設定した値を超える場合、SQL Server によってワーカー スレッド プールが作成され、次に使用可能なワーカー スレッドで要求を処理できるようになります。

SQL Server 2000 からのアップグレード

SQL Server 2000 の max worker threads の既定値は 255 です。SQL Server 2000 データベース エンジンのインスタンスを SQL Server 2005 にアップグレードしても、max worker threads の構成値は保持されます。アップグレードする場合、SQL Server 2005 の max worker threads の値を 0 に変更して、データベース エンジンで最適なスレッド数を計算できるようにすることをお勧めします。

max worker threads の設定

max worker threads は拡張オプションです。sp_configure システム ストアド プロシージャを使用して max worker threads の設定を変更するには、show advanced options を 1 に設定する必要があります。新しい設定を適用するには、システムを再起動する必要があります。

ms187024.note(ja-jp,SQL.90).gifメモ :
クエリの実行が長時間にわたり、すべてのスレッドがアクティブになっている場合、いずれかのワーカー スレッドが処理を完了し使用できるようになるまで、SQL Server が応答していないように見えることがあります。これは欠陥ではありませんが、望ましくない場合があります。プロセスが応答せず新しいクエリを処理できない場合は、専用管理者接続 (DAC) を使用して SQL Server に接続し、プロセスを終了します。このような状態を回避するには、ワーカー スレッド数を増やします。

参照

処理手順

SQL Server Management Studio で専用管理者接続を使用する方法

概念

サーバー構成オプションの設定
専用管理者接続の使用

その他の技術情報

RECONFIGURE (Transact-SQL)
sp_configure (Transact-SQL)

ヘルプおよび情報

SQL Server 2005 の参考資料の入手

変更履歴

リリース 履歴

2005 年 12 月 5 日

新しい内容 :
  • 「SQL Server 2000 からのアップグレード」を追加しました。