2017-11-13 14 views
1

DBを復元したのは2回目ですが、理由がわからない100%でフリーズします。SQL復元DBが100%で凍結しました[SQL SERVER 2008 R2]

10 percent processed. 
20 percent processed. 
30 percent processed. 
40 percent processed. 
50 percent processed. 
60 percent processed. 
70 percent processed. 
80 percent processed. 
90 percent processed. 
100 percent processed. 
Processed 16305440 pages for database 'db1', file 'db1' on file 1. 
Processed 74479 pages for database 'db1', file 'db1_log' on file 1. 

私が回復し、また、ウィンドウに直接コマンドを実行するためのコンソールを使用してみました、それは100%のまま、それは完全に復元するために、今、それ以来いつかされている63メートルを取りました。

session_id command Percent Complete ETA Completion Time Elapsed Min ETA Min ETA Hours 
61 RESTORE DATABASE 100.00 2017-11-13 16:02:54 69 0.00 0.00 

何が起こっているのですか?データベースを待っているので

RESTORE DATABASE [db1] FROM DISK = N'D:\DATA\db1.bak' WITH FILE = 1, MOVE N'db1' TO N'D:\DATA\db1.mdf', MOVE N'db1_log' TO N'D:\DATA\db1_1.ldf', NOUNLOAD, STATS = 10 

SQL Server 2008 R2の

progress status

+0

100% '?データベースは「復元中」の状態を示しており、アクセスできません。 '復元でデータベース名を復元する ' – LONG

+0

データベースメニューでは、100%が完了したという進捗状況を確認するコマンドを実行している間も、それでも復元が行われます。 –

+0

上記のコマンドを試してください。単に '.bak'を復元しています。最初のファイルはデータベースファイルであると仮定し、クエリを実行した後、回復しないと' Transaction logs backup'を待っていますバックアップファイルを使用すると、データベースを復旧時に復元することができます – LONG

答えて

2

通常は、トランザクションログのバックアップファイルを復元せずにデータベースのバックアップファイルを復元した後、それは、アクセスできないデータベースを残します最新のトランザクションログバックアップ。データベースをアクセス可能に戻す必要がある場合は、.bakが最後に復元する必要があると確信している場合は、RESTORE DATABASE db_name WITH RECOVERYを試してください。

ので、一般的に、データベースを復元するために:あなたが利用可能な.TRNがあるかどうかわからない場合

Restore database name from ... with norecovery --'.bak' 
Restore database name from ... with norecovery --'.dif' 
Restore database name from ... with recovery --'.TRN' 

、データベースが復元後にアクセスできることを確認するために非常に終わりRESTORE DATABASE name WITH RECOVERYを追加することができますジョブ。データベースが前かrestored with recoveryをされていればちょうど第二の防衛のxD

+0

ありがとう、私は他のサーバーでFULLバックアップを実行したときに、それが作成されました。私がそれから復元したとき、それはmdf、ndfとldfを生成しました、私はTRNファイルからバックアップしたくありません。 –

+0

復元可能な '.bak 'しかない場合は、' RESTORE DATABASE name with RECOVERY'を実行してください。 – LONG

+0

進行状況を確認したところで、データベースが既に復元されてアクセス可能になったばかりです。 100%まで完成した時点から、手作業による介入なしに完全に修復されるまでに20mほどかかりました。これは大丈夫ですか? –

1

あなたRESTOREコマンドには、WITH NORECOVERYを持っていない、傷つくことが文句を言わないと、それは別のRESTORE WITH RECOVERYを実行する必要がなかったので、デフォルトでは、WITH RECOVERYです。

代わりにSQL Serverログを確認してください。たぶん、あなたは(Mミリ秒を元に戻す、Lミリ秒をやり直し、分析Kミリ秒。)が見つけN 秒(S)でデータベースmydbという(データベースID 5)のために完成し

回復のようになめらかます。これは、 情報ですメッセージのみ。ユーザーの操作は必要ありません。

これは、データベースが復元されても、データベースの復元がまだ完了していないことを意味します。これは、バックアップが開始された時点でデータベースに のトランザクションがオープンしている場合に発生するため、バックアップが完了した時点でコミットされたかどうかに応じてこれらのトランザクションをロールバックまたはロールバックする必要があります。

関連する問題