次の方法で共有


SQL Server データベース ディスク ドライブの最適化

この記事では、SQL Server データベース ドライブの最適化に関するいくつかのガイダンスを提供します。

元の製品バージョン: SQL Server
元の KB 番号: 3195161

オペレーティング システムレイヤーで SQL Server ディスクを最適化する必要がありますか?

これは、現在のドライブの断片化状態によって異なります。 一般に、SQL Server データベース ドライブの最適化時の Precautions セクションに記載されている予防措置に従っていると仮定すると、問題は発生せず、役に立つ可能性があります。 唯一のマイナスは、最適化ツールがトランザクション データ機能をサポートしていない限り SQL Server をシャットダウンする必要があるということです。 良いニュースは、デフラグを実行した後、多くの自動拡張やその他のファイルがディスク上またはディスクから移動しない限り、本当にもう一度行う必要はないということです。 ユーティリティで使用される書き込みキャッシュ戦略を理解していることを確認します。 このようなユーティリティによるキャッシュには、バッテリを使用しないキャッシュが含まれる可能性があり、これは WAL プロトコルの要件に違反する可能性があります。

詳細

ディスク デフラグは、データベース ファイルを含むすべてのファイルをハード ディスク上の連続したクラスターに移動します。 これにより、ファイル アクセスが最適化され、高速化されます。 Windows NT オペレーティング システムを除き、ハード ディスクを最適化しない場合、オペレーティング システムはデータベース ファイルを取得するためにディスク上のいくつかの物理的な場所に移動する必要があり、ファイル アクセスが遅くなる可能性があります。

物理データ アクセスは I/O 要求の最も負荷の高い部分であるため、最適化によって SQL Server やその他のアプリケーションのパフォーマンスが向上する可能性があります。 互いに近い位置にデータのチャンクを配置すると、I/O 操作の要件が減ります。

様々な最適化ユーティリティは、今日市場で利用可能です。 一部のユーティリティでは、開いているファイルで最適化を有効にするのに対し、閉じたファイルの最適化が必要なユーティリティや、閉じたファイルの条件下で使用した場合のパフォーマンスが向上するユーティリティもあります。 さらに、一部のユーティリティにはトランザクション機能があり、そうでないユーティリティもあります。

SQL Server データベース ドライブを最適化するときの注意事項

SQL Server で使用する最適化ユーティリティを評価する場合は、そのユーティリティがトランザクション データ機能を提供していることを確認します。 具体的には、次のトランザクション データ機能を提供する最適化ユーティリティを選択します。

  • 新しいセクターが正常に確立され、データが正常にコピーされるまで、元のセクターは移動されたと見なされません。

  • このユーティリティは、ファイルを論理的かつ物理的に損なわない安全な方法で、停電などのシステム障害から保護します。 データの整合性を保証するために、最適化ユーティリティが SQL Server ベースのファイルで実行されている場合は、プル ザ プラグ テストを強くお勧めします。

  • 書き込み先ログ (WAL) プロトコルでは、データ損失を回避するためにセクターの書き換えを防止する必要があります。 ユーティリティは、データ移動を実行している限り、ファイルの物理的な整合性を維持する必要があります。 このユーティリティは、SQL Server ファイルをそのまま維持するために、トランザクションの方法でセクター境界で動作する必要があります。

  • このユーティリティは、ファイルが変更に対して一貫したイメージを保持することを保証するための適切なロック メカニズムを提供する必要があります。 たとえば、ユーティリティでは、元のセクターを新しい場所にコピーするときに変更できないようにする必要があります。 変更が許可された場合、最適化ユーティリティは書き込みを失う可能性があります。

これらのトランザクション データ機能を提供しない重要なディスク デフラグは、最適化するディスクを使用する SQL Server インスタンスがシャットダウンされて、開いているデータベース ファイルを最適化しないようにしない限り使用しないでください。

ファイルを開く最適化では、閉じたファイルの最適化では通常は発生しない可能性のあるいくつかの問題が発生します。

  • ファイルを開く最適化はパフォーマンスに影響します。 最適化ユーティリティによってファイルのセクションがロックされ、SQL Server が読み取りまたは書き込み操作を完了できなくなる可能性があります。 これは、SQL Server を実行しているサーバーのコンカレンシーに影響する可能性があります。 最適化ツールの製造元に問い合わせて、ファイルのロック方法と、これが SQL Server のコンカレンシーにどのように影響するかを確認してください。

  • ファイルを開く最適化は、書き込みのキャッシュと順序に影響を与える可能性があります。 ファイルを開くベースのユーティリティには、I/O パス コンポーネントが必要です。これらのコンポーネントは、書き込み操作の順序や意図した性質を変更してはなりません。 ライトスルーまたは WAL プロトコル のテナントが壊れている場合は、データベースの損傷が発生する可能性があります。 データベースとすべての関連ファイルは、1 つのエンティティと見なされます。 (これは、多くの Microsoft サポート技術情報の記事、SQL Server オンライン ブック、およびさまざまなホワイト ペーパーで説明されています)。すべての書き込みでは、元の書き込み順序付けシーケンスと書き込みスルー機能を保持する必要があります。

推奨事項

  • フォーマットされていない限り、NTFS ボリュームをデフラグしてから、新しいデータベースを作成するか、既存のデータベースをボリュームに移動します。
  • データベースが最初に作成されるときに、SQL データ ファイルとログ ファイルを適切に計画し、サイズを設定してください。
  • 自動拡張を念頭に置いて SQL Server 2014 より前のトランザクション ログを作成します (使用する場合)。
  • トランザクション ログが存在するディスクをデフラグします。 これにより、トランザクション ログの外部ファイルの断片化を防ぐことができます。 この問題は、ファイルの自動拡張が多い場合、または多くのデータベース、ログ、または変更された他のファイルを含む専用ディスクではない場合に発生する可能性があります。 このような状況では、ファイル (トランザクション ログ ファイルを含む) がインターリーブされ、断片化される可能性があります。
  • クラスター ディスクであるデータベース ドライブを最適化する場合は、正常性の監視を中断するようにクラスター ディスクを設定する必要があります ( メンテナンス モードとも呼ばれます)。
  • 断片化を最小限に抑えるには、データベース ファイルを圧縮しないでください。 また、成長アクティビティを最小限に抑えるサイズで手動で拡張します。
  • データベース ファイルを専用ディスクに保存します。
  • SQL Server データベースとバックアップ ファイルを含む場所を最適化する前に、完全バックアップを実行します。

関連情報