Будь-яка активна відкрита транзакція зафіксує журнал, запобігаючи усіченню та врешті-решт спричиняючи зростання. Якщо ви розпочали транзакцію, запишіть у журнал, а потім назавжди чекайте, сподіваючись, що повідомлення зрештою розбудить вас, ви просто закріпили журнал і змусите його рости.
Нещодавно я почав рекомендувати людям уникати WAITFOR в активованій процедурі разом з циклом. Просто випустіть RECIEVe і будьте готові, нехай цикл механізму активації буде циклічним для вас (він це робить), і не WAITFOR, просто просто ПОЛУЧАЙТЕ.
Аромат WAITFOR RECEIVE створює внутрішньо збережену точку. Це генерує журнал (принаймні 3 записи журналу) і дійсно закріплює журнал на місці очікування. Тривалий час очікування WAITFOR (або ще гірше, нескінченний) було б дуже поганою практикою.
WAITFOR (...) TIMEOUT 3600000
вирішити цю проблему? Наприклад, випускають щогодини.