有人知道怎么同步两个SQL Server服务器之间的操作吗?就是一个修改另外一个也执行同样的操作!急!救命啊!能提些相关建议也行的!

luckboycjw 2003-08-25 11:01:58
有人知道怎么同步两个SQL Server服务器之间的操作吗?就是一个修改另外一个也执行同样的操作!急!救命啊!能提些相关建议也行的!
...全文
71 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
liukaiii 2003-08-25
  • 打赏
  • 举报
回复
建立事务复制是比较好的方法了.
建立一个链接服务器,然后写一个触发器,也能行吧
luckboycjw 2003-08-25
  • 打赏
  • 举报
回复
好了,看你们发了这么多,我觉得很欣慰,哈哈,先散分再说!
不懂了继续请教各位大侠。。。
luckboycjw 2003-08-25
  • 打赏
  • 举报
回复
呜,谢谢各位兄弟,不过还是一头雾水!:(
大家继续。。。
nboys 2003-08-25
  • 打赏
  • 举报
回复
在域中如何建立两台sql server的数据发布和订阅

用向导,注意使用有权限的域账号就行了
将不是域控制器的服务器配置为既是发布服务器又是分发服务器,然后设置域控制器的服务器为订阅服务器,再设置订阅方式.
1.作发出版,分发服务器,必须要启动 SQLServerAgent服务
订阅服务器可以不用启动 SQLServerAgent服务.

2.在进行操作之前,必须在出版分发服务器这边注册订阅服务器,两边最好建有相同结构的数据库
3.从菜单中选Tools>>Republication>>Configure Publishing And SubScripter ,接着进行配置,Configure Publishing ,Subscirpter And Distribution...配置要分发的数据库及其表,视图等

4.创建分发管理 Create And Manager Publication,选择要分发的数据库

5.接上在此基础上或Push Subscriptions to other,选取分发数据库下的出版物,再按右边的按钮:Push New Subscription,逐步按向导完成

启动代理的域用户账号必须具有读取发布-分发服务器目录的权限
你用的账号没有读取\\ServerA\D$\Program Files\Microsoft SQL Server\MSSQL\repldata\unc\这个目录下的文件的权限。

1.
启动代理的域用户账号必须具有读取发布-分发服务器目录的权限
在控制面板-->管理-->服务-->sqlagent-->属性里的那个启动用户

2.
访问权限要注意
启动代理的域用户账号必须具有读取发布-分发服务器目录的权限
你用的账号要有读取\\ServerA\D$\Program Files\Microsoft SQL Server\MSSQL\repldata\unc\这个目录下的文件的权限。

nboys 2003-08-25
  • 打赏
  • 举报
回复
可以使用sqlserver的复制订阅服务器,采用合并的处理方式
eastpond 2003-08-25
  • 打赏
  • 举报
回复
看了不懂,呵呵
pengdali 2003-08-25
  • 打赏
  • 举报
回复
利用数据库复制技术 实现数据同步更新
复制的概念
复制是将一组数据从一个数据源拷贝到多个数据源的技术,是将一份数据发布到多个存储站点上的有效方式。使用复制技术,用户可以将一份数据发布到多台服务器上,从而使不同的服务器用户都可以在权限的许可的范围内共享这份数据。复制技术可以确保分布在不同地点的数据自动同步更新,从而保证数据的一致性。
SQL复制的基本元素包括
出版服务器、订阅服务器、分发服务器、出版物、文章
SQL复制的工作原理
SQL SERVER 主要采用出版物、订阅的方式来处理复制。源数据所在的服务器是出版服务器,负责发表数据。出版服务器把要发表的数据的所有改变情况的拷贝复制到分发服务器,分发服务器包含有一个分发数据库,可接收数据的所有改变,并保存这些改变,再把这些改变分发给订阅服务器
SQL SERVER复制技术类型
SQL SERVER提供了三种复制技术,分别是:
1、快照复制(呆会我们就使用这个)
2、事务复制
3、合并复制
只要把上面这些概念弄清楚了那么对复制也就有了一定的理解。接下来我们就一步一步来实现复制的步骤。
第一先来配置出版服务器
(1)选中指定[服务器]节点
(2)从[工具]下拉菜单的[复制]子菜单中选择[发布、订阅服务器和分发]命令
(3)系统弹出一个对话框点[下一步]然后看着提示一直操作到完成。
(4)当完成了出版服务器的设置以后系统会为该服务器的树形结构中添加一个复制监视器。同时也生成一个分发数据库(distribution)
第二创建出版物
(1)选中指定的服务器
(2)从[工具]菜单的[复制]子菜单中选择[创建和管理发布]命令。此时系统会弹出一个对话框
(3)选择要创建出版物的数据库,然后单击[创建发布]
(4)在[创建发布向导]的提示对话框中单击[下一步]系统就会弹出一个对话框。对话框上的内容是复制的三个类型。我们现在选第一个也就是默认的快照发布(其他两个大家可以去看看帮助)
(5)单击[下一步]系统要求指定可以订阅该发布的数据库服务器类型,SQLSERVER允许在不同的数据库如 ORACLE或ACCESS之间进行数据复制。但是在这里我们选择运行"SQL SERVER 2000"的数据库服务器
(6)单击[下一步]系统就弹出一个定义文章的对话框也就是选择要出版的表
(7)然后[下一步]直到操作完成。当完成出版物的创建后创建出版物的数据库也就变成了一个共享数据库。
第三设计订阅
(1)选中指定的订阅服务器
(2)从[工具]下拉菜单中选择[复制]子菜单的[请求订阅]
(3)按照单击[下一步]操作直到系统会提示检查SQL SERVER代理服务的运行状态,执行复制操作的前提条件是SQL SERVER代理服务必须已经启动。
(4)单击[完成]。完成订阅操作。
完成上面的步骤其实复制也就是成功了。但是如何来知道复制是否成功了呢?这里可以通过这种方法来快速看是否成功。展开出版服务器下面的复制——发布内容——右键发布内容——属性——击活——状态然后点立即运行代理程序接着点代理程序属性击活调度把调度设置为每一天发生,每一分钟,在0:00:00和23:59:59之间。接下来就是判断复制是否成功了打开C:\Program Files\Microsoft SQL Server\MSSQL\REPLDATA\unc\XIAOWANGZI_database_database下面看是不是有一些以时间做为文件名的文件夹差不多一分中就产生一个。要是你还不信的话就打开你的数据库看在订阅的服务器的指定订阅数据库下看是不是看到了你刚才所发布的表
hjb111 2003-08-25
  • 打赏
  • 举报
回复
同步数据
同步处理数据是指在初始快照已经应用于订阅服务器之后,数据在发布服务器和订阅服务器之间传播的过程。当对某个订阅进行同步处理时,发生的过程会有所不同,这取决于使用的复制类型以及此订阅是否标记为重新初始化。

对于快照发布,同步处理数据意味着在订阅服务器上重新应用快照,以便订阅数据库上的架构和数据与发布数据库保持一致。对于事务复制,同步处理数据意味着数据更新、插入、删除和其它修改在发布服务器和订阅服务器之间分发。对于合并发布,同步处理数据意味着合并在多个站点进行的更新,检测、解决冲突(如果有的话)并将数据最终汇聚为相同的值。

分发代理程序和合并代理程序移动发生在发布服务器或订阅服务器上的数据更改。为取得一致,Microsoft® SQL Server™ 2000 复制使用术语同步处理来表示这些复制代理程序之一运行时所进行的处理。

快照复制同步处理
当对某个快照发布的订阅进行同步处理时,分发代理程序(使用 distrib.exe 或分发 ActiveX® 控件)会运行而且最新的快照将应用于订阅服务器上。如果已经对数据进行修改,那么在订阅服务器能够应用新数据之前必须生成新的快照。

事务复制同步处理
当对事务发布的订阅进行同步处理时,分发代理程序(使用 distrib.exe 或分发 ActiveX 控件)会运行而且已经在分发服务器上登录的 UPDATE、INSERT 和 DELETE 语句会传播到订阅服务器。

如果此订阅已标记为重新初始化,那么快照代理程序和分发代理程序必须运行,以生成新的快照并传播到订阅服务器。

合并复制同步处理
当合并复制拓扑中的发布服务器和订阅服务器使用合并代理程序(replmerg.exe 或合并 ActiveX 控件)重新连接,并且更新在站点之间进行传播(如果有必要的话,还要检测和解决冲突)时,即发生同步处理。在同步处理过程中,合并代理程序将所有更改过的数据发送到其它站点。数据从更改发生处流向需要更新或同步处理的站点。

在目的数据库中,从其它站点传播来的更新与现有的值进行合并,合并按照可扩展且灵活的冲突检测和解决方法进行。合并代理程序评估送来的值和当前的值,而新旧值之间的任何冲突由默认的解决程序自动解决。可在创建发布或自定义解决程序时指定此解决程序。

只有在同步处理发生时,更改过的数据值才被复制到其它站点并与那些站点上的更改汇聚在一起。两次同步处理的时间间隔可以是几分钟、几天甚至几周。数据进行集中,并且最终所有站点的数据值相同。但是,如果检测并解决了冲突,便意味着根据您定义的策略改变或撤消了某些用户提交的工作以解决冲突。

同步处理架构更改
Microsoft® SQL Server™ 2000 支持对现有发布数据库进行有限的架构更改。可以向某个已发布的表中添加列和从中除去列,而无须除去和重新创建引用此表的发布和订阅。

快照复制、事务复制和合并复制支持对架构更改的复制。列的添加和删除在表级别执行并传播到从该表接收数据的所有订阅服务器。

有关更多信息,请参见发布数据库上的架构更改。

按需脚本执行
按需脚本执行使您得以发布一个 SQL 脚本,然后在分发或合并过程中,该脚本可以在特定发布的所有订阅服务器上执行。

按需脚本执行可用于快照复制、事务复制和合并复制。

若要指定为合并发布的所有订阅服务器运行某个脚本,请执行 sp_addreplmerge_script。下次合并代理程序运行时,该脚本将在各订阅服务器上执行。

若要指定为快照发布或事务发布的所有订阅服务器运行某个脚本,请执行 sp_addscriptexec。下次分发代理程序运行时,该脚本将在各订阅服务器上执行。

当执行 sp_addscriptexec 或 sp_addreplmerge_script 时,需要指定以下参数。

参数 数据类型 描述
@publication sysname 指定一个有效的发布。必需的。无默认。
@scriptfile nvarchar(8000) 指定 SQL 脚本位于的 UNC 路径。必需的。无默认。


按需脚本执行将脚本复制到复制工作目录,然后使用 osql.exe 将该脚本应用于订阅服务器。如果为快照发布或事务发布应用脚本时失败,则分发代理程序将停止。sp_addscriptexec 系统存储过程有另一个参数 @SkipError,以指定分发代理程序遇到错误时是应当停止 (@SkipError = 0),还是应当将错误记入日志并且分发代理程序应当继续 (@SkipError = 1)。

同步处理强制订阅或请求订阅

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧