2
トランザクションログの再構築
トランザクションログファイルが(SQL Serverがシャットダウンされている間に)削除された非常に大きなデータベース(〜6TB)があります。 データベースの切り離しと再接続。そして トランザクションログファイルの削除の取り消し ...しかし、これまでのところ何も機能していません。 現在実行中です: ALTER DATABASE <dbname> REBUILD LOG ON (NAME=<dbname>,FILENAME='<logfilepath>') ...しかし、データベースのサイズを考えると、これを完了するにはおそらく数日かかります。 ご質問 上記のコマンドと次のコマンドに違いはありますか? DBCC CHECKDB ('<dbname>', REPAIR_ALLOW_DATA_LOSS) REPAIR_ALLOW_DATA_LOSS代わりに実行する必要がありますか? データベースを再構築できるようにデータが他のソースから派生していることは注目に値しますが、すべてのデータを再挿入するよりもデータベースを修復する方がはるかに迅速になると思われます。 更新 スコアを保持している場合:ALTER DATABASE/REBUILD LOGコマンドは約36時間後に完了し、報告しました: 警告:データベース 'dbname'のログが再構築されました。トランザクションの一貫性が失われました。RESTOREチェーンが破損し、サーバーは以前のログファイルのコンテキストを失ったため、それらが何であるかを知る必要があります。 DBCC CHECKDBを実行して、物理的な一貫性を検証する必要があります。データベースはdbo専用モードになっています。データベースを使用可能にする準備ができたら、データベースオプションをリセットし、余分なログファイルを削除する必要があります。 その後、DBCC CHECKDB成功しました(約13時間かかりました)。データベースバックアップの重要性(そしてプロジェクトマネージャーにサーバーへのアクセスを許可すること...)をすべて知ったとしましょう。