2012-06-11 19 views
10

SQL Server 2005を使用しています。データベースの復元に問題があります。データベースの復元時にこのメッセージが表示されます。データベースを復元できません。セッションでデータベースが使用されています。

Restore failed. (Microsoft.SqlServer.Express.Smo)

"System.Data.SqlClient.SqlError: RESTORE cannot process database 'AMOD' because it is in use by this session. It is recommended that the master database be used when performing this operation. (Microsoft.SqlServer.Express.Smo)"

プログラムを再起動しましたデータベースに含まれているテーブルを開かずにこのメッセージが表示されました。私はSQL Serverを初めて使用しています。これが初めての復元です。私は提供された助けを感謝します。

答えて

32

あなたはすべてのユーザーを追い出す必要がありますし、あなたもそのデータベースにいないことを確認してください。 Management Studioを使用している場合、この方法でコンテキストを別のデータベースに変更する(またはデータベースのドロップダウンを別のデータベースに切り替える)必要があります。これにより、他のユーザー(Object Explorer、 )エクスプローラなど詳細、他のクエリウィンドウを、オブジェクトのすべてが誤ってあなたのデータベースへの接続を維持することにより、復元防止することができます

USE master; 
GO 
ALTER DATABASE AMOD SET SINGLE_USER WITH ROLLBACK IMMEDIATE; 

あなたが復元終え、データベースが再び使用可能な状態になったら:

ALTER DATABASE AMOD SET MULTI_USER; 
+3

私はこれを別のユーザー用に設定していましたが、さらにセキュリティ→ログイン→ユーザー→プロパティを右クリックしてDefを設定する必要がありましたデータベースをマスターしてからログアウトして戻してください。 – bmaupin

+0

@bmaupinが一時的にそれらを蹴飛ばすと、それも解決されました。 –

+2

私は何を意味するのかというと、データベースを復元できるように別のユーザーを設定していたのですが、復元するためにログインするたびに、リストアしたいデータベースがデフォルトとして設定されていましたそれ。確かに、私は専門家ではありませんが、デフォルトのDBを変更するとそれを修正したようです。とにかく、素晴らしい答えです! – bmaupin

関連する問題