Ответ 1
Как сказал Дэмиен, вы должны выяснить причину, почему ваш журнал растет. Отметьте эту должность для объяснения: Повторное использование журнала транзакций Подождите
Удаление многих записей потребует значительного пространства журналов, поэтому, если вы не можете сделать больше места для файла журнала, вам, возможно, придется удалить эти строки несколькими меньшими шагами. Если вы используете "полное" восстановление, вам нужно будет сделать резервную копию журнала после каждого шага.
С одной стороны, BACKUP LOG... WITH TRUNCATE_ONLY - это вообще очень плохая идея. Если вы находитесь в режиме полного восстановления, это приведет к поломке цепочки резервных копий и не позволит вам выполнить восстановление в определенный момент времени. Если вам не нужна восстанавливаемость по времени, используйте вместо этого параметр восстановления "простой". В противном случае возьмите резервную копию журнала и сохраните его вместе с другими файлами резервных копий.
DBCC SHRINKFILE в файле журнала никоим образом не помогает для базы данных, которую вы сокращаете. Вы можете использовать его, чтобы освободить место для других БД на диске, но он не освободит место для текущей базы данных, поскольку он может удалить только пространство, которое можно использовать повторно. Это означает, что любое пространство, освобожденное им, могло быть использовано для вашей транзакции в любом случае.