2009-11-23 6 views
5

比較的古いサーバーで実行されているほとんどのチームデータベースを保持するSQL Server 2000データベースがあります。いつSql Serverデータベースを圧縮しますか?

最近、私たちは、さまざまなアプリケーションでデータベース呼び出しのいくつかで奇妙な遅い問題を抱えてきました。 (アプリケーション固有のものではないことが分かります)

私たちのデータベースのいくつかを圧縮することを検討する必要があります。これを行うための一般的な経験則は何ですか?

一般的なメンテナンスと見なされているデータベースを圧縮していますか?この減速を招くかもしれないデータベース、テーブル、またはレコードの魔法の数があるので、圧縮に役立つでしょうか?積極的に使用するデータベースの

数:データベースの6

平均サイズ:FogBugzのを除いて、20メガバイト、その約11000メガバイト

+0

これは、サーバー障害に適している可能性があります。しかし、あなたのデータベースのサイズは、実際には小さいです。私は圧縮することがパフォーマンス上のメリットをもたらすのではないかと疑います。また、通常はスペースを再利用するために圧縮が行われます。データベースが圧縮されていない場合、パフォーマンスに大きな影響はないはずです。 – Joey

答えて

4

であるあなたは、SQL Serverのデータベースを圧縮していない(あなたはそれを「SHRINK」 )あなたが本当に必要な場合を除きます。データの統計のうち

  • :それはMS Accessのではないですし、もっと

    そうな(まあ、それはすることができますが、それをマスクより重要な問題)の未使用領域を再利用しません、あなたはインデックス/統計の問題を抱えています

  • 断片化されたインデックス
  • 欠落しているインデックス(小)そのデータベース・サイズの手始めに

、私はあなたが見てお勧めしたい

DBを確保するために開始するための「 maintenance plans」で
2

ため

  • 先端トップ状態にある、あなたは、データベース上で実行する必要があり、メンテナンスの様々なビットがあります。

    10MBは非常に小さいデータベースなので、データベースを縮小することはあなたにとって価値がありません(「コンパクト」とは、MS Accessデータベースで行うことですが、縮小することができます)。

    代わりに、頻繁にテーブルで照会される列に適切なインデックスがない可能性があります。または、持っているインデックスが断片化しています。

    開始するには、どのようなクエリが長い時間を取っているかを正確に確認することをお勧めします(SQLプロファイラとモニタを起動することをお勧めします)。これらのクエリが何をしているのか、それらがアクセスしているテーブル/列、適切なインデックスがあるかどうかを確認できます。

  • 関連する問題