SqlServer2005 数据库同步配置图文详解

跟版网(www.genban.org)提供SqlServer2005,数据库,同步配置,等网页设计素材资源,提供相关网页设计资源的教程和免费下载。跟版网,专业织梦网页设计模板资源站。。

<1>软件准备条件  
机器A端:SqlServer2005 Management Studio + WinServer 2003 Enterprise (作为发布服务器)   
机器B端:Sqlserver2005 Management Studio Express + WinXP(作为订阅服务器)

  一:【准备条件】

  <1>软件准备条件

  机器A端:SqlServer2005 Management Studio + WinServer 2003 Enterprise (作为发布服务器)

  机器B端:Sqlserver2005 Management Studio Express + WinXP(作为订阅服务器)

  (可以用别的,不过订阅服务器版本不得高于发布服务器版本)

  <2>数据库复制准备条件

  1. 所有被同步的数据表尽量要用主键,如果没有主键也没有关系,SqlServer会提示为表自动生成主键,如图

  2. 发布服务器、分发服务器和订阅服务器必须使用计算机名称来进行SQLSERVER服务器的注册。

  3. SQLSERVER必需启动代理服务,且代理服务必须以本地计算机的帐号运行。 不得使用IP地址以及别名进行注册,比如LOCAL, “.”以及LOCALHOST等。

  如果非同一网段或者远程服务器,或者只能用IP,不能用计算机名的,为对方注册服务器别名。将其对应关系加到本地系统网络配置文件中。文件的具体位置在C:\Windows\system32\drivers\etc\hosts

  配置方式: 用记事本打开hosts文件,在文件的最下方添加IP地址和主机名的对应关系。如图:

  4.SqlServer 必需启动代理服务,且代理服务必需以本地计算机的帐号运行。

  5.发布服务器和订阅服务器都要设置MSDTC ,允许网络访问控制面板--->管理工具--->组件服务--->计算机--->我的电脑(Win7继续找 -->Distributed Transaction Coordinator--->本地DTC),右键属性,找到MSDTC选项卡,点击安全设置,按如下设置即可

  )

  确定,重启MSDTC服务。

  二:准备工作的详细操作步骤

  1、在发布服务器上,新建一个共享目录,作为发布的快照文件的存放目录,为共享目录添加EveryOne的完全控制权限。

  2、确定发布服务器上用来发布的数据库和订阅服务器的用来订阅的数据库结构要保持一致,或者订阅服务器新建一个空数据库(不创建表)。

  3、将发布端和订阅端的数据库所有者均设置为sa。

  4、启动SQL代理(SQLSERVERAGENT)服务。

  5、开启SQL Server 2005的网络协议TCP/IP和管道命名协议并重启网络服务。

  6、设置SQL SERVER 身份验证为混合验证SQL Server和WINDOWS(发布、订阅服务器均设置)

  7、发布服务器和订阅服务器互相注册

  步骤如下:视图---à单击已注册服务器---à右击 数据库引擎---à新建服务器注册----à填写要注册的远程服务器名称----à身份验证选“SQL Server验证“----à用户名(sa) 密码,对于只能用IP,不能用计算机名的,为其注册服务器别名,见上。

  准备工作完成,接下来我们进行发布和订阅的操作

  二、【发布和订阅】

  一:发布

  (1)首先我们在发布服务器上(winserver2003)打开SqlServer2005 Management Studio (企业版)。在“对象资源管理器”中找到复制节点,右键--->新建发布(注:如果你的SqlServer是express版本的话,是没有发布这一功能的,只有订阅功能!)

  (2)接下来选择要发布的数据库,下一步,选择“发布类型”,我这里选择“合并发布”

  (3)下一步,选择订阅服务器类型,选择“SqlServer2005”,下一步,选择发布项目,我们选择表、视图、存储过程等。

  (4)如果你的表没有主键,SqlServer会提示你,为没有主键的表自动添加主键。

  (5)接下来设置作业计划,为了方便看到测试效果,我们设置“每隔一分钟”执行一次作业。

  (6)设置快照代理安全性,连接到发布服务器时,用模拟进程即可。

  (7) 为发布起个名字,完成发布

  二:订阅

  接下来,我们配置订阅服务器。订阅服务器是winxp系统,SqlServer版本为SqlServer 2005 Manager Studio Express ,只支持订阅。

  (1)同发布,新建订阅

  (2)选择发布服务器,找到我们刚刚新建的发布“Test3Copy” ,下一步

  (3)选择运行代理的位置,根据需求选择是“推送”还是“请求”!

  (4)接下来同发布类似,这里就不赘述了,订阅执行成功,在订阅数据库和发布数据库的表中都会多出一个字段来,SqlServer自动生成的!标志订阅成功。

  三、【查看同步状态】

  查看同步状态,只能在发布服务器上查看。具体操作步骤:(下列图中的发布跟上面提到的不是同一个发布)

  (1)打开“复制”——>右键发布名称——>“启用复制监视器”

  (2)展开“我的发布服务器”——>发布服务器机器名称-——>发布名称。在右侧会看到订阅服务器的状态“正在同步”。右键,选择“属性”可以打开详细说明。

  (3)打开属性后,会弹出同步历史记录的对话框。这里有插入、更新、删除等操作的记录。

  当然这篇文章里还有许多细节可能说的不那么清楚,难免也会出现一些问题,我会在随后的下篇博客中写一下遇到的问题及解决方案。大家有什么问题,欢迎相互交流

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

数据库查询哪个对像里面包含什么字段语句写法: select * from sysobjects o, syscomments s where o.id = s.id and text like %text% and o.xtype = P text 换成需要查的字段 数据库查询哪个对像里面包含表: select o.name from sys.all_sql_modules s,sys
一、 创建用户: 命令:CREATE USER username@host IDENTIFIED BY password; 说明:username - 你将创建的用户名, host - 指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost, 如果想让该用户可以从任意远程主机登陆,可以使用通配符%. password - 该
在mysql中可以用group by对查询出的数据分组 select id,service,name FROM service GROUP BY name,service 如果要查看每组数据的总数,可以 select count(*) FROM service GROUP BY name,service 当要查询group by后的总数,可以这样 select count(*) from(s
mysql count group by统计条数方法 mysql 分组之后如何统计记录条数? gourp by 之后的 count,把group by查询结果当成一个表再count一次 select count(*) as count from(SELECT count(*) FROM 表名 WHERE 条件 GROUP BY id ) a; 实战例子: select count(*)
1.首先停止MySQL服务:service mysqld stop 2.加参数启动mysql:/usr/bin/mysqld_safe --skip-grant-tables 然后就可以无任何限制的访问mysql了 3.root用户登陆系统:mysql -u root -p mysql 4.切换数据库:use mysql 5.显示所有的表:show tables; 这里就可
摘要: SQL的WHERE子句中包含多个AND和OR 示例: SQL解析器在处理操作时会优先处理and操作: 假如有表product字段如下:id、product_id、product_price、product_name,现在要查找产品号为100或者101,并且价格大于200的商品,程序员可能会这样写: select * fr