У нас есть периодическое событие, когда множество соединений висят на TM REQUEST (from sys.dm_os_waiting_tasks
) и не прогрессируют. KILL
на пострадавшем session_id
ничего не делает
Сервер выполняет зеркальное отображение базы данных (2008R2). Приостановка и возобновление зеркалирования устраняет проблему, когда это происходит.
Сеанс, застрявший в этом состоянии, невозможен. Нагрузка на зеркало обычная, не бурная. Как только в этом состоянии застрянет большое количество соединений, система зависает, и зеркало перестает реплицироваться (все запросы блокируются).
Кто-нибудь видел это раньше и знает, что вызывает это? В журналах ошибок ничего нет.
sql-server
Томас Кейсер
источник
источник
fiber mode
?resource_description
установлено?Ответы:
ТМ расшифровывается как Transaction Manager. Текущая команда, установленная на TM Request, означает, что поток в настоящее время обслуживает запрос DTC (Координатор распределенных транзакций), либо для зачисления в транзакцию DTC, либо из-за дефекта, либо для его подтверждения, и так далее. Распределенные транзакции не поддерживаются для зеркального отображения базы данных, поскольку оно не может гарантировать целостность транзакции. Подавите свои транзакции DTC, и это должно уйти.
источник
sp_configure 'Ad Hoc Distributed Queries'
? - Может быть, какая-то система выдает транзакции между базами данных, используяOPENQUERY
специальные операторы или что-то в этом роде?Компонент Service Broker использует диспетчер транзакций SQL-серверов вместо координатора распределенных транзакций Microsoft (MS DTC). Транзакция происходит не между экземплярами, а внутри экземпляра. Вы используете Service Broker?
источник