Не удалось восстановить базу данных, база данных используется сеансом

Я использую SQL Server 2005, и у меня проблема с восстановлением моей базы данных. Я получаю это сообщение при попытке восстановить мою базу данных.

Восстановить не удалось. (Microsoft.SqlServer.Express.Smo)

"System.Data.SqlClient.SqlError: RESTORE не может обрабатывать базу данных" AMOD ", потому что он используется в этом сеансе. Рекомендуется, чтобы при выполнении этой операции используется основная база данных. (Microsoft.SqlServer.Express.Smo)"

Я перезапустил программу, я не открыл никаких таблиц, содержащихся в базе данных, и я все еще получаю это сообщение. Я новичок в SQL Server, и это первый раз, когда я делаю восстановление. Я ценю любую предоставленную помощь.

Ответ 1

Вам нужно выгнать всех пользователей и убедиться, что вы тоже не в этой базе данных. Предполагая, что вы находитесь в Management Studio, вам нужно изменить свой контекст на другую базу данных (или переключить раскрывающееся меню базы данных в другую базу данных) таким образом, и это также выкинет других пользователей (которые могут быть вы - Object Explorer, Сведения обозревателя объектов, другие окна запросов и т.д. Могут быть непреднамеренно предотвращать восстановление, поддерживая соединение с вашей базой данных):

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

Как только вы закончили восстановление, и база данных готова к использованию снова:

ALTER DATABASE AMOD SET MULTI_USER;