web-dev-qa-db-ja.com

SQL Server 2008 R2はデフォルトでメモリページをロックしますか?

SQL 2008 ENT R2 x64のロックされたページがServer2008 R2 x64でデフォルトでオンとして動作するかどうかを誰かが知っていますか(SQLメ​​モリ使用量がタスクマネージャーに表示されないため、動作すると思います)。

もしそうなら、これはいくつかのメモリを奪い合う.netアプリに過度のページフォールトを引き起こす可能性がありますか?

したがって、マシン上のSQLメモリを制限するのが賢明ですか?

それとも、それらはすべてうまくプレイする必要がありますか?

ありがとうマット

2010年10月25日編集-

ERRORLOGから

より詳しい情報 -

管理者サービスとして実行するためにマシンをインストールしました。既存のSQL05Entデータベースと新しいインスタンスとして並べてインストールしました。

これがログの一部です-

大きなページ拡張機能が有効になっています。

2010-10-22 21:32:38.78サーバーの大きなページの粒度:2097152

2010-10-22 21:32:38.79サーバーの大きなページが割り当てられました:32MB

2010-10-22 21:32:38.79サーバーの大きなページが割り当てられました:32MB

2010-10-22 21:32:38.80サーバーバッファプールにロックされたページを使用しています。

2010-10-22 21:32:38.86動的ロック割り当てを使用するサーバー。ノードごとに2500個のロックブロックと5000個のロック所有者ブロックの初期割り当て。これは情報メッセージです。ユーザーの操作は必要ありません。

2010-10-22 21:32:38.86サーバーロックパーティショニングが有効になっています。これは情報メッセージです。ユーザーの操作は必要ありません。

これにより、ロックされたページがオンになっていることが確認されたと思いますか?以下の管理者に関するコメントを参照してください。

3
WickedW

この設定は、デフォルトではサーバーで有効になっていません。 SQLサービスを実行しているアカウントに付与する必要がありますが、これはGPOを介して自動的に行うことができます。

これにより、一部のメモリを競合する.netアプリで、過度のページフォールトが発生する可能性がありますか?

はい、ページのロックが有効になっている場合は可能です。

したがって、マシン上のSQLメモリを制限するのが賢明ですか?

はい、SQLServerが使用できるメモリの上限を常に制限する必要があります。これは、オブジェクトエクスプローラー内でサーバーのプロパティを編集するか、sp_configureシステムストアドプロシージャを使用して実行されます。

それとも、それらはすべてうまくプレイする必要がありますか?

いいえ、SQL Serverはデフォルトで、システム上の他のアプリケーションを枯渇させているサーバー上のすべてのメモリを使用します。

2
mrdenny

確認するには、前回の起動時のSQLログを確認します。有効になっていない場合は、次のように表示されます。

ラージページ拡張機能を使用できません:メモリロック特権が付与されていません。

..そしてMrDennyが言ったように、SQLは他のアプリケーションと実際にはうまく機能しません。特に指示がない限り、SQLはサーバーを所有していると想定します。

1
SqlACID

この記事によると、オプションはデフォルトでnotアクティブです: http://msdn.Microsoft.com/en-us/library /ms190730.aspx

0
Massimo