SQLデータベース整合性チェックの完全ガイド
目次
- SQLデータベース整合性チェックについて
- SQL ServerデータベースSQL Serverでデータベースの整合性をチェックするにはどうすればよいですか?
- SQL Server Management Studioを使用する
- データベース整合性チェックタスクを使用する
- データベース整合性チェックが失敗した場合の対処方法
- SQLデータベースの整合性エラーを修正する代替
- 結論
SQLデータベースの整合性チェックについて
整合性チェックの実行は、データベースの整合性を確
より正確には、整合性チェックを実行すると、データベース内の整合性エラー(破損)を検出することにより、運用データベースまたは復元されたバックアップの有効性を維持することができます。
SQL Serverデータベースでデータベースの整合性チェックを実行する頻度はどれくらいですか。
整合性チェックを実行すると、時間がかかり、リソースを大量に消費するプロセスになる可能性があります。 したがって、整合性チェックを実行する頻度を理解することが重要です。 これを決定するには、2つの例を見てみましょう:
- SQLデータベースが破損しているか破損しています。 バックアップはありません。 データベースを復元する唯一の方法は、データ損失のリスクを伴う修復オプションを実行することです。 その場合、整合性チェックを定期的に(毎日または時間単位で)実行すると、データベースの破損を早期に検出し、データの損失とダウンタイムを最小限に抑
- 包括的なデータベースバックアップ戦略が整っており、データの損失やダウンタイムを最小限または最小限に抑えてSQLデータベースを復元できます。 その場合は、週に1回整合性チェックを実行することを検討できます。
SQL Serverでデータベースの整合性をチェックするにはどうすればよいですか?
以下は、SQLデータベースの整合性をチェックする2つの方法です。
方法1–SQL Server Management Studio(SSMS)を使用します)
- SSMSを開き、SQL Serverインスタンスに接続します。
- データベースから、整合性チェックを実行するデータベースを右クリックし、新しいクエリオプションをクリックします。
- “新規クエリ”ウィンドウで、DBCC CHECKDBと入力し、実行ボタンをクリックしてクエリを実行します。
クエリを実行すると、”0allocation errors and0consistency errors”と報告され、データベースが正常であることを意味します。 整合性エラーが報告された場合は、メッセージの要約の下部にある推奨される最小レベルの修復を確認してください(下の画像を参照)。:
図1-データベースの整合性チェックを実行するためにDBCC CHECKDBを実行する
方法2-データベースの整合性チェックタスクを使用する
SQL Server Integration Services(SSIS)で”データベースの整合性チェックタスク”を使用してdbの整合性をチェックするには、次の手順に従ってください。):
- SQL Serverデータツール(SSDT)を開きます。
- 表示されたウィンドウで、ファイル>新規>プロジェクトをクリックします。
- 表示される”新規プロジェクト”ウィンドウで、Integration Servicesプロジェクトを選択し、”OK”をクリックします。
- [SSIS Toolbox]の[その他のタスク]の下で、[データベースの整合性の確認タスク]オプションをダブルクリックします。 このタスクは、データベースオブジェクトの論理的および物理的な整合性を検証するのに役立ちます。
- [データベースの整合性のチェック]タスクボックスをダブルクリックします。 これにより、”データベースの整合性の確認タスク”ポップアップウィンドウが開きます。 このウィンドウで、新規ボタンをクリックして新しい接続を作成します。
- 表示された[接続プロパティ]ダイアログボックスで、接続名、SQL Serverの名前を入力し、Windows認証(推奨)方法を選択します。 [OK]をクリックします。
- [Database(s):textbox]の横にあるドロップダウン矢印をクリックします。 整合性チェックを実行する単一または複数のデータベースを選択します。 [OK]を押します。
- 必要に応じて、[VIEW T-SQL]ボタンをクリックして、選択したデータベースでスケジュールされた整合性チェックを実行するDBCC CHECKDBA文を表示できます。
注:データベースインデックスページでも整合性チェックを実行する場合は、”インデックスを含める”チェックボックスをオンにします。
- スケジュールされた整合性チェックを実行するDBCC CHECKDBステートメント。
- T-SQLステートメントの実行タスクをダブルクリックし、制約を持つタスクを追加します。
- “デバッグの開始”ボタンをクリックして”データベース整合性の確認タスク”パッケージを実行し、作成したすべてのタスクを実行します。
すべてがOKの場合、タスクは緑色のステータスで表示されます。
ただし、整合性チェックが失敗してエラーが表示されることがあります。 これは、SQLデータベースが破損している場合に発生します。
SQLデータベースの整合性チェックが失敗した場合の対処方法
データベースでSQLデータベースの整合性チェックが失敗した場合は、最新のバックアップからSQLデータベースを復元することをお勧めします。 バックアップがない場合は、’REPAIR_ALLOW_DATA_LOSS’オプションを指定してDBCC CHECKDBコマンドを実行することで、データベース修復プロセスを実行できます。これを読む:DBCC CHECKDBコマンドを使用してSQLデータベースを修復する方法は?
‘REPAIR_ALLOW_DATA_LOSS’オプションは、データベースの整合性エラーを修正できます。 ただし、内部データの整合性ではなく、データベースの物理構造の修正にのみ役立ちます。 言い換えれば、’REPAIR_ALLOW_DATA_LOSS’オプションを指定してDBCC CHECKDBコマンドを実行すると、データが失われる可能性があります。
‘REPAIR_REBUILD’コマンドを実行することで、SQLデータベースの整合性エラーを修正することもできます。 通常、このコマンドは、非クラスタ化インデックスの問題を修正するために使用されます。 このオプションでは、データが失われることはありません。
Sqlデータベースの整合性エラーを修正する代替
DBCC CHECKDBコマンドを実行してSQL Serverデータベースのデータ整合性と整合性を維持できなかった場合は、STELLAR Repair for MS SQLなどの代替SQLデータベース修復ツールを使用して問題を解決できます。
データの整合性を維持しながら、ソフトウェアの修理深刻な破損したSQLデータベースMDF/NDFファイル。 これは、WindowsとLinuxの両方のシステム上のSQLデータベースの破損を修正することができます。 SQL修復ツールは、SQLバージョン2019、2017、2016、およびそれ以前のバージョンの削除されたテーブルレコードを含む、すべてのデータベースオブジェクトを回復できます。
結論
SQL Serverを実行するときは、データベースの整合性を定期的にチェックして、データベースが正常であり、破損していないことを確認します。 この資料では、SQL Serverデータベースの整合性チェックを実行するためにSSISで実行する必要がある手順について説明します。 また、整合性チェックが失敗した場合のDBCC CHECKDBコマンドと修復オプションの使用についても説明します。 しかし、’REPAIR_ALLOW_DATA_LOSS’コマンドを使用してDBCC CHECKDBを実行すると、データが失われ、不整合エラーが発生する可能性があります。 その場合、より良い代替手段は、データ損失のリスクなしにデータベースの一貫性エラーを修正するためにMs SQLのStellar Repairを使用することです。