web-dev-qa-db-ja.com

メモリ内のロックされたページはSQL Server 2017でも推奨されますか?

私はメモリ内のページのロックについていくつかの調査を行いましたが、それでも私を悩ませているのは(私はそれが本当に仕様に依存していることを知っていますが)SQL Server 2005、2008などのようにSQL Server 2017でページをロックすることをお勧めします。?

5
Lucy

一般的に、SQL Serverサービスアカウントで「メモリ内のページのロック」ポリシーを有効にすることをお勧めします。これは、SQL Serverに、ワーキングセットをトリムしてディスクにページングするというWindowsの要求を無視するように指示します。

Erikがコメントで指摘しているように、これは、SQL Serverのワーキングセットを保持する必要がある場合に本当に必要です。これは、同じWindowsマシンが他のサービスやアプリケーションをホストしていて、SQL Server for RAMと競合する可能性がある場合に必要です。

覚えておくべきもう1つのことは仮想化です。現在、ほとんどすべてのSQL Serverが仮想マシンにインストールされており、いくつかの可能なメモリ構成があり、他の多くのVMと同じハイパーバイザーホストを共有することがよくあります。メモリのオーバーコミットは一般的であり、ハイパーバイザーはメモリバルーニングを使用してVMへのRAM割り当てのバランスをとろうとします。SQLServerが他のサービスと同じWindowsゲストを共有していない場合でも、LPIMを有効にしてメモリバルーニングとうまく連携し、本番ワークロードでの不要なメモリトリミングを回避します。

これは、Hyper-VとSQL Serverの構成方法を説明する Microsoftのホワイトペーパー です。

つまり、これがテストインスタンスである場合、メモリトリミングのパフォーマンスへの影響についてはあまり気にする必要はありません。

4
spaghettidba