Будет ли DBCC SHRINKFILE уничтожать активную транзакцию? - PullRequest
0 голосов
/ 28 декабря 2018

Я создал задание, которое ежедневно загружает несколько ГБ данных из исходной БД в мою конечную БД.в начале это задание работало нормально без каких-либо проблем.

В течение последних 2 недель задание не выполняется из-за переполнения журнала транзакций.

Я добавил шаг в свое задание SQlчтобы очистить журнал до начала загрузки, все равно происходит та же ошибка.

Я наблюдал, что последняя таблица, которая загружается перед ошибкой, ждет в течение пары минут, прежде чем произойдет сбой.Я подозреваю, что он ожидает очистки журналов.

Если я выполню команду DBCC SHRINKFILE на этой базе данных, когда задание в данный момент выполняется, удалится ли она или уничтожит активную транзакцию?

1 Ответ

0 голосов
/ 28 декабря 2018

Если я выполню команду DBCC SHRINKFILE в этой БД, когда задание выполняется в данный момент, удалится ли она и уничтожит активную транзакцию

Нет, DBCC SHRINKFILE не делаетt-kill транзакция

Я добавил шаг в свое задание SQL для очистки журнала перед началом загрузки.

Если вы сжимаете файл, и тамнет свободного места, это не собирается очистить или сжать файл журнала.Вам нужно сделать резервную копию файла журнала , в идеале несколько чаще на основе ваших RPO и RTO , или поменять модель восстановления во время этой массовой вставки на что-то вроде BULK LOGGED. Подробнее о том, как делать резервные копии TLOG.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...