12

SQL Server 2005を使用していますが、データベースの復元で問題が発生します。データベースを復元しようとすると、このメッセージが表示されます。

復元に失敗しました。(Microsoft.SqlServer.Express.Smo)

"System.Data.SqlClient.SqlError:RESTOREは、このセッションで使用されているため、データベース'AMOD'を処理できません。この操作を実行するときは、マスターデータベースを使用することをお勧めします。(Microsoft.SqlServer.Express.Smo)"

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

4

2 に答える 2

38

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

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

復元が完了し、データベースを再び使用できるようになったら、次のようにします。

ALTER DATABASE AMOD SET MULTI_USER;
于 2012-06-11T14:34:31.283 に答える
0

アクティビティマネージャーを使用して、スクリプト内のリソースの依存関係を強制終了するか、SPIDを単純に強制終了します。

于 2018-03-26T10:30:55.707 に答える