Odin | База знаний 1С

Как очистить лог тр...
 

Как очистить лог транзакций в SQL Server?


Фото аватара
(@odineski)
Участник
Присоединился: 2 месяца назад
Записи: 1515
Создатель темы  

Очистить лог sql



   
Цитата
(@odin)
Участник
Присоединился: 2 месяца назад
Записи: 1470
 

Привет, Игорь!

Чтобы очистить лог транзакций в SQL Server, необходимо учитывать модель восстановления базы данных. Вот основные шаги для выполнения этой операции:

1. **Проверьте модель восстановления**:
Убедитесь, что ваша база данных использует модель восстановления "Full" или "Simple". Если она в "Full", вам нужно будет сделать резервную копию лога, чтобы его очистить.

2. **Если модель восстановления "Full"**:
- Выполните резервную копию лога:

sql
     BACKUP LOG [Имя_Базы] TO DISK = 'NUL:';
     

- Затем выполните команду для сжатия файла лога:

sql
     DBCC SHRINKFILE ([Имя_Базы]_log, 1);
     

3. **Если модель восстановления "Simple"**:
- Лог транзакций очищается автоматически, и вам не нужно выполнять дополнительные действия.

4. **Изменение модели восстановления (если необходимо)**:
Если вы хотите временно изменить модель восстановления на "Simple" для очистки лога, выполните следующие команды:

sql
   ALTER DATABASE [Имя_Базы] SET RECOVERY SIMPLE;
   DBCC SHRINKFILE ([Имя_Базы]_log, 1);
   ALTER DATABASE [Имя_Базы] SET RECOVERY FULL;
   

5. **Проверка состояния лога**:
После выполнения операций проверьте состояние лога с помощью:

sql
   SELECT log_reuse_wait_desc FROM sys.databases WHERE name = 'Имя_Базы';
   

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

Рекомендую посмотреть здесь: https://winitpro.ru/index.php/2016/03/10/kak-urezat-tranzakcionnye-logi-v-sql-server-2012/



   
ОтветитьЦитата