Как очистить журнал транзакций SQL Server? - PullRequest
536 голосов
/ 11 сентября 2008

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

Ответы [ 21 ]

0 голосов
/ 11 января 2011

Журнал транзакций БД Сокращение до минимального размера :

  1. Резервное копирование: Журнал транзакций
  2. Сжатие файлов: журнал транзакций
  3. Резервное копирование: Журнал транзакций
  4. Сжатие файлов: журнал транзакций

Я провел тесты на нескольких БД: эта последовательность работает .

Обычно уменьшается до 2 МБ .

ИЛИ по сценарию:

DECLARE @DB_Name nvarchar(255);
DECLARE @DB_LogFileName nvarchar(255);
SET @DB_Name = '<Database Name>';               --Input Variable
SET @DB_LogFileName = '<LogFileEntryName>';         --Input Variable
EXEC 
(
'USE ['+@DB_Name+']; '+
'BACKUP LOG ['+@DB_Name+'] WITH TRUNCATE_ONLY ' +
'DBCC SHRINKFILE( '''+@DB_LogFileName+''', 2) ' +
'BACKUP LOG ['+@DB_Name+'] WITH TRUNCATE_ONLY ' +
'DBCC SHRINKFILE( '''+@DB_LogFileName+''', 2)'
)
GO
...