BACKUP LOG не может быть выполнен, потому что нет текущей резервной копии базы данных

104

Я попытался восстановить базу данных, но появилось это сообщение. Как мне восстановить эту базу данных?

Не удалось восстановить базу данных farhangi_db.
(Microsoft.SqlServer.Management.RelationalEngineTasks)
------------------------------ ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ:

System.Data.SqlClient.SqlError: BACKUP LOG не может быть выполнен из-за
отсутствия текущей резервной копии базы данных. (Microsoft.SqlServer.SmoExtended)

Саман
источник
2
Это дифференциальная резервная копия?
Амир Кешаварз
@AmirrezaKeshavarz: что? (motavajeh nemisham manzuretuno)
Саман
1
Я про то, какую резервную копию собираетесь восстанавливать? (резервное копирование журнала транзакций / полное резервное копирование / дифференциальное резервное копирование?)
Амир Кешаварц
Похоже, журнал транзакций сломан
bksi
Ваша база данных существует? L
Амир Кешаварз

Ответы:

207

Первоначально я создал базу данных, а затем восстановил файл резервной копии в моей новой пустой базе данных:

Щелкните правой кнопкой мыши Базы данных> Восстановить базу данных> Общие: Устройство: [путь к файлу резервной копии] → ОК

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

Вместо этого я делаю следующее:

Щелкните правой кнопкой мыши Базы данных> Восстановить базу данных> Общие: Устройство: [путь к файлу резервной копии] → ОК

Саман
источник
Я столкнулся с той же ошибкой, и это сработало для меня.
javiniar.leonard
Сработало и
130

Другая причина этой проблемы - когда Take tail-log backup before restoreвключен параметр «Параметры».

На вкладке «Параметры» отключите / снимите флажок Take tail-log backup before restoreперед восстановлением в базу данных, которая еще не существует.

персик
источник
Спасибо, @Peach, ты экономишь мое время.
Фрэнк Мьят Чт,
@Peach Спасибо, сэкономил мне время.
LKC
@Peach Большое спасибо!
Мохит Дхармадхикари
И отметьте опцию «ЗАМЕНА»
Андрей Хорда
33

Пожалуйста, посмотрите изображение ниже и примените изменения в SqlServer:

сначала щелкните правой кнопкой мыши База данных -> Задача -> Восстановить -> Выбрать файл резервной копии -> Наконец, применить изменения на вкладке параметров .

пожалуйста, примените изменения в SqlServer

АминГольмахалле
источник
В моем случае я делаю это и ставлю первый флажок «Перезаписать существующую базу данных (С ЗАМЕНИТЬ)» и работает.
Аморис Санчес,
6
  1. Убедитесь, что есть новая база данных.
  2. Убедитесь, что у вас есть доступ к вашей базе данных (пользователь, пароль и т. Д.).
  3. Убедитесь, что есть файл резервной копии без ошибок.

Надеюсь, это поможет тебе.

Оскар
источник
2

Другой причиной этого является восстановление той же базы данных под другим именем. Удалите существующий, а затем восстановите его для меня.

ЛоториэнДанАдуа
источник
Спасибо за ответ. Лол, почему Microsoft SQL Server не мог только что сказать: «Чувак, сначала удалите существующую базу данных перед восстановлением!»
sivabudh
1

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

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

Дэниел Боуэн
источник
1

Я исправил ошибку при восстановлении несуществующей БД с SQL 2008 на SQL 2014, поставив галочку на Перемещение в новое расположение папки SQL2014.

Оскар Гонсалес
источник
1

Вы можете использовать следующий SQL для восстановления, если вы уже создали базу данных

RESTORE DATABASE [YourDB]
FROM DISK = 'C:\YourDB.bak'
WITH MOVE 'YourDB' TO 'C:\YourDB.mdf',
MOVE 'YourDB_Log' TO 'C:\YourDB.ldf', REPLACE
HasanG
источник
0

Я просто удалил существующую БД, которую хотел переопределить с помощью резервной копии, и восстановил ее из резервной копии, и она работала без ошибок.

Донголо Джено
источник
0

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

Помните, что путь назначения файлов .mdf и .ldf связан с самим файлом резервной копии.

Если это не так, это означает, что файл резервной копии поступает из среды, отличной от среды вашего текущего хостинга, убедитесь, что пути к файлам .mdf и .ldf такие же (существуют), что и на вашем компьютере, в противном случае переместите их. (В основном это восстановление db в образе Docker)

Как это сделать: В Базах данных -> Восстановить базу данных -> Параметр [Файлы] -> (Отметьте «Переместить все файлы в папку» - в основном путь по умолчанию уже указан в вашей среде хостинга)

тихо
источник
0

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

Сарат
источник
0

В моем случае я восстанавливаю базу данных SQL Server 2008 R2 в SQL Server 2016. После выбора файла на вкладке «Общие» вы должны перейти на вкладку «Параметры» и выполнить 2 действия :

  1. Вы должны активировать перезапись существующей базы данных
  2. Вы должны деактивировать конец записи копии
Анибал Роман Креспо
источник
-1

Просто вы можете использовать этот метод:

  1. Если у вас есть база данных с таким же именем: WIN+R-> services.msc-> SQL SERVER(MSSQLSERVER)->Stop
  2. Перейдите по пути к папке данных MySQL и удалите файлы базы данных превью.
  3. Запустить службу sql
  4. Щелкните правой кнопкой мыши базу данных и выберите Восстановить базу данных.
  5. на вкладке Файлы измените папку с файлом данных и папку с файлом журнала
  6. Нажмите ОК, чтобы восстановить базу данных.

моя проблема была решена этим методом BY ...

Моджтаба Резаи
источник
-1

Щелкните правой кнопкой мыши по вашей базе данных Задачи для прессы> Резервное копирование и сделайте резервную копию вашей базы данных перед восстановлением базы данных. Я использую этот способ решения этой проблемы.

Abkreno Pronce
источник