Вам необходимо использовать журнал транзакций. Это способ возврата SQL-кода в случае ошибки или частичного завершения запроса.
Основной причиной является не журнал транзакций, а запрос. Вы либо:
1 - запрос плохо оптимизирован (это может быть связано с большим количеством сортировок или хеш-соединений)
2 - чрезмерно используются таблицы #temp в вашем запросе
3 - проблема с местом на диске
Можете ли вы опубликовать запрос, который вы выполняете?
EDIT:
Чтобы выяснить, что может быть причиной проблемы ...
Если у вас несколько #temp
таблиц, все они занимают место в базе данных tempdb. Любая сортировка, которую должен выполнить механизм запросов
(ORDER BY
без индекса, сложные JOIN
условия, которые не используют индексы, множество GROUP BY
или агрегатные функции и т. Д.)
записывает в журнал транзакций tempdb
, потому что вся эта сортировка выполняется там.
Сам запрос может нормально работать , но, вероятно, его необходимо оптимизировать, чтобы избежать этих проблем.