SQL Server 2008数据库复制是通过发布/订阅的机制进行多台服务器之间的数据同步,我们把它用于数据库的同步备份。这里的同步备份指的是备份服务器与主服务器进行实时数据同步,正常情况下只使用主数据库服务器,备份服务器只在主服务器出现故障时投入使用。它是一种优于文件备份的数据库备份解决方案。
在选择数据库同步备份解决方案时,我们评估了两种方式:SQL Server 2008的数据库镜像和SQL Server 2008数据库复制。数据库镜像的优点是系统能自动发现主服务器故障,并且自动切换至镜像服务器。但缺点是配置复杂,镜像数据库中的数据不可见(在SQL Server Management Studio中,只能看到镜像数据库处于镜像状态,无法进行任何数据库操作,最简单的查询也不行。想眼见为实,看看镜像数据库中的数据是否正确都不行。只有将镜像数据库切换主数据库才可见)。如果你要使用数据库镜像,强烈推荐killkill写的SQL Server 2005 镜像构建手册,我们就是按照这篇文章完成了数据库镜像部署测试。
最终,我们选择了SQL Server 2008数据库复制。
下面通过一个示例和大家一起学习一下如何部署SQL Server 2008数据库复制。
测试环境:Windows Server 2008 R2 + SQL Server 2008 R2(英文版),两台服务器,一台主数据库服务器CNBlogsDB1,一台备份数据库服务器CNBlogsDB2。
复制原理:我们采用的是基于快照的事务复制。主数据库服务器生成快照,备份库服务器读取并加载该快照,然后不停地从主数据库服务器复制事务日志。见下图:

图片来自SQL Server联机丛书
安装与配置步骤:
一、在两台服务器上安装好SQL Server 2008 R2,主要安装的组件:Database Engine(含SQL Server Replication),Management Tools。
二、主数据库服务器(发布服务器)的配置:
1. 在主数据库服务器CNBlogsDB1新建示例数据库CNBlogsDemo(注意Recovery mode要使用默认值Full,只有这个模式才能进行事务复制),然后建立一张测试表,比如:CNBlogsTest。

2. 设置存放快照的文件夹:
创建发布之前,先设置一下存放快照的文件夹,创建发布后会在该文件夹生成快照文件,订阅服务器需要在初始化时加载该快照文件。
选择Replication》Local Publications》属性,在出现的窗口中选择Publishers,如下图:

点击红框处的按钮,出现设置窗口:

在Default Snapshot Folder中设置快照文件存放路径。
3. 在主数据库服务器创建发布:
在Replication》Local Publications中选择New Publication,出现一个向导。先选择要发布的数据库CNBlogsDemo,然后选择发布类型Transational publication,如下图:

点击Next,出现错误:

原来所有要复制的表都需要有主键,刚才建CNBlogsTest表时,没有建主键。建一下主键,并重新启动向导就可以了。
接着选择要复制的对象:

点Next,Next,进入Snapshot Agent窗口,选择Create a snapshot immediately and keep the snapshot available to initialize subscriptions,见下图:

Next,进入Agent Security:

选择Security Settings,进行相应的帐户设置:

一个是设置运行Snapshot Agent的Windows帐户,我们这里选择与SQL Server Agent同样的帐户。
一个是设置连接发布服务器的SQL帐户,我们这里就用主数据库服务器的sa帐户。
继续:OK,Next,Next,为这个发布起个名字:

点击Finish,就开始正式创建发布,创建成功就会出现如下窗口:

这时查看快照文件夹,就会看到unc文件夹,快照文件就在这个文件夹中。
这里要考虑这样一个问题,如何让订阅服务器通过网络访问这个快照文件夹。
我们在这个问题上折腾了一些时间,本来想通过共享文件夹的方式,但又不想打开匿名共享,折腾了半天,没搞定订阅服务器访问共享文件夹用户验证的问题。于是采用了FTP的方式,所以,下面介绍一下如何让订阅服务器通过FTP访问快照文件。
4. 设置快照的FTP访问
首先在主数据库服务器上开通FTP服务,建立一个指向快照文件夹的FTP站点,设置好可以远程连接的FTP帐户。然后在这台发布服务器设置一下FTP客户端配置。配置方法如下:
在Replication》Local Publications中选择刚才创建的发布[CNBlogsDemo]:CNBlogsDemo_Publication,选择属性》FTP Snapshot,如下图:

选中Allow Subscribers to download snapshot files using FTP,并设置一下FTP客户端连接参数,订阅服务器就是通过这里的设置连接FTP服务器的(注:Path from the FTP root folder的设置要和上图一样,设置为:/ftp)。
[page_break]
点击OK,这时会在快照文件夹中创建一个ftp文件夹,并在该文件夹中生成快照文件。
这样,发布服务器就配置好了,下面配置订阅服务器。
三、备份数据库服务器(订阅服务器)的配置:
进入订阅服务器CNBlogsDB2,创建与发布服务器同名的数据库CNBlogsDemo,使用完全恢复模式。
在Replication》Local Subscriptions中选择New Subscriptions,进入向导。
Next,进入选择发布服务器的窗口,选择Find SQL Server Publisher,出现服务器连接窗口:

这里要注意的是Server Name中一定要填写发布服务器的计算机名,如果计算机名连接不上,要在hosts文件中加一个IP地址解析。
成功连接发布服务器之后,就可以看到刚才在主数据库服务器上创建的发布:

Next,进入分发代理工作位置的选择窗口:

我们这里选择pull subscriptions,把数据给拉过来,这样主数据库服务器的负担会轻些。
Next,选择订阅服务器上的数据库,之前我们已经建好同名的数据库,所以系统自己会找到。
Next,进入分发代理安全设置窗口:

点击红框内的按钮,进入设置窗口:

设置如上图,Connect to the Distributor处设置的是发布服务器的sa帐户。
OK, Next, Next, Next:


明星化妆师 - 公主女生装扮大师小游戏免费下载
当代人生免费下载
速度碰撞碰撞挑战免费下载
洗车模拟器:清洁汽车免费下载
杀手数独大师 - 益智烧脑小游戏免费下载
超市杂货店游戏免费下载
小镇大厨 - 模拟餐厅经营美食烹饪游戏免费下载
建桥大师 [Bridge Constructor]免费下载
少女寻宝团免费下载
靓仔特攻-射击小小士兵免费下载
以闪亮之名免费下载
倩女幽魂免费下载
足球运球 - 踢球游戏免费下载
Grand 超级英雄 : Spider 绳索英雄 游戏免费下载
1v1大逃杀手机版(shotgun)下载v1.1.7 安卓版
竞速自行车游戏下载v1.2.2 安卓版
大秦帝国之帝国烽烟手游公测版下载v13.10.1 安卓版
合成大西瓜无敌版游戏最新版下载v2.2.0 安卓版
圣战士幻兽手游下载v1.3.7.3 安卓版
勇者挂机吧果盘版下载v1.0.0 安卓最新版
70亿僵尸官方版下载v1.3.53 安卓正版
拳击之星
传奇二手车游戏下载v1.0 安卓版
新非仙勿扰文字游戏下载v1.2.1 安卓版
我的樱花童话学校游戏下载v1.8 安卓版
商道高手2手游下载v5.0 安卓版
废土之息官方版下载v2.3.16 安卓最新版
滑雪大冒险西游版下载v2.3.3 安卓版




海通证券融资融券交易软件下载v5.0 最新版
迅雷水晶矿场pc客户端(迅雷水晶挖矿)下载v1.0.2.93 官方版
税务总局电子申报软件单机版下载v4.6.17.0062 安装版
vimtag pc客户端下载v4.4.1 官网最新版
Flash Saver(Flash动画保存工具)下载v6.3.0.0 黄金版
imacros谷歌浏览器插件下载v8.3.5 最新版