社区
疑难问题
帖子详情
双向事务复制如何实现?
liu19801204
2008-10-15 05:37:08
请问SQLServer2000中, 如何实现双向事务复制, 我不想用合并复制, 因为这样它会在每一张表上建立一个的字段.
我现在是这样测试的, 分别把局域网内的两台服务器同时设为发布服务器和订阅服务器,同时在添加订阅的时候指定 @loopback_detection 为 true.
在内网可以实现双向复制, 但是在外网却不行. 百思不得其解, 于是向各位高手请教, 是那里出了问题?
...全文
171
12
打赏
收藏
双向事务复制如何实现?
请问SQLServer2000中, 如何实现双向事务复制, 我不想用合并复制, 因为这样它会在每一张表上建立一个的字段. 我现在是这样测试的, 分别把局域网内的两台服务器同时设为发布服务器和订阅服务器,同时在添加订阅的时候指定 @loopback_detection 为 true. 在内网可以实现双向复制, 但是在外网却不行. 百思不得其解, 于是向各位高手请教, 是那里出了问题?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
liu19801204
2008-10-17
打赏
举报
回复
难道就没有人做过双向事务复制吗?
fcuandy
2008-10-16
打赏
举报
回复
周末作下试验看看。
liu19801204
2008-10-16
打赏
举报
回复
或许你看看 http://msdn.microsoft.com/zh-cn/library/ms147929.aspx 这个介绍, 可能你会改变你的看法.
liu19801204
2008-10-16
打赏
举报
回复
或许你看了 http://msdn.microsoft.com/zh-cn/library/ms147929.aspx 这篇文章, 你可能会改变这种看法.
fcuandy
2008-10-16
打赏
举报
回复
因为其它可能的方法实现应该是更复杂
fcuandy
2008-10-16
打赏
举报
回复
如果你不想用合并复制的话,恐怕没什么好办法
liu19801204
2008-10-16
打赏
举报
回复
上面所说的基本上属于单向同步的问题, 这一点我可以轻松搞定. 我现在想实现的是双向同步, 有兴趣的话大家可以看看
http://msdn.microsoft.com/zh-cn/library/ms147929.aspx
mjjzg
2008-10-15
打赏
举报
回复
看看楼上的学习一下
顺手帮你顶下
水族杰纶
2008-10-15
打赏
举报
回复
以下实现复制步骤(以快照复制为例)
运行平台SQL SERVER 2005
一、准备工作:
1.建立一个 WINDOWS 用户,设置为管理员权限,并设置密码,作为发布快照文件的有效访问用户。
2.在SQL SERVER下实现发布服务器和订阅服务器的通信正常(即可以互访)。打开1433端口,在防火墙中设特例
3.在发布服务器上建立一个共享目录,作为发布快照文件的存放目录。例如:在D盘根目录下建文件夹名为SqlCopy
4.设置SQL 代理(发布服务器和订阅服务器均设置)本篇文章发表于www.xker.com(小新技术网)
打开服务(控制面板---管理工具---服务)
---右击SQLSERVER AGENT---属性---登录---选择“此帐户“
---输入或选择第一步中创建的WINDOWS 用户
---“密码“中输入该用户密码
5.设置SQL SERVER 身份验证,解决连接时的权限问题(发布、订阅服务器均设置)
步骤为:对象资源管理器----右击SQL实例-----属性----安全性----服务器身份验证------选“SQL Server和WINDOWS“,然后点确定
6.开启SQL Server 2005的网络协议TCP/IP和管道命名协议并重启网络服务。
7.在SQL Server中创建步骤1中对应的系统用户登陆名,作为发布数据库的拥有者(设置为dbo_owner和public)。
8.以系统超级用户sa登陆SQL Server建立数据库和表。
9.发布服务器和订阅服务器互相注册
步骤如下:视图----单击以注册服务器----右键数据库引擎----新建服务器注册-----填写要注册的远程服务器名称------身份验证选“SQL Server验证“-----用户名(sa) 密码------创建组(也可不建)-----完成。
10.对于只能用IP,不能用计算机名的,为其注册服务器别名
二、开始:
发布服务器配置(在发布服务器上配置发布和订阅)
1. 选择 复制 节点
2. 右键本地发布 ----下一步---------系统弹出对话框看提示----直到“指定快照文件夹“
----在“快照文件夹“中输入准备工作中创建的目录(指向步骤3所建的共享文件夹)------选择发布数据库-------选择发布类型-------选择订阅服务器类型-------选择要发布的对象------设置快照代理-------填写发布名称。本篇文章发表于www.xker.com(小新技术网)
3. 右键本地订阅--------选择发布服务器-------选择订阅方式(如果是在服务器方订阅的话选择推送订阅反之
选择请求订阅)-------填加订阅服务器--------选择代理计划(一般选择连续运行)---------其余选择默认项。
至此, SQL SERVER 2005 同步复制就完成了。使用复制技术,用户可以将一份客户端的数据发布到多台服务器上,从而使不同的服务器用户都可以在权限的许可的范围内共享这份数据。复制技术可以确保分布在不同地点的数据自动同步更新,从而保证数据的一致性,就无需编程实现客户端和服务器端数据同步了!大大提高了工作效率!
水族杰纶
2008-10-15
打赏
举报
回复
SQL Server 2000订阅与发布的具体操作
同步过程
一、准备工作,如果完成则可跳过。
1、内网DB服务器作为发布服务器,外网DB服务器作为订阅服务器。
发布服务器和订阅服务器上分别创建Windows用户jl,密码jl,隶属于administrators,注意要保持一致。
2、发布服务器上创建一个共享目录,作为发布快照文件的存放目录。例如:在D盘根目录下建文件夹名为SqlCopy,设置用户jl,权限为完全控制。
3、确定发布服务器和订阅服务器的数据库autoweb保持一致。
4、在发布服务器和订阅服务器的SQL Server中创建用户登陆名jl,作为发布数据库autoweb的拥有者(设置为dbo_owner和public)。用户名和密码都一致。
5、打开服务(控制面板---管理工具---服务)
---右击SQLSERVER AGENT---属性---登录---选择“此帐户”
---输入或选择第一步中创建的WINDOWS 用户jl,
---“密码“中输入该用户密码jl
6、开启SQL Server 2005的网络协议TCP/IP和管道命名协议并重启网络服务。
7、设置SQL SERVER 身份验证,解决连接时的权限问题(发布、订阅服务器均设置)
步骤为:对象资源管理器----右击SQL实例-----属性----安全性----服务器身份验证------选“SQL Server和WINDOWS“,然后点确定。
8、发布服务器和订阅服务器互相注册
步骤如下:视图----单击以注册服务器----右键数据库引擎----新建服务器注册-----填写要注册的远程服务器名称------身份验证选“SQL Server验证“-----用户名(sa) 密码------创建组(也可不建)-----完成。对于只能用IP,不能用计算机名的,为其注册服务器别名
二、发布和订阅
如下工作都在发布服务器上配置,包括发布和订阅。
快照发布和订阅
1、 选择 复制 节点,右键本地发布 ----下一步---------系统弹出对话框看提示----直到“指定快照文件夹”----在“快照文件夹“中输入准备工作中创建的目录(指向步骤3所建的共享文件夹)------选择发布数据库-------选择发布类型
下一步―――选择要发布的数据库autoweb中的表,将b(B)开头的表去掉,V开头的表去掉,c_开头的表去掉,t_开头的表去掉,剩下的表作为快照发布到订阅服务器上(单向传输)
根据情况决定执行发布的间隔时间,如图每天每20分钟执行一次。
下一步快照代理安全性,设置如图,连接到发布服务器用户jl,密码jl.
-------填写发布名称。
2、 选择 复制 节点,右键本地订阅,选择发布服务器-------选择订阅方式(选择推送订阅))-------填加订阅服务器--------选择代理计划(一般选择连续运行)---------其余选择默认项。
至此完成快照发布和订阅。
合并发布和订阅
1、选择如下三个表作为合并发布的对象,用于双向通讯
根据情况决定执行发布的间隔时间,如图每天每20分钟执行一次。
2、 选择 复制 节点,右键本地订阅,选择发布服务器-------选择订阅方式(选择推送订阅))-------填加订阅服务器--------选择代理计划(一般选择连续运行)---------其余选择默认项。
至此完成合并发布和订阅
-------------------------------------------------------------------
主要是要注意权限的问题,一般做发布/订阅,建议你做如下准备工作:
1.发布服务器,订阅服务器都创建一个同名的windows用户,并设置相同的密码,做为发布快照文件夹的有效访问用户
我的电脑
--控制面板
--管理工具
--计算机管理
--用户和组
--右键用户
--新建用户
--建立一个隶属于administrator组的登陆windows的用户
2.在发布服务器上,新建一个共享目录,做为发布的快照文件的存放目录,操作:
我的电脑--D: 新建一个目录,名为: PUB
--右键这个新建的目录
--属性--共享
--选择"共享该文件夹"
--通过"权限"按纽来设置具体的用户权限,保证第一步中创建的用户具有对该文件夹的所有权限
--确定
3.设置SQL代理(SQLSERVERAGENT)服务的启动用户(发布/订阅服务器均做此设置)
开始--程序--管理工具--服务
--右键SQLSERVERAGENT
--属性--登陆--选择"此账户"
--输入或者选择第一步中创建的windows登录用户名
--"密码"中输入该用户的密码
4.设置SQL Server身份验证模式,解决连接时的权限问题(发布/订阅服务器均做此设置)
企业管理器
--右键SQL实例--属性
--安全性--身份验证
--选择"SQL Server 和 Windows"
--确定
5.在发布服务器和订阅服务器上互相注册
企业管理器
--右键SQL Server组
--新建SQL Server注册...
--下一步--可用的服务器中,输入你要注册的远程服务器名--添加
--下一步--连接使用,选择第二个"SQL Server身份验证"
--下一步--输入用户名和密码
--下一步--选择SQL Server组,也可以创建一个新组
--下一步--完成
6.对于只能用IP,不能用计算机名的,为其注册服务器别名
(在连接端配置,比如,在订阅服务器上配置的话,服务器名称中输入的是发布服务器的IP)
开始--程序--Microsoft SQL Server--客户端网络实用工具
--别名--添加
--网络库选择"tcp/ip"--服务器别名输入SQL服务器名
--连接参数--服务器名称中输入SQL服务器ip地址
--如果你修改了SQL的端口,取消选择"动态决定端口",并输入对应的端口号
zzuyongp
2008-10-15
打赏
举报
回复
持怀疑态度!
feng801
2008-10-15
打赏
举报
回复
顶一下
从零手写JDK底层队列
手写JDK的单向
双向
链表的
实现
。链表属于java数据结构的一种。大公司面试的必问的。 好记性不如烂笔头。自己手写一个链表的
实现
。一辈子都不会忘记 所涉及知识点->单向链表->
双向
链表 ->JDK底层cas的使用-&...
MySQL 数据库
双向
同步
复制
MySQL
复制
问题的最后一篇,关于
双向
同步
复制
架构设计的一些设计要点与制约。 问题和制约 数据库的双主双写并
双向
同步场景,主要考虑数据完整性、一致性和避免冲突。对于同一个库,同一张表,同一个记录中的同一字段...
SQL Server
复制
——概述(一)
最近正好做到SQL Server同步,研究研究SQL Server的
复制
功能记下文档。
复制
引入于SQL Server 2000,首先说明它不是为灾备而设计的功能,其强大之处在于灵活多变的数据同步方式。 一、
复制
的组件与基本概念 ...
MySQL中基于XA
实现
的分布式
事务
2.1.2 DTP的结构:AP TM RM2.1.3 DTP的重要概念2.2 XA
事务
:基于两阶段提交( 两阶段提交是一种理论,XA
事务
是这种理论的
实现
)2.2.1 两阶段提交2.2.2 XA基于两阶段提交三、MySQL3.1 MySQL分布式
事务
操作3.1.1 XA...
饿了么异地多活技术
实现
(四)- 实时
双向
复制
工具(DRC)
饿了么的 Data Replicate Center(DRC)项目用于数据
双向
复制
和数据订阅,使用场景如下图: 要点说明: 跨机房的 Mysql 数据
复制
完全通过 DRC 来完成 还有很多业务团队通过 DRC 来
实现
数据订阅 目前饿了么100%...
疑难问题
22,209
社区成员
121,730
社区内容
发帖
与我相关
我的任务
疑难问题
MS-SQL Server 疑难问题
复制链接
扫一扫
分享
社区描述
MS-SQL Server 疑难问题
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章