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

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

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.