- データの損失は一般的な問題ですが、SQLServerで破損したデータベースを修復する方法を説明します。
- この問題は、ウイルス感染や誤った構成に対する単純な上書きまたは偶発的なファイル削除が原因である可能性があります。
- ストレージドライブの誤動作もファイルの破損を引き起こす可能性があり、これにはSQLデータベースが含まれます。
もちろん、明らかな理由でSQLServer上の破損したデータベースを発見するのはイライラします。 情報にアクセスできず、作業が完全に停止します。
ただし、手動ソリューションを使用するか、スマートな専用ツールのサードパーティツールを使用してこの問題を解決する方法はたくさんあります。 SQLServerのリカバリツールボックス.
ただし、トラブルシューティングを開始する前に、この問題が最初に発生する理由を少し理解して調査しましょう。
SQL Serverとは何ですか?データベースを特定するにはどうすればよいですか?
SQL Serverは、Microsoftによって開発されたデータベースシステムであり、他のアプリケーションによるデータの管理、保存、および取得に使用されます。
SQL Serverにデータを格納および管理するファイルには、プライマリファイル(.MDF拡張子)、セカンダリファイル(.NDF拡張子)、およびログファイル(.LDF拡張子)の3種類があります。
これらのMDFファイルはデータベースストレージを提供するものであるため、特に関心があります。
SQL Serverでデータベースが破損するのはなぜですか?
単純な上書きや誤ったファイルの削除からウイルス感染や誤った構成まで、SQLServerデータベースが破損する可能性がある理由はたくさん考えられます。
この問題の最も一般的な原因のいくつかを見てみましょう。
- ファイルを上書きする –既存のMDFファイルを誤って上書きすると、データベースが破損するリスクがあります
- SQLデータベースのロックを解除しようとしています - もし、あんたが SQLパスワードを忘れた 何度も間違って入力すると、SQLServerの破損につながる可能性があります
- ストレージドライブの障害 –言うまでもなく、ドライブの誤動作により、データベースを含むファイルが破損する可能性があります
- SQLデータベース構成の問題 – SQL構成が変更された場合、MDFファイルへのアクセスが無効になる可能性があります
- ウイルス感染 –これは、SQLデータベースファイルだけでなく、ファイルの破損に共通の問題です。最高のウイルス対策ソフトウェアを使用してウイルスを削除しても、残念ながら、一部のデータが失われる可能性があります。
- SQLの内部バグ –強力なソリューションですが、MDFファイルの破損を引き起こす可能性のあるバグが残っている可能性があります
そうは言っても、SQL Server上のSQLデータベースファイルを修復する方法については、ステップバイステップガイドに従ってください。
SQL Serverで破損したデータベースを修復するにはどうすればよいですか?
ノート
ノート: 何かを始める前に、SQLライブラリのバックアップを実行してください。
1. SQLServerを再起動します
- ターミナルを開き、次のコマンドを入力してSQLServerを停止します。
systemctl mysql stop
- SQL Serverのステータスを確認するには、次のコマンドを入力してを押します。 入力:
ステータスmysql.service
- 次に、ターミナルで次のコマンドを実行して、SQLServerを再起動します。
mysql.serviceを再起動します
場合によっては、SQLServerを再起動するだけで問題を解決できることがあります。 もちろん、毎回機能するわけではありませんが、実行するのは非常に簡単なので、実行しても問題はありません。
2. 破損したテーブルを修復する
- SQLServerを起動します。
- 次のコマンドを入力して、を押します 入力 それを実行するには:
CHECK TABLE name_of_the_table;
- テーブルに問題が検出された場合は、次のコマンドを入力してを押します 入力:
REPAIR TABLE name_of_the_table;
REPAIR TABLEはテーブルを修復するのに役立ち、他の破損したテーブルに対しても同じことができますが、この方法では、テーブルから一部のデータが失われる可能性があります。
3. mysqlcheckコマンドを使用します
- ターミナルを開き、次のコマンドを入力または貼り付けてデータベースフォルダにアクセスし、を押します。 入力:
cd / var / lib / mysql
- 次に、次のコマンドを入力してテーブルをテストし、を押します。 入力. 必ず交換してください と 実際の名前で:
mysqlcheck
- テーブルが破損しているというメッセージが表示された場合は、次のコマンドを入力してテーブルを修復し、を押します。 入力:
mysqlcheck -r
4. ALTERTABLEコマンドを使用する
- 次のコマンドを入力して、テーブルタイプ(この場合はMyISAMテーブル)を確認します。
CREATETABLEを表示する
;
- テーブルを再構築するには、次のコマンドを入力してを押します 入力:
他の机
ENGINE = MyISAM;
- InnoDBデータベースがある場合は、代わりに次のコマンドを入力します。
他の机
ENGINE = InnoDB;
- Microsoft SQLServer2019をダウンロードしてインストールします
- 最高のSQLサーバーバックアップソフトウェア[無料&有料]
- SQLServerデータベースを保護する方法
5. SQLServer用のRecoveryToolboxを使用してデータベースを修復します
- SQLServer専用ページのRecoveryToolboxに移動します をクリックします ダウンロード ボタン。
- 言語を選択し、使用許諾契約に同意した後、アプリをインストールします。
- クリック 終了 SQLServerMDF修復ツールを起動します。
- 破損したものを選択してください * .mdf ソースフォルダアイコンをクリックしてファイルを作成します。
- 選択したら、をクリックします 次 ボタン。
- これで、破損したMicrosoftSQLServerデータベースから取得できるデータをプレビューできるようになります。 Microsoft SQL MDF回復ツールウィンドウで[次へ]をクリックして、プロセスを開始します。
- これで、データのエクスポート方法を選択するだけで済みます。 あなたはそれをとして保存することができます SQLスクリプト ディスクに保存し、データベースで直接SQLスクリプトを実行することもできます。
- 最後に、保存するデータを選択してクリックします リカバリを開始します.
だから、これは SQLServerデータベースファイルを修復する方法 このシンプルで効果的なツールで。 ご覧のとおり、作業がはるかに速くなります。
The MSSQLサーバー回復ツール MDFデータベースで次の問題に直面している場合にも役立ちます。
- MicrosoftSQLServerエラー5172 –FILESIZEプロパティが正しくありません
- SQLServerが論理整合性ベースのI/Oエラーを検出しました –これは不正なチェックサムです。SQLServerではエラー824とも呼ばれます。
- インデックス割り当てマップ(IAM)ページは、IAMページの次のポインターによってポイントされます。 –これはかなり一般的な問題です
- ファイルFileName.mdfのオフセット0x######で読み取るときに、I / Oエラー、不正なページIDが検出されました –これは頻繁には発生しませんが、この小さなツールで修復できます
- オペレーティングシステムエラーによりファイルが切り捨てられたようです –構成の問題が原因である可能性があります
- ログレコードIDでエラーが発生しました –データベースに記録された操作のやり直し中に発生します
実際、Recovery Toolbox for SQL Serverを使用すると、データ型、テーブルなど、破損した.mdfファイルのすべてのオブジェクトを修復できます。 セルデータ、ビュー、ストアドプロシージャ、カスタム関数、トリガー、インデックス、主キーと外部キー、制限、および その他。
また、大きな利点は、修復されたデータをアプリからシームレスにMicrosoftSQLServerに直接エクスポートできることです。
これだよ! これで、SQLServerデータベースを手動または専用ツールを使用して修復する方法がわかりました。
追加の方法をご存知の場合、またはご不明な点がございましたら、以下のコメントセクションでお待ちしております。