SQLサーバー

どのような SQL サーバーデータベースでも、時間の経過とともに、"内部"ファイルの断片化が発生します。 この理由は、データベースページからレコードが削除されても、削除後もそのスペースにデータが残されているためです。 最終的にこのスペースは再利用されますが、その際、データページは断片化され、不必要な I/O の発生原因となることがあります。これは特に、次々に多数のデータページを読み取るテーブルスキャンの場合に発生する可能性があります。

SQLサーバーオリジナルデータベースとログファイルが最初の作成時には断片化していなくても、時間を経てデータベースが増大するにつれて断片化するのはほぼ間違いありません。 たとえば、元のデータベースのサイズを 100 MB、ログを 10MB に設定し、自動的にサイズを増加するように設定すると、データベースのサイズが 5 GB になったとき、ログのサイズは 100 MB になり、外部断片化が大きくなる可能性があります。 データベースファイルやログファイルのサイズが自動的に増大するたびに、外部断片化が発生する可能性があります。

SQL サーバーのパフォーマンスを有効利用するには?

SQL サーバーにおける重大なハードウェアボトルネックの1つがディスク I/O です。データベース管理者がタスク完了に必要な I/O ボリュームを削減できる対策であれば、どれもサーバーのパフォーマンスの向上につながります。

ただし、これらのどの対策でも断片化で生じるハードウェアボトルネックは回避できません。 外部断片化をデフラグし、SQL サーバーのパフォーマンスを最大限に上げるには、SQL サーバーユーティリティではなくオペレーティングシステムユーティリティが必要です。

Diskeeper のようなユーティリティが処理する外部断片化には、次の 2 種類があります。

ファイルの断片化とは、完全ではなく、断片的に分散されたコンピューターのディスクファイルのことです。一方で、空きスペースの断片化とは、ディスク上の空きスペースが、1 つのまとまった空きスペースではなく断片化して散在している状態を指します。 ファイルの断片化では、コンピューターのディスクファイルに保存されているデータにアクセスするときに問題が生じます。一方、空きスペースの断片化では、新しいデータファイルの作成時や古いデータファイルの拡張 (データの追加) 時に問題が生じます。

断片化が止まることはありません。 Diskeeper®のリアルタイムサポートがないと、断片化は蓄積されて、依存度の高いサーバーは速度が低下し、最終的にはメンテナンスのためにオフラインにしなければならなくなります。 NTFS には、ファイルの断片化を最小限に抑える効果がありますが、その状態を維持することはできません。

Diskeeper を実行すると、データベースとログファイルのデフラグが行われ、ファイルは断片化されずに 1 つの連続したセグメントになります。 また、Diskeeper は空きスペースのデフラグも行うので、データベースやログファイルが増大する場合、断片化がほとんど発生しないか断片化がまったく発生しない状態で増大することができます。 V-locity®は、VM でも同じ動作をします。

Diskeeper デフラグジョブにおけるファイルの移動はすべてオペレーティングシステム自体が行います。 オペレーティングシステム内のコードは実際にデフラグできるものとできないものを決めるとき、安全性を優先します。 SQL サーバーデータベース (例、 .LDF、.MDF) はデフラグしてもまったく問題はありません。 Diskeeper が (API 経由で) オペレーティングシステムにファイルを移動する要求を送信すると、それが安全に移動できないファイルである場合、エラーまたは懸念は生成されることなく、それらの要求は無視されます。

"弊社では石油メジャー内のサービスのホストとしてグローバル共有 SQL サーバーを提供しています。 このサービスでは、ホスト当たり最大 150 個以上のデータベースのホスティングをしていて、場合によってかなりの共有がされています。 データベースファイルにタイミングよく書き込みができなくなったために SQL 2005 が停止して、生産が中断したことがあります。 この原因がデータベースファイルの過度の断片化だとわかったときには大変驚きました。

"2 TB のボリュームを Windows で手動デフラグしましたが、6 時間で 12% の成果しか挙げられませんでした。その間、許容できない長さのサービス停止が発生しました。 その対策として弊社は Diskeeper を選び、すべての生産環境に展開して素晴らしい成果を上げました。2 週間でデフラグしたデータ分量は、多くても 4 TB でした。"
— ブリティッシュ ペトロリアム

SQL サーバーの最適化を体験するために、Diskeeper Server または V-locity の無料試用版を今すぐダウンロード»

企業での導入に関するお問合せ

ボリュームライセンス導入のご相談や、機能のお問い合わせにつきましては、お問い合わせフォームをご利用ください。

  • 最新Windows OS 対応情報
    Soheiダイレクト: 相栄電器 直販ストア
    SOHEIメールマガジン購読登録へ
  • Condusiv Technologies
    相栄電器株式会社