2016-05-09 6 views
1

データベースを実現した後、自動縮小オプションを有効にして検索しましたが、自動縮小がパフォーマンスの問題を引き起こすと考えられているため、オフにすることをお勧めします(this oneのような多くのウェブページがあります)AUTO SHRINKによるメモリの問題のトラブルシューティング?

一般的にだから私は

ALTER DATABASE MyDatabase SET AUTO_SHRINK OFF WITH NO_WAIT' 

を実行して、私はこの後、SQL ServerからRAMの使用量が非常に高く、それが全体のサーバを遅くすることにより、スワップファイルへの書き込み終わることに気づきました。

このメモリの問題の原因を教えてください。通常のデータベース(これはクライアントサーバーERPアプリケーションのデータベースなので、主にデータの読み取りに使用され、頻度の低いデータを書き込むために使用されます)で自動縮小を有効にするのはよい方法でしょうか。

このデータベースがSQL Server 2000データベース(デフォルト値はTrueだった可能性があります)のときに自動縮小が設定されています。さらに、デフォルトでは、新しいデータベースSQL Server 2008 R2にはAutoShrink Falseが設定されています。

自動圧縮を再びオンにする必要がありますか?もちろん、私は試行錯誤でやっていけることがありますが、なぜ自動縮小がメモリ問題を引き起こすのかという技術的な理由を尋ねています。

+0

AUTO_SHRINKをOFFにして、データベースのチェック、縮小、インデックスの再構築、統計の更新などのメンテナンス計画を実行していることを確認してください。 – Chuck

+0

SQL Serverは、キャッシュにできるだけ多くのRAMを使用しようとします。 Auto Shrinkはそれに影響を与えてはいけません。 SQL Server以外のアプリケーションが実行されている場合に必要なRAMのサイズを縮小する場合は、「最大サーバーメモリ」の設定を調べてください。https://msdn.microsoft.com/en-us/library/ms178067.aspx – Alex

答えて

1

この後、SQL ServerのRAM使用率ははるかに高くなり、サーバー全体の速度を落としてスワップファイルに書き込むことになりました。

その非常に良い練習は、少なくとも私はこれを見たことがないし、誰もがこれまでに報告されなかった、メモリはこれだけでは不可能で上昇機密レベル変更、AUTOのSHRINKをオフにします。これとは逆に、メモリを縮小してメモリ消費量を増加させるには、メモリ内のページを読み込むためにI/Oが必要になることがあります。

スワップファイルの書き込みについて、あなたはそれが何を意味するのですか?

オートシュリンクを再びオンにする必要がありますか?もちろん、私は試行錯誤でやっていけることがありますが、なぜ自動縮小がメモリ問題を引き起こすのかという技術的な理由を尋ねています。

いいえオンにしないでください。たくさんのメモリを要求していた他のクエリが実行されている必要があります。これはまったく異なる話題で、何が原因でメモリが増えたのか、それを見つける必要があります。

select @@ Versionの出力は何ですか?

+0

Microsoft SQL Windows NT 6.1のMicrosoft Corporation標準版(64ビット)(ビルド7601:Service Pack 1)(ハイパーバイザ)は、Windows Server 2008 R2(RTM) - 10.50.1600.1(X64) – LaBracca

+0

SQL Server 2008 r2をSp3 ASAPに更新する必要があります。メモリ関連の修正が多数あり、最終的にサポートされているインスタンスが実行されますが、拡張サポートはSQL Server 2008 R2に適用されます – Shanky