Что делать, если при создании лога транзакций в MsSQL возникает ошибка?

Добрый день! При создании лога транзакции возникает ошибка: <br/> <blockquote>Инструкцию BACKUP LOG невозможно выполнить, так как не существует резервной копии текущей базы данных</blockquote> <br/> При этом резервное копирование базы данных выполняется успешно. Лог транзакций также создается несколько раз, но затем появляется указанная ошибка. <br/> Может ли причина заключаться в очистке журнала транзакций (при переводе базы в режим simple, выполнении shrink и последующем возврате в режим full)? На другом сервере аналогичных проблем не наблюдается.
  • 12 ноября 2024 г. 5:23
Ответы на вопрос 2
Ошибка, которую вы получили, указывает на то, что SQL Server требует резервную копию базы данных перед выполнением резервного копирования журнала транзакций. Вот шаги, которые можно предпринять для решения этой проблемы:

1. **Создание полной резервной копии базы данных**: Если у вас есть база данных, находящаяся в режиме полной сохранности (FULL), перед созданием резервной копии журнала транзакций вам необходимо сначала создать полную резервную копию этой базы данных, если такой резервной копии еще нет. Это в первую очередь необходимо, чтобы обеспечить возможность резервного копирования журнала транзакций.

    ```sql
    BACKUP DATABASE YourDatabaseName TO DISK = 'C:\Backup\YourDatabaseName_Full.bak';
    ```

2. **Проверка режима восстановления**: Убедитесь, что ваша база данных действительно находится в режиме полной сохранности (FULL). Вы можете проверить это с помощью следующего запроса:

    ```sql
    SELECT name, recovery_model
    FROM sys.databases
    WHERE name = 'YourDatabaseName';
    ```

   Если база данных находится в режиме **SIMPLE**, вы не сможете выполнять резервное копирование журнала транзакций.

3. **Создание резервной копии журнала транзакций**: После создания полной резервной копии вы сможете выполнять резервное копирование журнала транзакций несколько раз. Используйте следующую команду:

    ```sql
    BACKUP LOG YourDatabaseName TO DISK = 'C:\Backup\YourDatabaseName_Log.trn';
    ```

4. **Регулярные резервные копии журнала транзакций**: Чтобы избежать возникновения этой ситуации в будущем, рекомендуется регулярно создавать резервные копии журнала транзакций, особенно если база данных активно используется.

5. **Проверка очистки и перевода в режим SIMPLE**: Если вы перевели базу данных в режим SIMPLE, это будет стереть все записи журнала транзакций, и резервное копирование журнала транзакций после этого не сможет быть выполнено. Если после этого вы хотите вернуться в режим FULL, вам нужно снова сделать полную резервную копию базы данных.

6. **Отслеживание других ошибок**: Если вы продолжаете испытывать проблемы с журналом транзакций, проверьте логи SQL Server на наличие других ошибок, которые могут указывать на проблемы с самим сервером или базой данных.

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