Problema
Ao tentar executar uma transação distribuída você pode receber o erro abaixo e ao executar novamente o mesmo script é executado com sucesso.
OLE DB provider “SQLNCLI10” for linked server “<LinkedServer>” returned message “No transaction is active.”.
Msg 7391, Level 16, State 2, Line 4
The operation could not be performed because OLE DB provider “SQLNCLI10” for linked server “<LinkedServer>” was unable to begin a distributed transaction.
Este erro pode ocorrer em ambientes com servidores geograficamente distribuídos, pois por default o MSDTC aguarda até 4 segundos na tentativa de alistar-se no DTC do servidor destino, caso o tempo seja maior do que os 4 segundos, o DTC retorna a mensagem de erro No transaction is active . A latência do link geralmente é um dos grandes causadores deste problema.
Como identificar e resolver veja o conteúdo no artigo que escrevi no technet wiki
http://social.technet.microsoft.com/wiki/contents/articles/5141.aspx
Att.
Marcelo Fernandes

