none
连接不在本机的SQL Server报错 RRS feed

  • 问题

  • 我在连接不是本机的SQL Server,在生成架构的时候报“新事务不能登记到指定的事务处理器中”的异常。

    然后参考了http://www.cnblogs.com/pengyq/archive/2008/09/10/1288176.html上的配置,但是问题仍没有解决。大家有碰到这个问题的么?对上面的解决办法大家有没有什么补充的可以让我去试试么?

     

    或者大家对连接到不是本机的数据库server时,是怎么操作的?我连本机的成功了,但是就这个MSDTC怎么也配置不成功。。。

    SOS,

    2008年11月28日 8:48

答案

  • 这个问题一般是MSDTC的问题,还可以参考:http://www.cnblogs.com/chnking/archive/2007/04/04/699891.html
     
    特别注意最后一点:
    远程服务器上的名称解析

    分布式事务的参与服务器是需要相互访问的,发起查询的服务器要根据机器名或ip查找远程服务器的,同样远程服务器也要查找发起服务器,远程服务器通过发起服务器的机器名查找服务器,所以要保证远程服务器能够通过发起服务器的机器名访问到发起服务器。

    一般的,两个服务器在同一网段机器名能就行很好的解析,但是也不保证都能很好的解析,所以比较保险的做法是:

    在远程服务器的在“C:\WINDOWS\system32\drivers\etc\hosts”文件中增加一条记录:

    xxx.xxx.xxx.xxx   发起服务器名

    • 已标记为答案 GaryZhang 2009年5月11日 4:57
    2008年11月28日 11:27

全部回复

  • 这个是属于BizTalk到SQLSERVER通讯的问题,,你可以考虑采用用户名/密码的方式访问(如sa,密码),并检查Sqlserver服务器是否支持通过帐号的访问方式(身份验证模式应该是SQL SERVER 和Windows)...

     

    2008年11月28日 9:59
  • 这个问题一般是MSDTC的问题,还可以参考:http://www.cnblogs.com/chnking/archive/2007/04/04/699891.html
     
    特别注意最后一点:
    远程服务器上的名称解析

    分布式事务的参与服务器是需要相互访问的,发起查询的服务器要根据机器名或ip查找远程服务器的,同样远程服务器也要查找发起服务器,远程服务器通过发起服务器的机器名查找服务器,所以要保证远程服务器能够通过发起服务器的机器名访问到发起服务器。

    一般的,两个服务器在同一网段机器名能就行很好的解析,但是也不保证都能很好的解析,所以比较保险的做法是:

    在远程服务器的在“C:\WINDOWS\system32\drivers\etc\hosts”文件中增加一条记录:

    xxx.xxx.xxx.xxx   发起服务器名

    • 已标记为答案 GaryZhang 2009年5月11日 4:57
    2008年11月28日 11:27
  • 你的环境应该不是在Cluster的吧?如果是的话需要在Cluster Administration的Group中创建相应的MSDCT资源。才能启动。
    2008年11月29日 2:56
  • 应该是MSDTC的问题,但是今天搞了还是没有进展。

    对135端口,我在防火墙中开了,但是不能telnet通,不知道是什么原因。我用端口扫描的软件,测试端口是打开的。

    那么应该不影响RPC服务的使用的吧?

    还有,我在biztalk想要生成的只是个select语句,里面没有啥事务~~还有其实SQL服务器就是我虚拟机装的本机,2个同处于一个网段内,ping机器名都是ok的,而且我也改了host里面的内容,但是还是报“新事务不能登记到指定的事务处理器中”,各位还有啥招不?

    2008年12月1日 7:49
  • 以前可不可以,是不是你最近做了什么操作导致不可以的?
    2008年12月1日 13:14
  • 1.  建议关掉防火墙再试一下.
    2. 在MSDTC 的配置页面, 试试最基本的设置情况, 排除这个错以后,再增加安全选项功能.
    2008年12月9日 8:43