分布式事宜-两台服务器是不在同一个网段
分布式事务--两台服务器是不在同一个网段我做了一个存储过程,把本地服务器的数据倒到外网的服务器上,但是
分布式事务--两台服务器是不在同一个网段 我做了一个存储过程,把本地服务器的数据倒到外网的服务器上,但是为了保证完整性,必须使用分布式事务,但是这两台服务器是不在同一个网段,会报错 ----------- 链接服务器"srv_lnk"的 OLE DB 访问接口 "SQLNCLI" 返回了消息 "没有活动事务。"。 消息 7391,级别 16,状态 2,过程 proc_copybookdata,第 25 行 无法执行该操作,因为链接服务器 "srv_lnk" 的 OLE DB 访问接口 "SQLNCLI" 无法启动分布式事务。 ------------ 亲~~~有木有人能解决这个问题,3q~~~~~~~~~╭(╯3╰)╮[最优解释]
启动两台服务器的MSDTC服务 MSDTC服务提供分布式事务服务,如果要在数据库中使用分布式事务,必须在参与的双方服务器启动MSDTC(Distributed Transaction Coordinator)服务。 打开双方的135端口 MSDTC服务依赖于RPC(Remote Procedure Call (RPC))服务,RPC使用135端口,保证RPC服务启动,如果服务器有防火墙,保证135端口不被防火墙挡住。 使用“telnet IP 135”命令测试对方端口是否对外开放。也可用端口扫描软件(比如Advanced Port Scanner)扫描端口以判断端口是否开放 [其他解释] 在 Transact-SQL 中启动的分布式事务的结构相对比较简单:
1. Transact-SQL 脚本或应用程序连接执行启动分布式事务的 Transact-SQL 语句。
2. 执行该语句的 Microsoft® SQL Server? 成为事务中的主控服务器。
3. 然后脚本或应用程序对链接的服务器执行分布式查询,或对远程服务器执行远程存储过程。
4. 当执行了分布式查询或远程过程调用后,主控服务器将自动调用 MS DTC 以便登记分布式事务中链接的服务器和远程服务器。
5. 当脚本或应用程序发出 COMMIT 或 ROLLBACK 语句时,主控 SQL Server 将调用 MS DTC 管理两阶段提交过程,或者通知链接的服务器和远程服务器回滚其事务。
[其他解释] 引用: SQL code 启动两台服务器的MSDTC服务 MSDTC服务提供分布式事务服务,如果要在数据库中使用分布式事务,必须在参与的双方服务器启动MSDTC(Distributed Transaction Coordinator)服务。 打开双方的135端口 MSDTC服务依赖于RPC(Remote Procedure Call (RPC))服务,RPC使用135端口,保证RPC服务启动,如果…… =================================
已经配置过了。。。。。
[其他解释] 我申明下,双方的服务器的配置都启动了。。。。。。问题是不是一个网段。。。。会报错。。。。要解决这个问题,希望大家别回答错了,浪费您的时间回答我的问题,谢谢~~~~~~~(>_<)~~~~ 亲,偶就等你们了。。。我已经无能为力了,呜呜呜~~~
[其他解释] 我上次也碰到了,试了主流的方式
都没有解决问题
最后我一狠心,把事务给去了,先解决问题再说,MD
引用: 我申明下,双方的服务器的配置都启动了。。。。。。问题是不是一个网段。。。。会报错。。。。要解决这个问题,希望大家别回答错了,浪费您的时间回答我的问题,谢谢~~~~~~~(>_<)~~~~ 亲,偶就等你们了。。。我已经无能为力了,呜呜呜~~~ [其他解释] 引用: 我上次也碰到了,试了主流的方式 都没有解决问题 最后我一狠心,把事务给去了,先解决问题再说,MD引用: ------------------------
~~~~(>_<)~~~~ 事务是我们这个问题的必要条件,必须保证完整性,如果不能,就要从新用其他方法,但是效率,我滴神~~~~~~
[其他解释] 是不同网段的问题,同一网段不会报错,现在我也遇到这个问题,IP要怎么设置呢?