Назад | Перейти на главную страницу

Как усечь файл журнала SQL Server

Я попытался скопировать файл журнала базы данных, но он все еще огромен. Моя база данных составляет 200 МБ, а журнал - 30 ГБ. USE [имя базы данных]; РЕЗЕРВНЫЙ ЖУРНАЛ [имя базы данных] С TRUNCATE_ONLY; DBCC SHRINKFILE ('имя_базы_данных', 1, TRUNCATEONLY);

Не очень помогает. Даже после полного резервного копирования

У вас могут быть открытые транзакции в журнале. Сделать DBCC OPENTRAN в журнале и посмотрите, сделаете ли вы. Открытая транзакция помешает вам сжать журнал.

Есть хорошая запись в блоге здесь это может дать вам более подробную информацию о том, что происходит за кулисами, и даст вам некоторую справочную информацию о недокументированной, но удобной команде DBCC LOGINFO.

Возможно, у вас есть открытая транзакция, которая не была полностью зафиксирована. В SSMS используйте монитор активности и ищите соединения с открытой транзакцией (должен быть столбец, называемый счетчиком открытых транзакций). Возможно, вам придется игнорировать транзакцию, которая запрашивает активность. Если есть открытое соединение, выясните, что это такое, или отключите его.