SqlServer2005 数据库发布、订阅配置图文详解

一:准备条件

<1>软件准备条件

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

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

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

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

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

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

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

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

192.168.0.1 server
192.168.0.2 client

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

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

确定,重启MSDTC服务。

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

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

2、开启SQL Server 2005的网络协议TCP/IP和管道命名协议并重启网络服务(在SQL Server Configuration Manager里头配置)。

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

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

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

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

三:发布和订阅

  发布

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

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

我本人理解的几种发布类型:

  • 快照复制:快照复制只在某一时刻给出版数据库中的出版数据照相,然后将数据复制到订阅者的服务器上,快照复制较为简单,其所复制的只是某一时刻数据库的瞬间数据,因此实时性差,而且值得注意的是快照复制并不是不停地监视出版数据库中发生的变化情况,它是对出版数据库进行异性扫描,把所有出版数据中的数据从源数据库送至目标数据库,而不仅仅是变化的数据。如果数据量很大,那么要复制的数据就很多。因此对网络资源要求很高,不仅要有较快的传输速度,而且要保证传输的可靠性。快照复制是最简单的一种复制类型,能够在出版者和订阅者之间保证数据的一致性,快照复制通常使用在以下场合:在一定时间内出现大量的更改操作,但数据总量不大,变化周期较长。
  • 事务复制:快照复制是将整个数据集发送给订阅服务器,由于体积大而造成复制周期较长,会形成复制滞后问题。那么事务复制使用事务日志来生成将复制到订阅服务器的事务,因为它只复制事务也就是变化,所以滞后也比快照复制低得多,因为将不断地在订阅服务器处得到及时应用。

    事务复制有三个组件:

    快照代理,它生成架构,数据以及跟踪复制过程所需的数据;

    分发代理:它分发快照和随后的命令;

    日志读取器代理:它读取发布数据的事务日志。在事务复制中,当出版数据库发生变化时,这种变化就会立即传递给订阅者。并在较短时间内完成(几秒),而不是像快照复制那样要经过很长一段时间间隔。因此,事务复制是一种接近实时地从源到目标分发数据的方法。由于某种原因事务复制的频率较高。所以必须保证在订阅者与出版者之间要有可靠的网络连接。

  • 合并复制:合并复制是为移动用户设计的,可以在发布服务器或是订阅服务器处执行修改,在合并代理运行时,这些修改将同步,多用于发布服务器与订阅服务都修改数据的情况下。工作原理如下:在要复制的每个表上实现触发器,并使用包含GUID列唯一标识要复制的表中的每一行。对其中的任何一个表进行修改时,都会将更改将记录一个数据表中,在合并代理运行时,它收集数据表中的GUID,这些GUID指出了在发布服务器和订阅服务器处修改过的行。对于只在发布服务器或是订阅端修改的数据则直接进行相应操作,如INSERT,UPDATE,DELETE,如果双方都有GUID则按照用户指定的方式解决冲突,默认发布服务器伏先。

配置复制:

无论是快照复制,事务性复制还是合并复制,创建复制都要经过以下几个步骤:

1.创建发布服务器。选择要发布的服务器。如果有条件的,也可以分发服务器,在这里我们就将发布服务器和分发服务器设置在同一台计算机上。

2.不论是发布服务器还是订阅服务器必须开启代理服务。

3.创建一个发布。即将需要的数据库及对象发布出来。

4.选择一个适合自己的发布类型。

5.设置复制代理及安全,即指定可以运行代理的用户帐号。

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

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

(5)设置快照代理安全性,连接到发布服务器时,使用sa

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

订阅

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

(1)同发布,新建订阅

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

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

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

时间: 2024-10-14 00:52:32

SqlServer2005 数据库发布、订阅配置图文详解的相关文章

spring中quatz的多定时任务配置图文详解

近来公司让用quatz框架做定时功能,而且还是执行多定时任务,真是苦恼. 虽然从网上搜了很多资料,但是写法上不太尽如人意,最后还是请教了螃蟹大神,给的配置建议就是简单啊,现在拿来分享下: 这里我们需要的有两部分,一个是java中的处理类,一个是quatz的配置文件,截图如下applicationContext_quartz.xmlquatz的配置文件地址地址:http://www.itxxz.com/a/kuangjia/kuangjiashili/2014/0602/10.html java中

Python安装、配置图文详解

原文地址:http://weixiaolu.iteye.com/blog/1617440 目录: 一. Python简介 二. 安装python 1. 在windows下安装 2. 在Linux下安装 三. 在windows下配置python集成开发环境(IDE) 1. 在Eclipse中安装PyDev插件 2. 配置Python Interpreters 四. 创建Python Project 五. 编写HelloWorld 六. 小结 一. Python简介: Python在Linux.wi

Python安装、配置图文详解(转载)

Python安装.配置图文详解 目录: 一. Python简介 二. 安装python 1. 在windows下安装 2. 在Linux下安装 三. 在windows下配置python集成开发环境(IDE) 1. 在Eclipse中安装PyDev插件 2. 配置Python Interpreters 四. 创建Python Project 五. 编写HelloWorld 六. 小结 一. Python简介: Python在Linux.windows.Mac os等操作系统下都有相应的版本,不管在

Windows-003-Outlook邮件配置图文详解

本节以 Windows 7 操作系统下 Microsoft Outlook 配置电子邮件的方法,配以图文进行详解.敬请各位亲们参阅,若有不足之处,敬请指正,不胜感激! 闲话少数,话归正题.默认用户已经安装好 Office 办公软件. 1.通过 控制面板/用户账户和家庭安全/邮件 进入邮件设置界面,若之前已配置过邮件,则邮件设置界面如下所示: 2.点击邮件设置界面的 电子邮件账户 按钮,进入电子邮件账户设置界面 3.电子邮件账户设置界面如下所示(已配置过电子账户) PS:若之前未配置过邮件,则在

Linux CentOS 服务器搭建与初始化配置图文详解

这几天对服务器兴趣贼为浓厚,在虚拟机上装了一个CentOS7玩了玩,遇到过很多问题,比如网卡驱动设置,不能ping 等等问题,然后掏钱买个ECS搭服务器玩玩,下面就开始谢谢我的心路历程吧. 首先 买服务器,什么阿里云,百度云.腾讯云等等,随便买一个低配就好了,我买的学生机,9.9一个月,便宜的不能再便宜了,廉价的不能再廉价了. (自带mysql数据库,php Apache运行环境,FTP,VSftpd,这让我省了很多事) 第一步:安装jdk 去官网下载jdk(官网:http://www.orac

Eclipse开发C/C++ 安装配置图文详解

为什么选用开发工具开发C? 1.这几天在linuxdeepin下写了两个程序,一个是静态链表 用了两天零散时间,一个搜索二叉树,用了五天零散时间,纯vim下编辑,写起来比较费力,需要自己注意拼写错误等低级错误 2.习惯了IDE 的开发环境,IDE还是能提高一些效率的,决定采用Eclipse C/C++ 版本进行开发,毕竟Eclipse已经非常熟悉了,用了3年 转自http://blog.163.com/linfeng_0212/blog/static/6222138201292501158785

Weblogic安装与配置图文详解

Weblogic是什么Weblogic的安装Weblogic创建域Weblogic管理域Weblogic的应用Weblogic是什么 Weblogic这是我入职以后第一次接触到的词汇,我很陌生,就从我的角度来讲,我需要知道Weblogic是什么.干吗用的,然后才继续深入的学习怎么使用它.WebLogic是美商Oracle的主要产品之一,系购并得来.是商业市场上主要的Java(J2EE)应用服务器软件(application server)之一,是世界上第一个成功商业化的J2EE应用服务器, 目前

虚拟机 iis 配置 图文详解

1.点击开始—>控制面板—>打开或关闭windows功能  如图: 2.现在出现了安装Windows功能的选项菜单,注意选择的项目,我们需要手动选择需要的功能, 下面这张图片把需要安装的服务都已经选择了,大家可以按照图片勾选,如图: 3.下面是配置iis: 安装完成后,点击开始—>管理工具—>双击Internet(IIS)管理器选项,进入IIS设置,如图: 4.选择下图左边的 Default Web Site,并双击右边的 ASP 的选项.选择DefaultWebSite,并双击A

Cocos2d-x win7 + vs2010 配置图文详解(亲测)

下载最新版的cocos2d-x.打开浏览器,输入cocos2d-x.org,然后选择Download,本教程写作时最新版本为cocos2d-1.01-x-0.9.1,具体下载位置如下图: 下载完之后,解压到当前文件夹.我把下载的程序放在F盘根目录,解压完毕之后,双击打开文件夹,看看里面有什么东西,红圈部分就是我们要安装使用的文件: 接下来,我们正式安装cocos2d-x到win7中去. 首先,双击上图中的cocos2d-win32.vc2010.sln(如果你使用的是vs2008,那么只双击co