BACKUP LOG неможливо виконати, оскільки немає поточного резервного копіювання бази даних


103

Я намагався відновити базу даних, але це повідомлення показало. Як відновити цю базу даних?

Не вдалося відновити базу даних "farhangi_db".
(Microsoft.SqlServer.Management.RelationalEngineTasks)
------------------------------ ДОДАТКОВА ІНФОРМАЦІЯ:

System.Data.SqlClient.SqlError: BACKUP LOG неможливо виконати, оскільки
немає поточного резервного копіювання бази даних. (Microsoft.SqlServer.SmoExtended)


2
Це диференціальне резервне копіювання?
Амір Кешаварц

@AmirrezaKeshavarz: що? (motavajeh nemisham manzuretuno)
Саман

1
Я маю на увазі, що яку резервну копію ви збираєтесь відновити? (резервне копіювання журналу транзакцій / повне резервне копіювання / диференціальне резервне копіювання?)
Амір Кешаварц

Здається, зламаний журнал транзакцій
bksi

Чи існує ваша база даних? L
Амір Кешаварц

Відповіді:


204

Спочатку я створив базу даних, а потім відновив файл резервної копії в новій порожній базі даних:

Клацніть правою кнопкою миші на Бази даних> Відновити базу даних> Загальне: Пристрій: [шлях резервного копіювання файлу] → ОК

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

Тепер натомість я роблю це:

Клацніть правою кнопкою миші на Бази даних> Відновити базу даних> Загальне: Пристрій: [шлях резервного копіювання файлу] → ОК


Я переживаю ту саму помилку, яка працювала і для мене.
javiniar.leonard

Працював і для мене
nbhatti2001,

127

Ще одна причина цієї проблеми - коли Take tail-log backup before restoreввімкнено налаштування "Параметри".

На вкладці "Параметри" вимкніть / зніміть прапорець Take tail-log backup before restoreперед тим, як відновити базу даних, яка ще не існує.


Дякую @Peach, ти економиш мій час.
Френк М'ят Четвер

@Peach Спасибі врятував мій час.
LKC

@Peach Дуже дякую!
Мохіт Дхармадхікарі

І перевірте варіант "З ЗАМІНЮ"
Андрій Горда

33

Будь ласка, дивіться нижче зображення та застосуйте зміни в SqlServer:

перша права кнопка миші на базі даних -> Завдання -> Відновлення -> Виберіть Backup File -> Нарешті Застосувати Зміни в закладці Options .

будь ласка, застосуйте зміни в SqlServer


У моєму випадку я це роблю і встановлюю перший прапорець "Перезаписати існуючу базу даних (З ЗАМІНЬОЮ") і працює.
Amaurys Sánchez

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 Data та видаліть файли баз даних попереднього перегляду
  3. Запустіть послугу sql
  4. Клацніть правою кнопкою миші на базі даних та виберіть Відновити базу даних
  5. на вкладці Файли змінити папку Файл даних та Папка файлу журналу
  6. Клацніть OK, щоб відновити вашу базу даних

моя проблема була вирішена цим методом BY ...


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.