2017-01-06 2 views
0

Я выполняю тот же запрос в двух разных окнах одного и того же сервера. Единственное различие: запрос, который бросает выше ошибки, получил «индекс» во временных таблицах.журнал транзакций для базы данных «tempdb» заполнен из-за «ACTIVE_TRANSACTION

Запрос без индекса на временных таблицах работает нормально. Пожалуйста, объясните, каким образом индекс мог быть причиной этой ошибки?

+0

В общем, это не должен быть в случае, если вы сервер не имеете пространство хруста при темпе дб. –

+0

Существует активная транзакция. Во время LOG BACKUP выполняется длительная транзакция. –

+0

Когда есть индекс, SQL-Server должен его поддерживать (проверьте и обновите его, если какие-либо изменения данных). Эти вещи занимают ресурсы, и они считаются частью вашей транзакции. – DVT

ответ

0

Это зависит от вашего запроса. SQL-Server должен поддерживать индексы во время изменений данных. Это может привести вас к разным событиям времени.

Попробуйте это: проверьте два разных экземпляра SQL Server, что именно работает на вашем рабочем сеансе во время выполнения запроса. Вы можете сделать это событие ожидания мониторинга, создав сеансы монитора для одного SPID.

Это моя полная процедура следующим образом: http://zaboilab.com/sql-server-toolbox/monitoring-wait-events-of-a-single-session-or-query

Смежные вопросы