Подтвердить что ты не робот

Резервное копирование/восстановление из разных баз данных, вызвавших исключение исключительного доступа 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]

4b9b3361

Ответ 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. Имя восстановительной базы данных отображается в списке "Список базы данных". Чтобы создать новую базу данных, введите ее имя в поле списка.

  1. Выберите "От устройства

  2. Нажмите кнопку, чтобы отобразить "Выбрать диалог резервного копирования

  3. Нажмите "Добавить для просмотра .bak файла из каталога и нажмите" ОК "