Как усечь файл журнала SQL Server
Я попытался скинуть файл журнала базы данных, но он все еще огромен. Моя база данных - 200 МБ, а журнал - 30 ГБ ИСПОЛЬЗОВАНИЕ [имя базы данных]; РЕЗЕРВНЫЙ ЛОГ [имя базы данных] с TRUNCATE_ONLY; DBCC SHRINKFILE ('databasename_log', 1, TRUNCATEONLY);
Не сильно помогает. Даже после полного резервного копирования
2 ответа
У вас могут быть открытые транзакции в журнале. Сделайте DBCC OPENTRAN в журнале и посмотрите, делаете ли вы. Открытая транзакция не позволит вам сжать журнал.
Здесь есть хорошая запись в блоге, которая может дать вам более подробную информацию о том, что происходит за кулисами, и дает вам некоторое представление о недокументированной, но удобной команде DBCC LOGINFO.
Возможно, у вас есть открытая транзакция, которая не была полностью зафиксирована. В SSMS используйте монитор активности и ищите соединения с открытой транзакцией (должен быть столбец с именем open count count). Возможно, вам придется игнорировать транзакцию, которая запрашивает действие. Если есть открытое соединение, исследуйте его или убейте.