- ベストアンサー
SQL SERVER 2005 EXPRESS EDITIONでのバックアップについて
- SQL SERVER 2005 EXPRESS EDITIONでデータベースのバックアップを定期的に行いたい
- バックアップファイルの作成はできるが、復元する際に「データベースは使用中なので、排他アクセスを獲得できません」というメッセージが表示される
- 回避方法を教えていただきたい
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
#1,#2です。 この質問は、「既定のデータベースがリストア対象のデータベースと同じ場合に、ADO経由でリストアを実行するための方法」だったと思いましたが、そちらの方はもういいわけですかね。 別の質問の方の「バックアップを自動化するツール」ということでsqlcmdをご紹介し、そこにsqlcmdの構文をご紹介したのですが、osqlでも構文は殆ど同じです。 (-Qパラメータを使います)
その他の回答 (2)
- jamshid6
- ベストアンサー率88% (591/669)
#1です。もうひとつの質問にも書きましたが、 RESTORE DATABASE... を USE master;RESTORE DATABASE... にするだけですよ。
補足
いつも教えていただき、本当にありがとうございます。 とりあえず試しに、バックアップのバッチファイルを作成して、MSDE2000がインストールされているパソコンで実行してみました。DOSプロンプトが表示されてOSQLが実行され、ログインまではできます。しかし、バックアップ処理は実行されませんでした。それでプロンプトの1>に手入力でBACKUP・・・と入力してからGOを実行するとバックアップファイルが作成できました。バックアップまで自動実行するにはどうしたらいいのでしょうか。下記が命令です。 osql -U sa -P sa -S EPSON140205644 GO USE MASTER GO BACKUP DATABASE IBSDATA TO DISK = 'C:\TEMP\20091212BK.BAK' GO 素人質問で大変申し訳ありませんが、ご教示のほどよろしくお願いいたします。
- jamshid6
- ベストアンサー率88% (591/669)
リストアしようとしているプロセス自体がアクセスしているからそうなります。 通常データベースの復元はmasterからやります。 USE master GO RESTORE DATABASE xxx....... GO
補足
お忙しいところ、ご教示いただき、ありがとうございます。 できれば、Accessのボタンから処理を実行して、バックアップと復元をできるようにしたいと思っております。 もしかしますと、Accessのボタンからご指摘いただいたバッチファイルを実行すればいいのでしょうか。バッチファイルの作成方法も合わせてご教示いただければ大変助かります。 どうぞよろしくお願いいたします。
お礼
ご教授ありがとうございました。 バックアップ、リストアのどちらも、どのようにするのが一番簡単で使いやすいか模索しておりましたが、いろいろとご回答いただくことができ大変参考になりました。 今後ともよろしくお願いいたします。