在你的触发器里加下面代码(执行插入语句前) 是用来开启分布式事务的
EXECUTE master..XP_cmdshell 'net start msdtc'
EXECUTE master..XP_cmdshell 'net start SQLSERVERAGENT'

解决方案 »

  1.   

    是不是将这两句
    EXECUTE master..XP_cmdshell 'net start msdtc'
    EXECUTE master..XP_cmdshell 'net start SQLSERVERAGENT'
    放在insert前面,不需要改动?
    我这样试了,还是不行
    begin
    EXECUTE master..XP_cmdshell 'net start msdtc'
    EXECUTE master..XP_cmdshell 'net start SQLSERVERAGENT'insert into openquery (cc,'select From_mobile,To_Mobile,Send_time,msg_Content from ttttt') values ('13454234','1342354564','2007-01-01 00:00:00','qerwesfgsadfgasdf')update DYHIKEMESSAGES set itransfer=1 where DYMSGID=@SMSIDend
      

  2.   

    最后找到替代的方法实现的,
    就是写存储过程,然后建一个job,设置每隔一段时间运行这个存储过程。