Резервное копирование/восстановление из разных баз данных, вызвавших исключение исключительного доступа Restore, невозможно получить
У меня есть база данных A. Я взял резервную копию базы данных A, называемую A.bak. Я создал новую базу данных B. Теперь я щелкаю правой кнопкой мыши и восстанавливаю B из A.bak. В диалоговом окне "Восстановить" я проверил перезапись существующей базы данных и изменил логическое имя_файла от C:\Program Files\Microsoft SQL Server\MSSQL11.SQLSERVER2012\MSSQL\DATA\A.mdf
до C:\Program Files\Microsoft SQL Server\MSSQL11.SQLSERVER2012\MSSQL\DATA\B.mdf
и сделал то же самое с ldf файлом. Но я получаю
Exclusive access could not be obtained because the database is in use
.
Также попытался,
ALTER DATABASE [B] SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
Также sp_who2 не существовало соединения [B]
Ответы
Ответ 1
Причиной попытки получить эксклюзивный доступ является страница параметров диалога восстановления в SQL Server 2012 Management Studio. Он включит tail-log и уйдет в режиме восстановления состояния для базы данных SOURCE. Таким образом, он попытается получить эксклюзивный доступ к исходной базе данных (в данном случае A), чтобы выполнить это действие. Если вы отключите опцию tail log, вы обнаружите, что операция работает гораздо плавно.
Ответ 2
Ответ был очень прост,
Запустите эту команду, чтобы захватить логические имена,
RESTORE FILELISTONLY FROM DISK = 'C:\Users\MyUSer\Desktop\A.bak'
Затем просто поместите в логическое имя ниже,
RESTORE DATABASE B
FROM DISK = 'C:\Users\MyUSer\Desktop\A.bak'
WITH
MOVE 'LogicalName' TO 'C:\Program Files\Microsoft SQL Server\MSSQL11.SQLSERVER2012\MSSQL\Data\B.mdf',
MOVE 'LogicalName_log' TO 'C:\Program Files\Microsoft SQL Server\MSSQL11.SQLSERVER2012\MSSQL\Data\B.ldf'
GO
Обратите внимание, что вам может потребоваться изменить путь. Полезные ссылки,
Как восстановить другую базу данных на сервере sql?
http://technet.microsoft.com/en-us/library/ms186390.aspx
Ответ 3
В. Диалог восстановления базы данных будет отображаться на странице "Общие"
1. Имя восстановительной базы данных отображается в списке "Список базы данных". Чтобы создать новую базу данных, введите ее имя в поле списка.
-
Выберите "От устройства
-
Нажмите кнопку, чтобы отобразить "Выбрать диалог резервного копирования
-
Нажмите "Добавить для просмотра .bak файла из каталога и нажмите" ОК "