SqlServer & Windows 可更新订阅立即更新启用分布式事务协调器(MSDTC)
原文:SqlServer & Windows 可更新订阅立即更新启用分布式事务协调器(MSDTC)
在可更新订阅中,在订阅设置更新方法,将 “排队更新” 设置为 “立即更新”
接着在订阅数据库更新表数据,出错:
消息 21079,级别 16,状态 1,过程 sp_getpublisherlink,第 52 行
没有发布服务器的 RPC 安全信息,或该信息无效。请用 sp_link_publication 指定该信息。
消息 20512,级别 16,状态 1,过程 sp_MSreplraiserror,第 8 行
可更新的订阅: 正在回滚事务。
消息 3609,级别 16,状态 1,第 1 行
事务在触发器中结束。批处理已中止。
查看该存储过程 sp_getpublisherlink ,确认抛出错误的语句 raiserror(21079, 16, 1) 和raiserror(21079, 16, 3),其中主要为表 MSsubscription_properties
没有求分发代理程序的参数信息行。 (可以直接查表MSsubscription_properties 或执行存储过程 sp_helpsubscription_properties 查看有没有信息)
按提示,执行存储过程 sp_link_publication 添加相关信息:(参考sp_link_publication)
--设置在连接到发布服务器时立即更新订阅的同步触发器所使用的配置和安全信息
sp_link_publication
@publisher = 'publisher'
, @publisher_db = 'publisher_db'
, @publication = 'publication'
, @security_mode = 2 --2:使用现有的通过 sp_link_publication 创建的用户定义的链接服务器登录名
执行失败,错误信息如下:
链接服务器"publisher"的 OLE DB 访问接口 "SQLNCLI10" 返回了消息 "该伙伴事务管理器已经禁止了它对远程/网络事务的支持。"。
消息 7391,级别 16,状态 2,第 1 行
无法执行该操作,因为链接服务器 "publisher" 的 OLE DB 访问接口 "SQLNCLI10" 无法启动分布式事务。
没有启用分布式事务,启用就是了!嘿嘿!~以下在每台服务器都做相同操作:
1. 启用MSDTC相关服务器
控制面板 ——》管理工具——》服务:
Distributed Transaction Coordinator
Remote Procedure Call(RPC)
Security Accounts Manager
2.启用本地协调器
开始——》管理工具——》服务组件(或者运行:dcomcnfg.exe)
控制台根节点——》组件服务——》计算机——》我的电脑(右键属性)
点击“MSDTC”选项,确认勾选“使用本地协调器”
控制台根节点——》组件服务——》计算机——》我的电脑
(继续点击)Distributed Transaction Coordinator——》本地DTC(右键属性)
3. MSDTC使用135端口
确认开启135端口或关闭防火墙或用services.msc打开服务启动TCP/IP
NetBIOS Helper服务
重启服务Distributed Transaction Coordinator并把“延迟启动”改为“自动”
此时在执行,完成后即可使用分布式事务,在订阅服务器可同步提交到发布服务器。
--设置在连接到发布服务器时立即更新订阅的同步触发器所使用的配置和安全信息
sp_link_publication
@publisher = 'publisher'
, @publisher_db = 'publisher_db'
, @publication = 'publication'
, @security_mode = 2 --2:使用现有的通过 sp_link_publication 创建的用户定义的链接服务器登录名
更多参考:
sp_link_publication (Transact-SQL)
SqlServer & Windows 可更新订阅立即更新启用分布式事务协调器(MSDTC)的更多相关文章
- 已禁用对分布式事务管理器(MSDTC)的网络访问。请使用组件服务管理工具启用 DTC 以便在 MSDTC 安全配置中进行网络访问。
今天写ASP.NET程序,在网页后台的c#代码里写了个事务,事务内部对一张表进行批量插入,对另外一张表进行查询与批量插入. 结果第二张表查询后foreach迭代操作时报错:已禁用对分布式事务管理器(M ...
- MSDTC启用——分布式事务
一.前言 最近在做一个项目的时候使用了.NET中的System.Transactions(分布式事务),当项目开发完成以后,调用的时候遇到了MSDTC的问题,在查阅了相关资料后将这个问题解决了,大致的 ...
- Sql Server中启用分布式事务小结
1.web服务器与数据库服务器同时启动msdtc服务 2. 2台服务器做出如下配置: 控制面板->管理工具->组件服务->计算机->我的电脑->本地DTC .Net示例: ...
- SQLSERVER分布式事务使用实例
实例一 尊重原著作:本文参考自http://www.jb51.net/article/43540.htm --BEGIN DISTRIBUTED TRANSACTION [transactionnam ...
- SQLServer之创建分布式事务
分布式事务创建注意事项 指定一个由 Transact-SQL 分布式事务处理协调器 (MS DTC) 管理的 Microsoft 分布式事务的起点. 执行 BEGIN DISTRIBUTED TRAN ...
- SqlServer 使用脚本创建分发服务及事务复制的可更新订阅
原文:SqlServer 使用脚本创建分发服务及事务复制的可更新订阅 [创建使用本地分发服务器] /************************[使用本地分发服务器配置发布]*********** ...
- SqlServer 可更新订阅升级字段队列数据丢失原因
原文:SqlServer 可更新订阅升级字段队列数据丢失原因 之前简单描述过数据冲突发生的原因:SQLServer可更新订阅数据冲突的一个原因 ,但具体内部原理是怎么丢失的还不清楚,今天补充说明.可更 ...
- SQLServer 可更新订阅数据在线架构更改(增加字段)方案
原文:SQLServer 可更新订阅数据在线架构更改(增加字段)方案 之前一直查找冲突发布和订阅数据不一致的原因,后来发现多少数据库升级引起,因为一直以来都是在发布数据库增加字段,订阅也会自动同步.在 ...
- SQLServer 可更新订阅数据冲突的一个原因
原文:SQLServer 可更新订阅数据冲突的一个原因 可更新订阅为什么有冲突? 可更新订阅中,当升级增加一个字段时,通常在发布服务器的发布数据库中增加,对表增加字段后,发布自动同步到订阅数据库中(复 ...
随机推荐
- [Redux] Avoid action type naming conflicts
In redux, the action type is just a normal string type, it is easy to get naming conflicts in large ...
- 【v2.x OGE-example 第一节】 绘制实体
前言: OGE即 OGEngine,是由橙子游戏开发的基于Java支持跨平台的开源游戏引,从12年4月项目成立至今已经有2年多的发展历程.在此期间基于OGEngine开发的项目已经有非常多成功投放市场 ...
- 一个封装比较完整的FTP类——clsFTP
前几天,看见园子里面的博友写了一个支持断点续传的FTP类,一时技痒,干脆写了个更完整的clsFtp类.只是我写这个clsFtp不是支持断点续传的目的,而是为了封装FTP几个基本常用的操作接口. 功能 ...
- eclipse配置本地服务
1.下载安装eclipse 2.下载tomcat文件,并解压 3.下载tomcat插件 com.sysdeo.eclipse.tomcat_3.3.0 将com.sysdeo.eclipse.tomc ...
- Xcode崩溃定位:异常位置Exception的断点
1.全局Exception断点 在XCode界面中按cmd + 6跳到Breakpoint的tab(或者点击下图左上第7个图标),然后点击左下角的+号,增加一个Exception的断点,如下图所示.这 ...
- 进入Erlang的世界
http://erlang.group.iteye.com/group/wiki/1407-to-enter-the-world-of-erlang 进入Erlang的世界 作为程序员,我们曾经闻听很 ...
- C#中类和结构体的区别
结构体和类同样能够定义字段,方法和构造函数,都能实例化对象,这样看来结构体和类的功能好像是一样的了,但是他们在数据的存储上是不一样的(以下摘录): C#结构体和类的区别问题:在C#编程语言中,类属于引 ...
- TensorFlow 下 mnist 数据集的操作及可视化
from tensorflow.examples.tutorials.mnist import input_data 首先需要连网下载数据集: mnsit = input_data.read_data ...
- Android Studio运行main方法
这样想做一些测试就很简单了 实现步骤如下: 1.当前项目右键->new->Module->Java Library 2.修改你创建javaLib的build.gradle文件 改为( ...
- PhoneGap Html5 App 横竖屏切换自动退出
将以下内容添加到 AndroidManifest.xml 文件的 activity 标签中: android:configChanges="orientation|keyboardHidde ...