こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

復旧中のデータベースについて

SQL Serverのバックアップを取る為
DBをオフラインにしたのですが
いくつかのDBが
[DB名](復旧中) となったまま状態が元に戻りません。
この状態を強制的に解除する方法はありますでしょうか?
教えて下さい。

投稿日時 - 2009-07-02 16:25:22

QNo.5092583

すぐに回答ほしいです

質問者が選んだベストアンサー

うーん、そもそもやり方に問題がありますね。

バックアップというのは、通常BACKUPコマンドを使って実行し、バックアップファイルの拡張子はBAKになります。
戻すときはRESTOREコマンドを使って実行します。

質問者さんがやられたようにMDF/LDFのファイル自体をコピーする方法は一般的ではありません。
が、もしやるならば、「オフラインにする」のではなく、「データベースのデタッチ」を実行してデータベースを一旦切り離し、
それからコピーするのが正しい方法です。
(お勧めはしませんが、SQL Serverサービスを停止させてからコピーする方法もあります)

データベースのステータスはシステムデータベースのmasterが管理しています。
データベースをオフラインにして、ファイルを差し替えたことにより、masterデータベースの把握している状態と齟齬が生じてしまったため、そのような状態になってしまったと考えられます。
そのデータベースをドロップするかデタッチして、改めてMDF/LDFをアタッチするしかないと思いますが、前にコピーしたMDF/LDFも同じ方法でとったものならば、わずかながらうまくいかないリスクはあります。

SQL Serverのバージョンは何ですか?Enterprise ManagerもしくはSQL Server Management Studioが使える状態ですか?
(バックアップ、リストア、デタッチ、アタッチはGUIでできるので)

投稿日時 - 2009-07-03 13:27:29

お礼

ご回答ありがとうございます!!
jamshid6さんが仰るように
SQL Server Management Studioで
デタッチ⇒MDF/LDFのコピー⇒アタッチでMDF/LDFの選択を行ったら
無事に戻すことができました。
(復旧中のままだったDBはデタッチしました。)

BACKUPコマンド、RESTOREコマンドも調べて
使えるようにしておきます!

投稿日時 - 2009-07-03 15:33:50

このQ&Aは役に立ちましたか?

8人が「このQ&Aが役に立った」と投票しています

-広告-
-広告-

回答(2)

ANo.1

何をやったのかをもう少し詳細に書いてほしいです。
(オフラインにしたデータベースのバックアップは取ることができないから)

投稿日時 - 2009-07-02 18:28:38

補足

DBをオフラインにした後に
ldfファイルとmdfファイルを昔のものと差し替えて
DBをオンラインに戻すといくつかのDBが
[DB名](復旧中)となってしまいました。

バックアップの取り方、戻し方がそもそも
この方法では駄目だったのでしょうか・・・

投稿日時 - 2009-07-03 09:29:28

-広告-
-広告-

あなたにオススメの質問

-広告-
-広告-