sql >> データベース >  >> RDS >> Sqlserver

SQLデータベースが破損しているかどうかを確認する方法–MDFファイルを修復するソリューション

    データの破損は、SQLServer管理者にとって最も重大な状況です。サードパーティのツールを使用せずに破損したデータを回復することは非常に困難です。データの破損を防ぐには、データベースの破損の原因を知る必要があります。このタスクを簡素化するために、SQLデータベースが破損しているかどうかを確認する方法と、SQL回復ツールを使用して破損したSQLデータベースファイルを回復する方法に関する完全なソリューションを次に示します。 。それでは始めましょう。

    SQLデータベースの破損修復について話すときは、将来この問題を回避するために、破損の背後にある理由を知る必要があります。

    SQLServerデータベースの破損の一般的な理由

    Microsoft SQL Serverは、大規模な組織で使用される最高のリレーショナルデータベース管理システムの1つです。 SQL Serverに障害やエラーがあると、データベースが破損する可能性があります。以下に、データベースの破損の主な理由を示します。

    • マルウェアやウイルスの攻撃により、SQLMDFおよびNDFファイルが破損する可能性があります。
    • データベースの詳細が保存されているディスクのサブシステムは、さまざまな問題の影響を受ける可能性があります。これにより、データベース内のテーブルの詳細が正しく配置されず、最終的にユーザーは目的の結果を受け取りません。
    • ウイルス対策ソフトウェアは、システムに保存されている他のプログラムやファイルに適しています。ただし、SQL Serverの場合、有害であり、ユーザーがデータにアクセスできなくなる可能性があります。
    • 小さいサイズのファイルが必要な場合は、単に圧縮します。ただし、SQLServerデータベースファイルはファイル圧縮を目的としたものではありません。これにより、SQLデータベースが破損する可能性があります。
    • 突然の電源障害、予期しないシステムシャットダウン、SQL Serverアカウントの一部の変更も、SQLServerの破損を引き起こす可能性があります。

    破損の理由がわかれば、破損したデータを特定する方法がわかります。

    SQLデータベースが破損しているかどうかを確認する方法

    SQLデータベースの破損を修復する前に、破損のレベルを知る必要があります。データベースが正しく機能していない場合は、以下の手順に従って、SQLMDFファイルの破損を特定してください。

    • 次のコマンドを実行して、破損したファイルを確認します。

    SELECT * From msdb.dbo.suspect pages

    データベースにエラーがない場合、結果には行が表示されません。これは、破損したエントリが見つからなかったことを意味します。ただし、クエリは過去に破損したエントリのみをチェックするため、これは破損したデータがない可能性があることを意味するものではありません。新しいエントリの損傷はチェックされません。 2番目のコマンドを使用して、不良ページを確認できます。

    • DBCC CHECKDBは、データベース管理者が破損したファイルを特定して修正するために最もよく使用するコマンドです。 DBCCには、DBCC CHECKCATALOG、DBCC CHECKALLOC、DBCCCHECKTABLEなどの他のいくつかのコマンドが組み込まれています。 SQLデータベースが破損しているかどうかを確認するには、次のコマンドに従います。

    DBCC CHECKDB (Name_of_database)

    このコマンドは、テーブル、メモリ、品質、および整合性の測定値をチェックし、結果をリストに入れます。欠陥、矛盾、破損がある場合、それはあなたの目の前にあります。

    破損したSQLデータベースを回復する方法

    結果にSQLServerデータベースの破損が示されている場合は、データにアクセスするためにできるだけ早くデータベースを修復する必要があります。このために、SQLリカバリソフトウェアを使用できます。これにより、破損したMDFおよびNDFファイルがすべてのオブジェクトで修復されます。ツールはSQLServer2019、2017、2016、2014、2012、2002、およびそれ以前のすべてのバージョンのMDFファイルを修復できるため、SQLServerのバージョンについて心配する必要はありません。このツールが、バックアップや別のユーティリティを使用せずにSQLデータベースの破損修復プロセスを実行する方法を見てみましょう。

    ステップ1 :SQLデータベースリカバリをダウンロードして、システムで起動します。次に、[開く]をクリックして、SQLデータベースファイルMDFを選択します。

    ステップ2 :スキャンモード:クイックまたは詳細を選択します。 SQLServerMDFファイルのバージョンを選択します。

    ステップ3 :[OK]をクリックすると、ソフトウェアは破損したSQLデータベースファイルを回復するプロセスを開始します。完了すると、復元されたアイテムのプレビューを確認できます。

    ステップ4 :上から[エクスポート]オプションをクリックして、SQLデータベースを復元します。 [エクスポートオプション:SQLServerデータベースまたはSQLスクリプトにエクスポート]を選択します。

    ステップ5 :リカバリデータをSQLデータベースにエクスポートする場合は、サーバー名、ユーザー名、およびパスワードを入力します。

    ステップ6 :必要なSQLデータベース項目を確認し、[スキーマまたはスキーマとデータの両方でエクスポート]を選択します。

    ステップ7 :[エクスポート]ボタンをクリックすると、プロセスがすぐに開始されます。

    ここで、SQL Serverで復元されたデータベースを確認するには、データベースを展開するだけです。

    おわりに

    ここでは、SQLデータベースが破損しているかどうかを確認する方法と、SQLデータベースが破損している理由について説明しました。 SQL MDFおよびNDFファイルが破損していることがわかった場合は、破損したSQLデータベースファイルを回復する方法についても説明しました。ここでは、ユーザーがバックアップなしでSQLデータベースを修復および復元するのに役立つ最高のSQLリカバリツールを提案しました。


    1. Ubuntu20.04にPostgreSQLをインストールします

    2. 列にNULLがない行をフィルタリングする方法

    3. このクエリは、コンマ区切りリストSQL Serverを作成するために何をしますか?

    4. 5種類のデータベース修復