2

SQL Enterprise Managerに「(復元中...)」と表示されるデータベースがあります

SP_WHOを実行した場合、復元プロセスはありません。

サーバー上のディスクとCPUのアクティビティが非常に少ない

全く回復していないと思います。

どうすればこれを取り除くことができますか?

基になるMDFファイルの名前を変更しようとしましたが、「NET STOP MSSQLSERVER」を実行しても、ファイルが開いていると表示されます。

PROCEXPを使用して、ファイルが開いているプロセスを見つけようとしましたが、最新のPROCEXPでさえ、Windows Server 2003R2x64ではそれを実行できないようです。下のペインビューは空白です。

SQL Serverログには、「データベースは復元中とマークされており、リカバリを実行できない状態になっています」と記載されています。

4

3 に答える 3

11

SQLServerには2つのバックアップタイプがあります。

  • 完全バックアップ、データベース全体が含まれています
  • トランザクションログのバックアップ。最後の完全バックアップ以降の変更のみが含まれます

復元するとき、SQL Serverは、完全バックアップ後に追加のログを復元するかどうかを尋ねてきます。WITH NORECOVERYと呼ばれるこのオプションを選択すると、データベースは復元状態のままになります。さらにトランザクションログが復元されるのを待っています。

次の方法で、復元モードを強制的に終了できます。

RESTORE DATABASE <DATABASE_NAME> WITH RECOVERY

このコマンドでエラーが発生した場合は、データベースを切り離し、MDFファイルを削除して、最初から復元を開始してください。失敗し続ける場合は、バックアップファイルが破損している可能性があります。

これは、デフォルトが選択された状態での復元オプションのスクリーンショットです。2番目のオプションは、データベースを復元状態のままにします。

復元オプションの画像http://img193.imageshack.us/img193/8366/captureu.png

PS1。64ビットバージョンのProcessExplorerを実行していますか?タスクマネージャにprocexp64.exeが表示されていることを確認します。

PS2。これは、 serverfaultの質問に似ています。

于 2009-05-16T22:23:17.110 に答える
-1

ファイルのロックを解除しようとしている場合は、Unlocker http://www.emptyloop.com/unlocker/を入手することをお勧めします。

ファイルのロックを解除するか、ファイルをロックしているプロセスを強制終了するオプションが表示されます。これを mdf および ldf ファイルで実行します。

もう 1 つのオプションは、Enterprise Manager または Sql Management Studio からファイルをデタッチしてから、データベースを再アタッチすることです。locker を実行する前にこれを試して、SQL Server が mdf ファイルと ldf ファイルを解放するだけかどうかを確認できます。

注意: プロセスを強制終了すると、データが失われたり、データが破損したりする可能性があるため、これは、プロセスを削除しようとしていて、テスト済みの適切なバックアップがある場合にのみ使用してください。

于 2009-05-16T23:09:49.417 に答える