Сессия, связанная с TM REQUEST и обработкой плана 0x0000

У нас есть периодическое событие, в котором много соединений зависает на TM REQUEST (от sys.dm_os_waiting_tasks) и не продвигается. KILL по затронутому session_id ничего не делает

Сервер выполняет зеркальное отображение базы данных (2008R2). Приостановка и возобновление зеркалирования устраняет проблему, когда это происходит.

Сеанс, застрявший в этом состоянии, неуязвим. Нагрузка на зеркало является обычной, а не взрывоопасной. Как только большое количество соединений застряло в этом состоянии, система зависает, и зеркало перестает реплицироваться (все запросы блокируются).

Кто-нибудь видел это раньше и знал, что его вызывает? В журналах ошибок ничего нет.

11 голосов | спросил Thomas Kejser 21 Jam1000000amTue, 21 Jan 2014 04:52:30 +040014 2014, 04:52:30

2 ответа


8

TM означает Transaction Manager. Текущая команда установлена ​​в TM Запрос означает, что нить в настоящее время обслуживает запрос DTC (Distributed Transaction Coordinator), либо заручиться транзакцией DTC, либо получить от него дефект, либо передать его, или так далее. Распределенные транзакции не поддерживаются для зеркалирования базы данных, поскольку они не могут гарантировать целостность транзакции. Запретите транзакции DTC, и это должно исчезнуть.

ответил stacylaray 25 Jam1000000amSat, 25 Jan 2014 09:46:05 +040014 2014, 09:46:05
0

Service Broker использует диспетчер транзакций SQL Servers вместо Microsoft Distributed Transaction Coordinator (MS DTC). Транзакция выполняется не через экземпляры, а внутри экземпляра. Вы используете Service Broker?

ответил stacylaray 10 FebruaryEurope/MoscowbMon, 10 Feb 2014 08:21:59 +0400000000amMon, 10 Feb 2014 08:21:59 +040014 2014, 08:21:59

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132