如何互相同步两个相同的sql数据库

以下实现复制步骤(以快照复制为例)

  运行平台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 同步复制就完成了。使用复制技术,用户可以将一份客户端的数据发布到多台服务器上,从而使不同的服务器用户都可以在权限的许可的范围内共享这份数据。复制技术可以确保分布在不同地点的数据自动同步更新,从而保证数据的一致性,就无需编程实现客户端和服务器端数据同步了!大大提高了工作效率!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 2000的网络协议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的端口,取消选择"动态决定端口",并输入对应的端口号

最新内容请见作者的GitHub页:http://qaseven.github.io/

时间: 2024-12-10 17:37:37

如何互相同步两个相同的sql数据库的相关文章

同步两个Sql server

如何同步两个SQLServer数据库的内容? 程序代码可以有版本管理CVS进行同步管理,可是数据库同步就非常麻烦,只能自己改了一个后再去改另一个,如果忘记了更改另一个经常造成两个数据库的结构或内容上不一致.各位有什么好的方法吗? 分发与复制 用强制订阅实现数据库同步操作 大量和批量的数据可以用数据库的同步机制处理: // 说明: 为方便操作,所有操作均在发布服务器(分发服务器)上操作,并使用推模式 在客户机器使用强制订阅方式. 有疑问联系作者:zlp321001@hotmail.com 测试通过

sqlserver 2000数据库同步 同步两个SQLServer数据库的内容

复制前要做好的准备工作: 1.发布服务器,订阅服务器都创建一个同名的windows用户,并设置相同的密码,做为发布快照文件夹的有效访问用户 我的电脑 控制面板 管理工具 计算机管理 用户和组 右键用户 新建用户 建立一个隶属于administrator组的登陆windows的用户 2.在发布服务器上,新建一个共享目录,做为发布的快照文件的存放目录,操作: 我的电脑 D:\ 新建一个目录,名为: PUB 右键这个新建的目录 属性 共享 选择"共享该文件夹" 通过"权限"

sqlserver 2000数据库同步 同步两个SQLServer数据库的内容_MsSql

复制前要做好的准备工作: 1.发布服务器,订阅服务器都创建一个同名的windows用户,并设置相同的密码,做为发布快照文件夹的有效访问用户 我的电脑 控制面板 管理工具 计算机管理 用户和组 右键用户 新建用户 建立一个隶属于administrator组的登陆windows的用户 2.在发布服务器上,新建一个共享目录,做为发布的快照文件的存放目录,操作: 我的电脑 D:\ 新建一个目录,名为: PUB 右键这个新建的目录 属性 共享 选择"共享该文件夹" 通过"权限"

同步两个SQLServer数据库的内容解决方法

1.发布服务器,订阅服务器都创建一个同名的windows用户,并设置相同的密码,做为发布快照文件夹的有效访问用户 我的电脑 控制面板 管理工具 计算机管理 用户和组 右键用户 新建用户 建立一个隶属于administrator组的登陆windows的用户 2.在发布服务器上,新建一个共享目录,做为发布的快照文件的存放目录,操作: 我的电脑 D: 新建一个目录,名为: PUB 右键这个新建的目录 属性 共享 选择"共享该文件夹" 通过"权限"按纽来设置具体的用户权限,

两表连接的SQL语句

两表连接的SQL语句:这两种写法哪种好?现在提倡用哪一种呢? 例如:一个二表连接的SQL,有两种写法: (1)select A.c1,A.c2,B.c1,B.c2 from table1 A,table2 B where A.id=B.id (2)select A.c1,A.c2,B.c1,B.c2 from table1 A join table2 B on A.id=B.id 哪种写法好呢?现在提倡用哪一种? 你喜欢用哪一种? 我习惯用(1) ---这两个哪个好? 其中11楼的回答最为深入.

代码-这两个查询哪个SQL效率高一些???

问题描述 这两个查询哪个SQL效率高一些??? --第一个SELECT emp.* FROM emp(SELECT AVG(sal) semp.deptno FROM empdept WHERE emp.deptno=dept.deptno GROUP BY emp.deptno)a WHERE emp.deptno=a.deptno AND emp.sal>a.s; --第二个SELECT * FROM emp a WHERE a.sal>(SELECT AVG(sal) FROM emp

把excel表格里的数据导入sql数据库的两种方法_MsSql

本来最近在研究微信公众平台的,老大临时交我个任务,把excel表格里的数据导入sql数据库,我想这so easy嘛. 没想都在上面消磨了两天... 把情况介绍下:在数据库中有如下这样结构的表(A表) 我只取关键的及列里面还有很多数据. 有一张id和name对照的excel文件(B表)和N张结构类似的excel表(C表)(没有id那一列)              我的任务在B表中找到C表中数据对应的id后,然后将id加到C表中,最后根据id是唯一的,用C表的数据去更新A表的数据.这里主要涉及了e

把excel表格里的数据导入sql数据库的两种方法

本来最近在研究微信公众平台的,老大临时交我个任务,把excel表格里的数据导入sql数据库,我想这so easy嘛. 没想都在上面消磨了两天... 把情况介绍下:在数据库中有如下这样结构的表(A表) 我只取关键的及列里面还有很多数据. 有一张id和name对照的excel文件(B表)和N张结构类似的excel表(C表)(没有id那一列) 我的任务在B表中找到C表中数据对应的id后,然后将id加到C表中,最后根据id是唯一的,用C表的数据去更新A表的数据.这里主要涉及了excel表格和数据库表间的

SQL数据库的终结?

第一部分 SQL 的发展起始于 E.F.Codd 博士1970年六月发表于计算机协会的"通信"上的一篇论文, "大型共享数据库的关系模型".当时他和他的在IBM工作的同事 Donald Chamberlin 和 Raymond Boyce 正在研究一种查询语言(最初叫做SQUARE, Specifying Queries As RelationalExpressions 的首字母缩写),并于1974年以论文"SEQUEL:A Structured Engl