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

Я пытаюсь восстановить файл резервной копии SQL Server для своей базы данных, но он вызывает ошибку, как показано ниже:

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

Моя база данных в SQL Server 2008 и файл резервной копии находятся в 2005 году.

В чем может быть проблема?

Ответ 1

Я тоже столкнулся с этой проблемой.

Решение:

  • Не создавайте пустую базу данных и восстанавливайте файл .bak.
  • Использовать параметр "Восстановить базу данных" , нажав правой кнопкой мыши на ветке "Базы данных" в SQL Server Management Studio и указать имя базы данных в то время как обеспечивая источник для восстановления.
  • Также измените имена файлов в разделе "Файлы", если другая база данных все еще существует. В противном случае вы получите "Файл"... "не может быть перезаписан. Он используется базой данных" yourFirstDb ".

Ответ 2

Или:

1) Используйте WITH REPLACE при использовании команды RESTORE (если используется графический интерфейс, он находится в разделе "Параметры" → "Перезаписать существующую базу данных (WITH REPLACE))".

2) Delete старая база данных, которая находится в конфликте и восстанавливается снова с помощью команды RESTORE.

Проверьте ссылку для получения более подробной информации.

Ответ 3

Сначала создайте пустую базу данных с тем же именем. Затем перейдите к опции восстановления

В разделе Параметры на левой панели не забудьте выбрать

  • Перезаписать существующую базу данных
  • Сохранять настройки репликации

enter image description here

Что он

Ответ 4

У вас возникла такая же проблема и нашли решение, выполнив это, используя SSMS 2014

- Just select the Option Overwrite the existing database(WITH REPLACE) 

Существующие базы данных > Задача > Восстановить > База данных

Ответ 5

USE [master];
GO

CREATE DATABASE db;
GO

CREATE DATABASE db2;
GO

BACKUP DATABASE db TO DISK = 'c:\temp\db.bak' WITH INIT, COMPRESSION;
GO

RESTORE DATABASE db2
  FROM DISK = 'c:\temp\db.bak'
  WITH REPLACE,
  MOVE 'db' TO 'c:\temp\db2.mdf',
  MOVE 'db_log' TO 'c:\temp\db2.ldf';

Ответ 6

Его, потому что .mdf и .ldf файлы из оригинального Db были найти в возможно c:\programFile\.... и эта информация сохраняется в резервном хранилище!

Если вы создаете одну и ту же БД на другом сервере SQL Server, где выполняется установка в c:\program Files (x86)\.... вы не сможете восстановить как обычно. Вам нужно переместить путь для .mdf и .ldf файлов.

Следовательно:

  • Создать пустую БД на новом Сервере

  • Щелкните правой кнопкой мыши на пустой базе данных Db> Задачи> Восстановление> База данных> щелкните Устройство, выберите файлы .bak > Выберите Db, чтобы восстановить в

  • щелкните "Файлы" слева> выберите "Переместить все файлы в папку"
  • нажмите Опции на левом сайте> нажмите Перезаписать

Готово!
Надеюсь, поможет!

Ответ 7

Простые 3 шага:

1- Щелкните правой кнопкой мыши базу данных> Задачи> восстановить> База данных

2- Проверьте Device как источник и найдите файл .bak

3- В левой панели нажмите на options и:

  1. установите флажок " Перезаписать существующую базу данных".
  2. снимите флажок перед созданием резервной копии
  3. проверить закрыть Существующее соединение с базой данных назначения.
  4. другие варианты действительно необязательны!

Ответ 8

Сегодня я столкнулся с подобной проблемой. Пробовал все вышеупомянутые решения, но не работал. Поэтому отправьте мое решение здесь.

Не забывайте отключить резервное копирование с помощью Tail-long перед восстановлением

Don't forget to uncheck Tail-long Backup before restore

Надеюсь, что это тоже поможет другим!

Ответ 9

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

-- Queries the backup file for the file list in backup set, where Type denotes 
-- type of file. Can be L,D,F or S
-- info: https://docs.microsoft.com/en-us/sql/t-sql/statements/restore-statements-filelistonly-transact-sql
RESTORE FILELISTONLY FROM DISK = 'C:\Temp\DB_backup.bak'
GO

Вы получите результаты, подобные следующим:

enter image description here

И тогда вы можете использовать эти логические имена в запросах:

    -- Script assumes you want MDF and LDF files restored on separate drives. Modify for your scenario
    RESTORE DATABASE DB 
    FROM DISK='C:\Temp\DB_backup.bak'
    WITH REPLACE,
      MOVE 'DB' TO 'E:\MSSQL\Data\DB.mdf', -- "DB" is the mdf logical name from query above
      MOVE 'DB_log' TO 'F:\MSSQL\Logs\DB.mdf'; -- "DB_log" is LDF logical name from query above

Дополнительную информацию о RESTORE FILELISTONLY можно найти в документации по SQL Server.

Ответ 10

Также важно убедиться, что ваше имя базы данных соответствует имя базы данных в резервной копии, которую вы пытаетесь восстановить. Если он не совпадает, вы получите ту же ошибку.

Ответ 11

Прежде чем делать что-либо еще, подтвердите, является ли ваша резервная копия полной или дифференциальной. Если вы пытаетесь создать новую базу данных из дифференциальной резервной копии, независимо от того, что вы делаете, вы столкнетесь с этой ошибкой.

Ответ 12

system.data.sqlclient.sqlerror: набор резервных копий содержит резервную копию базы данных, отличной от существующей базы данных "Dbname"

Я наткнулся, чтобы найти душевное равновесие

  1. Не создавайте базу данных с тем же именем или другим именем! Важно.

  2. щелкните правой кнопкой мыши базу данных | Задачи> Восстановление> База данных

  3. В разделе "Источник для восстановления" выберите "С устройства"

  4. Выберите файл .bak

  5. Установите флажок для базы данных в сетке ниже

  6. В базу данных: "Здесь вы можете ввести новое имя базы данных" (например: DemoDB)

  7. Не выбирайте существующую базу данных из DropDownlist

  8. Теперь нажмите кнопку Ok, она создаст новую базу данных и восстановит все данные из вашего файла .bak.

Вы можете получить помощь по этой ссылке даже

Надеюсь, это поможет разобраться в вашей проблеме...

Ответ 13

Такая же проблема со мной. Решение для меня:

  • Щелкните правой кнопкой мыши по базе данных.
  • Выберите задачи, выберите базу данных восстановления.
  • Выберите параметры с левой стороны.
  • Проверить первый вариант OverWrite существующей базы данных (WITH REPLACE).
  • Перейдите в раздел Общие, выберите базу данных источника и назначения.
  • Нажмите "ОК", чтобы он

Ответ 14

Я просто пытался решить эту проблему.

Я пробовал все: от запуска до администратора до предложений, найденных здесь и в другом месте; то, что в конечном итоге решило это для меня, было проверить параметр "Переместить файлы" на вкладке "Свойства файлов".

Надеюсь, это поможет кому-то еще.

Ответ 15

Мне пришлось создать новый db на моем локальном для тестирования, и у меня была резервная копия от моего продукта. Сначала я создал db и попытался запустить BAK поверх нового db, который произвел эту ошибку для меня. Я удалил db и восстановил его при поиске нового имени db на самом экране восстановления. ДБ автоматически создается при восстановлении.

Ответ 16

Я получил работу через альтернативный путь, используя Generate scripts. Это работало для меня, поскольку Backup-Restore не помог решить проблему из-за той же ошибки.

Ответ 17

Некоторые из вас очень сильно усложняют это. Я нашел это очень простым.

1) Создайте базу данных с тем же именем, что и имя вашей базы данных .bak! Важно

2) щелкните правой кнопкой мыши базу данных | Задачи > Восстановить > База данных

3) В разделе "Источник для восстановления" выберите "От устройства"

4) Выберите файл .bak

5) Установите флажок для базы данных в виде сетки ниже

6) В разделе "Выбрать страницу" справа выберите "Параметры"

7) Установите флажок "Сохранить параметры репликации (WITH KEEP_REPLICATION)

Теперь вернитесь на страницу "Общие" и нажмите "ОК", чтобы восстановить базу данных... Вот и все.

Ответ 18

В параметрах измените имя файла "Восстановить как" на новую базу данных mdf и ldf. Он ссылается на файлы базы данных .mdf и .ldf.

Ответ 19

Вы можете восстановить новый БД, проверить синтаксис имени файла, он будет в файле журнала, так как новая версия SQL будет суффиксом "_log"

ad проверить перезапись существующего флага базы данных на вкладке параметров

Фабио

Ответ 20

Я уверен, что эта проблема связана с разрешениями файлов и папок.

Ответ 21

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

Единственное, что сработало в моем случае, - это восстановление новой пустой базы данных. Это отлично работало, не пыталось перезаписать производственные файлы (что было бы, если бы вы просто восстановили файл резервной копии в существующую промежуточную базу данных). Затем удалите старую базу данных и переименуйте - файлы сохранят новое имя temp, но в моем случае это нормально.

(Или иначе удалите промежуточную базу данных, а затем вы можете восстановить новую базу данных с тем же именем, что и промежуточная база данных)

Ответ 22

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

это работает на моем сервере sql