SQL Server データベースの保守方法

データベース・ファイルおよびログ・ファイルを構成する際、以下の項目を考慮することで、データの整合性を維持してパフォーマンスを向上させることができます。

  1. データベース・ファイルおよびログ・ファイルに必要なスペースを事前割り振りすることで、パフォーマンスを向上させることができます。これらのオプションは、SQL Server Enterprise Manager の「データベースのプロパティ」ウィンドウの「データ ファイル」タブおよび「トランザクション ログ」タブで使用可能です。
  2. 予期しないエラーが発生しないことを確実にするためには、ログ・ファイルが自動的に成長 (10% ずつ) することを許可する必要があります。
  3. 個別の物理ディスク・ドライブ上にデータ・ファイルおよびログ・ファイルを配置することにより、パフォーマンスを大幅に改善することができます。これらの物理ディスク・ドライブに十分なフリー・スペースがあり、データベースが成長できることを確認します。

SQL サーバーのデータベースのバックアップおよび保守

エンタープライズ・アプリケーションと同様に、このデータベースは定期的にバックアップし、他のデータベース保守タスクは随時、実行する必要があります。Microsoft SQL Server Management Studio には「メンテナンス・プラン」ウィザードがあり、これらのタスクを自動化することができます。このウィザードを使用して、必要なスケジュールされたタスクを作成します。

注: データベースのバックアップは、データベース・ファイルをコピーして別の場所に保存することとは異なります。Microsoft SQL Server Management Studio のバックアップ機能を使用して、SQL Server データベースをバックアップします。手順についてはその資料を参照してください。

データベースと SQL Server の照合の一致を確認

AppScan Enterprise の新規バージョンにアップグレードしたり、データベースをバックアップしてそれを別の SQL Server に移動する場合、照合 (大/小文字の区別など) がその 2 つの間で一致していることを確認します。一致していないと AppScan Enterprise データベースは正しく機能しません。

バックアップ計画

データベース・ログ・ファイルは SQL Server のバックアップ間でサイズが増加する可能性があるので、データベースは毎日、バックアップします。(レポート・パックおよびダッシュボードの生成、インポート・ジョブなどの) アクティビティーが実行される頻度によっては、増分バックアップを頻繁に行い、SQL Server の完全バックアップの回数を減らすことも可能です。データベースが静止している間、バックアップを実施する必要はありませんが、データベースが比較的使用されていないときにバックアップ操作を行うようスケジュールすることができます。組織がサーバー用に定期的な保守期間を設けている場合は、その期間が SQL Server バックアップを実施する理想的な時期である可能性があります。

データベースが決して、またはまれにしか静止しないような大組織では、SQL の増分バックアップを行うように構成する商用のバックアップ・ソフトウェアの使用を検討してください。

データベースのリカバリー

破滅的なハードウェア障害が発生した場合、Microsoft SQL Server Management Studio の「Restore database」コマンドを使用して、最後の SQL Server バックアップからデータベースを復元することができます。

データベースの圧縮

データベースの増大は、特に大規模なコンテンツ・スキャン・ジョブが削除された後で問題になる可能性があります。「Shrink Database」コマンドを使用して、空のスペースを除去することができます。データベースは、「ファイル」レベルで最も効果的に圧縮できます。「データベースの圧縮」ウィンドウから「ファイル」を選択します。

あるいは、「データベースのメンテナンス」ウィザードを使用して定期的にデータベースを圧縮します。

データベースの保守

アプリケーションがインストールされた後、データベースの保守計画を設定する必要があります。「メンテナンス・プラン」ウィザードを使用して計画を作成し、スケジュールを立てます。ウィザードで、以下のようなオプションを選択します。

  • データベースの整合性確認
  • データベースの圧縮
  • インデックスの再構成
  • 統計の更新
  • データベースのバックアップ (完全)

ディスク・デフラグ

ファイルが作成、削除、およびサイズ変更されると、時間の経過に伴ってディスクのフラグメント化が発生します。データベースが使用されず、保守のためのサービス停止が行えるとき、Windows ツールを使用して、定期的にディスクのデフラグの実行を検討します。

インデックスの再構成のための保守計画

インデックスのフラグメント化によって多数のページに分割されるため、データベースのパフォーマンスが低下する可能性があります。これによって、ポストプロセッシング時間が増え、レポート・パックの生成が長くなり、Web アプリケーションのパフォーマンスが低下します。

再構成操作は、ユーザーがデータベースにアクセスしている間は実行できません。このために、再構成の際にはユーザーを停止して、データベースにアクセスしないようにする必要があります。

可能な解決策は以下のとおりです。
  • SQL Standard の場合、インデックスの再構成は必要であり、そのためにインデックスをオフラインにする必要があります。
  • SQL Enterprise にアップグレードすると、インデックスをオンラインにしたままでインデックスの再構成が可能になります。
  • SQL サーバーの FILL FACTOR を調整して、当初から内部でのフラグメント化が起こりにくくなるように低減を試みることができます。
SQL Enterprise へのアップグレードは、データベースへのアクセスを停止せずに管理者がインデックスの再構成を完了するのに役立ちます。以下のように保守計画を作成します。
  1. すべてのサービスを停止する
  2. IIS およびそれに関連したサービスを停止する
  3. 実行中のエージェント・ホスト実行可能プログラムをすべて強制終了する
  4. すべてのエージェント・ホストが処理を終了するのを待つ
  5. インデックスのフラグメント化のレベルをチェックし、それをファイルに記録する
  6. FILL FACTOR 80 (ページあたり 20% のフリー・スペース) を使用してインデックスを再構成する
  7. インデックスのフラグメント化のレベルを再びチェックし、それをログ・ファイルに付加する
  8. IIS およびそれに関連したサービスを開始する
  9. すべてのサービスを開始する