Temos um evento periódico no qual muitas conexões ficam suspensas no TM REQUEST (de sys.dm_os_waiting_tasks
) e não avançam. KILL
no afetado session_id
não faz nada
O servidor executa o espelhamento de banco de dados (2008R2). Pausar e retomar o espelhamento corrige o problema quando isso acontece.
A sessão travada neste estado é inábil. A carga no espelho é o habitual, não estourada. Quando um alto número de conexões fica bloqueado nesse estado, o sistema congela e o espelho para de replicar (todas as consultas são bloqueadas).
Alguém já viu isso antes e sabe o que está causando isso? Não há nada nos logs de erro.
sql-server
Thomas Kejser
fonte
fonte
fiber mode
?resource_description
set?Respostas:
TM significa Transaction Manager. O comando atual que está sendo definido como Solicitação de TM significa que o encadeamento está atendendo atualmente a uma solicitação do DTC (Distributed Transaction Coordinator), para se inscrever em uma transação do DTC, com defeito ou defeito, confirmação ou assim por diante. As transações distribuídas não são suportadas para o espelhamento de banco de dados porque ele não pode garantir a integridade da transação. Suprima suas transações DTC e isso deve desaparecer.
fonte
sp_configure 'Ad Hoc Distributed Queries'
? - Talvez algum sistema esteja emitindo transações entre bancos de dados usandoOPENQUERY
instruções ad-hoc ou algo assim?O Service Broker usa o gerenciador de transações do SQL Servers em vez do MS DTC (Microsoft Distributed Transaction Coordinator). A transação não é entre instâncias, mas dentro de uma instância. Você está usando o Service Broker?
fonte