locks サーバー構成オプションの構成
このトピックでは、SQL Server Management Studio または Transact-SQL を使用して、SQL Server 2012 の locks サーバー構成オプションを構成する方法について説明します。 locks オプションは、使用できるロックの最大数を設定することによって、SQL Server データベース エンジンがそのために使用するメモリの量を制限します。 既定値は 0 です。0 の場合、データベース エンジンはシステム要件の変更に基づいてロック構造を動的に割り当てたり、割り当てを解除したりできます。
重要 |
---|
この機能は、Microsoft SQL Server の将来のバージョンで削除されます。新規の開発作業ではこの機能を使用しないようにし、現在この機能を使用しているアプリケーションはできるだけ早く修正してください。 |
このトピックの内容
作業を開始する準備:
推奨事項
セキュリティ
以下を使用して locks オプションを構成するには:
SQL Server Management Studio
Transact-SQL
補足情報: locks オプションを構成した後
作業を開始する準備
推奨事項
このオプションは詳細設定オプションであるため、熟練したデータベース管理者または認定された SQL Server 技術者だけが変更するようにしてください。
locks を 0 に設定してサーバーを起動すると、ロック マネージャーは 2,500 個のロック構造の初期プール用にデータベース エンジンから十分なメモリを取得します。 ロック プールがなくなると、プール用のメモリが追加取得されます。
通常、データベース エンジンのメモリ プールから取得できるメモリよりも多くのメモリがロック プールに必要であり、より多くのコンピューター メモリが使用できる (max server memory のしきい値に達していない) 場合、データベース エンジンはメモリを動的に割り当ててロック要求に応じます。 ただし、そのメモリを割り当てることによって、オペレーティング システム レベルでページングが発生する場合、たとえば、別のアプリケーションが SQL Server のインスタンスと同じコンピューター上で実行されていて、そのメモリを使用している場合は、ロック用に割り当てを増やすことはできません。 動的なロック プールは、データベース エンジンに割り当てられたメモリのうち最大 60% まで取得できます。 ロック プールがデータベース エンジンのインスタンスによって取得されたメモリの 60% に達した場合、またはコンピューターで使用できるメモリがなくなった場合、さらにロック要求があるとエラーが発生します。
SQL Server が動的にロックを割り当てるように構成することをお勧めします。 ただし、locks を設定し、ロック リソースを動的に割り当てる SQL Server の機能を無効にすることができます。 locks が 0 以外の値に設定されている場合、データベース エンジンは locks に指定された値よりも多くのロックを割り当てることができません。 使用可能なロック数を超えたことを示すメッセージが表示された場合は、この値を大きくします。 各ロックはそれぞれ 96 バイトのメモリを消費するため、この値を大きくした場合、状況によってはサーバー専用のメモリも増やす必要があります。
locks オプションも、ロックのエスカレートがいつ行われるかに影響を与えます。 locks を 0 に設定すると、現在のロック構造で使用されるメモリがデータベース エンジンのメモリ プールの 40% に達したときに、ロックのエスカレートが行われます。 locks が 0 に設定されていない場合は、ロック数が locks に指定された値の 40% に達したときに、ロックのエスカレートが行われます。
セキュリティ
権限
パラメーターなしで、または最初のパラメーターだけを指定して sp_configure を実行する権限は、既定ですべてのユーザーに付与されます。 両方のパラメーターを指定した sp_configure を実行して構成オプションを変更したり RECONFIGURE ステートメントを実行したりするには、ALTER SETTINGS サーバーレベル権限がユーザーに付与されている必要があります。 ALTER SETTINGS 権限は、sysadmin 固定サーバー ロールと serveradmin 固定サーバー ロールでは暗黙のうちに付与されています。
[先頭に戻る]
SQL Server Management Studio の使用
locks オプションを構成するには
オブジェクト エクスプローラーで、サーバーを右クリックし、[プロパティ] をクリックします。
[詳細設定] ノードをクリックします。
[並列処理] で、locks オプションの目的の値を入力します。
locks オプションは、使用可能なロックの最大数を設定して、SQL Server によってロックに使用されるメモリの量を制限するために使用します。
[先頭に戻る]
Transact-SQL の使用
locks オプションを構成するには
データベース エンジンに接続します。
[標準] ツール バーの [新しいクエリ] をクリックします。
次の例をコピーしてクエリ ウィンドウに貼り付け、[実行] をクリックします。 この例では、sp_configure を使用して locks オプションの値を設定する方法を示します。使用できるロックの数をユーザー全体で 20000 に設定します。
Use AdventureWorks2012 ;
GO
sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'locks', 20000;
GO
RECONFIGURE;
GO
詳細については、「サーバー構成オプション」を参照してください。
[先頭に戻る]
補足情報: locks オプションを構成した後
設定を有効にするには、サーバーを再起動する必要があります。
[先頭に戻る]