Создание новой базы данных из резервной копии другой базы данных на том же сервере?
Я пытаюсь создать новую базу данных из старой резервной копии базы данных на одном сервере. При использовании среда SQL server management studio и при попытке восстановить новую БД из резервной копии я получаю эту ошибку
System.Data.SqlClient.SqlError: The backup set holds a backup of a database
other than the existing 'test' database. (Microsoft.SqlServer.Smo)
после погуглить я нашел этот кусок кода
RESTORE DATABASE myDB
FROM DISK = 'C:myDB.bak'
WITH MOVE 'myDB_Data' TO 'C:DATAmyDB.mdf',
MOVE 'myDB_Log' TO 'C:DATAmyDB_log.mdf'
GO
мне было интересно, будут ли операторы перемещения связываться с базой данных, из которой была создана резервная копия на этом сервере?
спасибо, все Помощь ценится.
4 ответа:
Я думаю, что это проще, чем это.
- сначала создайте пустую целевую базу данных.
- затем в Мастере восстановления "SQL Server Management Studio" найдите параметр для перезаписи целевой базы данных. Он находится на вкладке "Параметры" и называется 'перезаписать существующую базу данных (с заменой)'. Это проверить.
- не забудьте выбрать целевые файлы на странице "файлы".
вы можете изменить 'вкладки' в левой части мастера (Общие Сведения, Файлы, Параметры)
его даже можно восстановить без создания пустой базы данных на всех.
в среде SQL Server Management Studio щелкните правой кнопкой мыши на базы данных и выберите Восстановить Базу Данных...
в диалоговом окне восстановление базы данных, выберите базу данных-источник или устройство как обычно. После выбора исходной базы данных SSMS заполнит имя целевой базы данных на основе исходного имени базы данных.
затем можно изменить имя базы данных и введите новое имя целевой базы данных.
при таком подходе вам даже не нужно переходить на вкладку Параметры и нажимать опцию "перезаписать существующую базу данных".
кроме того, файлы базы данных будут называться в соответствии с вашим новым именем базы данных, и у вас все еще есть возможность изменить имена файлов, если вы хотите.
думайте об этом как об архиве. Базы данных mydb.Бак содержит базы данных mydb.МДФ и базы данных mydb.ЛДФ.
восстановление с перемещением, чтобы сказать, что HerDB в основном захватывает MyDB.МДФ (MDF и LDF) из резервной копии, и копии их HerDB.МДФ и ЛДФ.
поэтому, если у вас уже был MyDb на экземпляре сервера, который вы восстанавливаете, он не будет затронут.