※ ChatGPTを利用し、要約された質問です(原文:SQL Server7.0でバックアップしたデータの復元)
SQL Server7.0でデータのバックアップと復元の方法
このQ&Aのポイント
SQL Server7.0でデータのバックアップと復元処理を行う方法について説明します。
復元操作を実行する際に発生する「データベースは使用中です」エラーについて、原因と対処法を解説します。
VBからのバックアップと復元のSQL文についても例示します。
SQL Server7.0でバックアップしたデータの復元
VBからSQL Server7.0(SP1)のデータをバックアップしたデータの
復元処理をしようとしたのですが、次のエラーで復元できません。
「データベースは使用中です。システム管理者は復元操作を実行するために、
データベースを排他的に使用する必要があります。」
MicrosoftのHPからこのエラーを調べたところ、
「model データベースの使用中には復元ができない」バグがあるということです
(http://support.microsoft.com/default.aspx?scid=kb;ja;199216)
が、sp_whoストアドプロシージャで調べたところ、Modelデータベースは使用していないようです。
Enterprise Managerからデータベース復元を行うと、
復元ができました。
ちなみに、VBからのバックアップのSQLは
BACKUP DATABASE データベース名 TO DISK = '保存先' WITH INIT
復元のSQLは
RESTORE DATABASE データベース名 FROM DISK = '復元元' WITH RECOVERY
です。
お礼
ありがとうございます。 ALTER DATABASE データベース SET SINGLE_USER を実行してみると 「キーワード 'SET' 付近に正しくない構文があります。」 というエラーがでましたので、 sp_dboption Trace,'single user',true としてみましたが、 「別のユーザーがデータベースを使用中は、データベースの 'single user' オプションを変更できません。」 というエラーがでてしまいました。 Enterprise Managerからシングルユーザーモードにすることはできましたが、 今度はデータベースに接続できなくなってしまいました。(タイムアウト) もうちょっといろいろ試してみたいと思います。
補足
「別のユーザーがデータベースを使用中」 というのは、自分自身が接続しているせいだとわかったので、 Masterデータベースに接続しなおして復元するとできました。 しかし、復元状態もちょっとおかしいのですが、 とりあえずこの件は締め切って、わからなかったらまたきます。 ありがとうございました。