Восстановите файл .bak в 2 разных базах данных с помощью запроса T-SQL - PullRequest
0 голосов
/ 21 мая 2019

Я создал резервную копию базы данных A1234 в виде файла A1234.bak.

Я хочу восстановить A1234.bak в 2 разных базах данных, скажем, D1 и D2 в одном экземпляре сервера sql.

Мне нужны одинаковые данные в обеих базах данных.

Я пытался

RESTORE DATABASE D1 
FROM disk='C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\Backup\A1234.bak'

Это работает для D1. Когда я пытаюсь использовать D2, выдает ошибку, что A1234 уже создан и не может быть перезаписан.

когда я вижу в местоположении C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\DATA\, есть файлы базы данных A1234.mdf и A1234_log.ldf и нет D1.
в то время как в SSMS он показывает D1, а не A1234.
Так что я предполагаю, что база данных A1234 просто указывает на D1.

Как я могу просто восстановить схему и данные в любой базе данных, которую я хочу, используя файл .bak. Я видел WITH MOVE команд, но не могу понять

Редактировать: Также пробовал вот так

RESTORE DATABASE D1 FROM DISK = 'C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\Backup\A1234.bak'
WITH MOVE 'A1234' TO 'C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\DATA\D1.mdf',
MOVE 'A1234_log' TO 'C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\DATA\D1_log.ldf',
GO
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...