Восстановить базу данных в новое место

Хотя я часто использую SQL Server, я не делаю так много резервных копий базы данных. Я успешно восстановил файл backup.bak в исходную базу данных, скажем, Database1.

Однако я также хочу создать новую базу данных Database2 из того же файла резервной копии. Через «Восстановить базу данных» — «Общие» — «Источник» я выбрал файл резервной копии в «Устройстве», а затем изменил имя базы данных в целевой группе на Database2.

Однако он выдает сообщение об использовании файлов журнала с ошибкой.

Примечание: когда я делал это дома, он автоматически создавал новые именованные лог-файлы, а на работе - только ошибки.

Это просто случай перехода на страницу «Файлы» и ручного переименования файлов «Данные строк» ​​и «Журнал», чтобы они соответствовали имени моей новой базы данных Database2?

Должен ли я что-то делать на странице параметров?

Я не хочу вносить какие-либо изменения в исходную базу данных Database1 при создании новой копии базы данных.

Спасибо


person andythpa    schedule 18.08.2018    source источник
comment
Вы не сможете случайно что-либо сделать с файлами данных/журнала SQL Server во время работы службы, если только вы не заставите это сделать; пока они используются, вы не можете их писать/удалять. Как вы сказали в сообщении, вам нужно указать разные имена файлов как для файлов данных, так и для файлов журнала, поскольку они не могут совпадать с другой копией.   -  person Larnu    schedule 18.08.2018


Ответы (1)


Вы можете использовать MOVE следующим образом:

USE [master]
GO

RESTORE DATABASE [Database2] FROM DISK = 'c:\mssql\backup\Database1_Full.bak'
WITH CHECKSUM,
MOVE 'Database1_Data' TO 'c:\mssql\data\Database2_Data.mdf',
MOVE 'Database1_Log' TO 'c:\mssql\Database2_Log.ldf',
RECOVERY, STATS = 10;
person Ruslan Tolkachev    schedule 18.08.2018