Назад | Перейти на главную страницу

Автономная база данных не может быть восстановлена: не удалось получить монопольный доступ

Я практикую миграцию с SharePoint 2010 на 2013 и не могу восстановить базу данных. После резервного копирования базы данных на сервере SP2010 / SQL 2008 я пытаюсь восстановить ее в базе данных, которую я только что создал на моем сервере SP2013 / SQL 2012.

Несмотря на пользовательский интерфейс, я отключил целевую базу данных. Я выбираю .bak файл, выберите мою целевую базу данных и попытайтесь восстановить. Я получаю сообщение об ошибке: Exclusive access could not be obtained because the database is in use.

Почему это происходит? Я отключил базу данных, я не понимаю, как она могла быть использована.

В окне восстановления я попытался зайти в Параметры и выбрать Overwrite the existing database (WITH REPLACE) так же как Close existing connections to destination database.

Все еще то же сообщение об ошибке. Как мне избежать этой ошибки?

Вы тот человек, который в настоящее время пользуется базой данных? :)

Попробуйте запустить это перед восстановлением:

USE master
Go
ALTER DATABASE YourDB
SET SINGLE_USER
WITH ROLLBACK IMMEDIATE;

Это должно всех подбодрить. Если нет, то вы определенно тот человек, который сейчас использует базу данных. Закройте все окна SSMS с помощью базы данных и запустите:

ALTER DATABASE YourDB
SET offline

Здесь есть ряд проблем и вещей, которые я не упомянул, которые были частью проблемы. Это была резервная копия базы данных, сделанная из экземпляра SQL 2008 и восстанавливаемая в экземпляре SQL 2012. Вот этот кусочек T-SQL, наконец, сделал это:

RESTORE DATABASE [WSS_Content_Migrated] 
FROM DISK = 'C:\Program Files\Microsoft SQL Server\MSSQL11.SQL\MSSQL\Backup\WSS_Content.bak' WITH 
MOVE 'WSS_Content' TO 'C:\Program Files\Microsoft SQL Server\MSSQL11.SQL\MSSQL\Backup\WSS_Content.mdf',
MOVE 'WSS_Content_log' TO 'C:\Program Files\Microsoft SQL Server\MSSQL11.SQL\MSSQL\Backup\WSS_Content.ldf'
, REPLACE