sql >> データベース >  >> Database Tools >> SSMS

SQL Server:切り離された/破損したデータベースをアタッチ/修復する方法は?

    回避策を試すことができます。要するに:

    1. 同じ名前のダミーDBを作成します(最初に実際のDBを削除するか、元のファイルを保存するか、名前を変更する必要がある場合があります)。
    2. ダミーをオフラインにします(デタッチして(オフラインに設定するか、SQLサービスを停止します))。
    3. ダミーファイルを削除してから、実際のDBファイルに置き換えます。
    4. deDBを再接続してみてください

    編集

    OPコメントノートのように、ログを再構築する必要がある場合もあります(トランザクションを失った場合)

    1. ALTER DATABASE [MyDatabase] REBUILD LOG ON(NAME =’MyDatabaseLog’、FILENAME =’D:\ Microsoft SQL Server \ YourDataPath \ Data \ Logfile.ldf’)

      DBを複数のユーザーのログに記録します(DBをオフにすると、シングルユースモードにする必要がある場合があります)

    2. ALTER DATABASE [nomdb] SET MULTI_USER

    すべてのマチの詳細については、 Paul Randal Article

    (この記事では、作成者がEMERGENCY MODEを使用してトランザクションログを(試行)修復していることに注意してください)

    私はすでにそれを成功裏に使用しましたが、損傷の程度や他の詳細によっては、それは不可能な作業になる可能性があります。バックアップの復元を検討してください。

    このスタントは開発サーバーでは問題ありませんが、生産サーバーでのディザスタリカバリを計画(およびドリル)する必要があることに注意してください。




    1. 列全体を暗号化するにはどうすればよいですか

    2. #1146-テーブル'phpmyadmin.pma__tracking'が存在しません

    3. 致命的なエラー:phpMyAdminで実行時間が30秒を超えました

    4. MySQL-`if`を使用したスト​​アドプロシージャの構文エラー