Ошибка SqlServer2005: набор резервных копий содержит резервную копию базы данных, отличной от существующей базы данных «DbName» - PullRequest
0 голосов
/ 17 июня 2010

Я пытаюсь выполнить обновление с сервера под управлением SqlServer2005 (без пакетов обновления) до сервера под управлением SqlServer2005 с пакетом обновления 3.

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

Я использую ssms.

Когда я пытаюсь восстановить резервную копию файла DbName, созданного на первом сервере, на втором сервере (я создал базу данных DbName на втором сервере), я получаю сообщение об ошибке:

резервный набор содержит резервную копию базы данных, отличной от существующей базы данных 'DbName'

Что здесь происходит и как мне это исправить?

1 Ответ

3 голосов
/ 17 июня 2010

Если вы создали базу данных с именем DbName и пытаетесь применить резервную копию другой базы данных (также называемой DbName) с первого сервера, то вы получите сообщение об ошибке, которую пытаетесь восстановитьдо другой базы данных.Это предотвращает ошибки, когда вы случайно замените базу данных неправильным содержимым резервной копии.

Существует два решения, оба тривиальных:

  • используйте параметр WITH REPLACEкоманда RESTORE , чтобы она заменяла содержимое базы данных другим набором резервных копий базы данных:

    Указывает, что SQL Server должен создать указанную базу данных и связанные с ней файлы, даже если другая база данныхуже существует с таким же именем.В таком случае существующая база данных удаляется.

  • явно удаляет существующую базу данных перед операцией RESTORE.

SSMS имеетспециальный мастер, который делает это: щелкните правой кнопкой мыши на базе данных, Tasks/Copy Database..., но я бы предпочел сделать это вручную с помощью простых команд T-SQL.

...