预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共20页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

SQLServer2008数据库复制实现数据库同步备份 HYPERLINK"http://www.chinabyte.com/keyword/sql+server+2008/"\t"_blank"SQLServer2008HYPERLINK"http://soft.chinabyte.com/database/"\t"_blank"数据库复制是通过发布/订阅的机制进行多台HYPERLINK"http://server.chinabyte.com/"\t"_blank"服务器之间的数据同步,我们把它用于数据库的同步备份。这里的同步备份指的是备份服务器与主服务器进行实时数据同步,正常情况下只使用主数据库服务器,备份服务器只在主服务器出现故障时投入使用。它是一种优于文件备份的数据库备份解决HYPERLINK"http://solution.chinabyte.com/new/"\t"_blank"方案。 在选择数据库同步备份解决方案时,我们评估了两种方式:SQLServer2008的数据库镜像和SQLServer2008数据库复制。数据库镜像的优点是系统能自动发现主服务器故障,并且自动切换至镜像服务器。但缺点是配置复杂,镜像数据库中的数据不可见(在HYPERLINK"http://www.chinabyte.com/zq/sql-server/"\t"_blank"SQLServerManagementStudio中,只能看到镜像数据库处于镜像状态,无法进行任何数据库操作,最简单的查询也不行。想眼见为实,看看镜像数据库中的数据是否正确都不行。只有将镜像数据库切换主数据库才可见)。如果你要使用数据库镜像,强烈推荐killkill写的SQLServer2005镜像构建手册,我们就是按照这篇文章完成了数据库镜像部署测试。 最终,我们选择了SQLServer2008数据库复制。 下面通过一个示例和大家一起学习一下如何部署SQLServer2008数据库复制。 测试环境:WindowsServer2008R2+SQLServer2008R2(英文版),两台服务器,一台主数据库服务器CNBlogsDB1,一台备份数据库服务器CNBlogsDB2。 复制原理:我们采用的是基于HYPERLINK"http://www.chinabyte.com/keyword/%E5%BF%AB%E7%85%A7/"\t"_blank"快照的事务复制。主数据库服务器生成快照,备份库服务器读取并加载该快照,然后不停地从主数据库服务器复制事务日志。见下图: 图片来自SQLServer联机丛书 安装与配置步骤: 一、在两台服务器上安装好SQLServer2008R2,主要安装的组件:DatabaseEngine(含SQLServerReplication),ManagementTools。 二、主数据库服务器(发布服务器)的配置: 1.在主数据库服务器CNBlogsDB1新建示例数据库CNBlogsDemo(注意Recoverymode要使用默认值Full,只有这个模式才能进行事务复制),然后建立一张测试表,比如:CNBlogsTest。 2.设置存放快照的文件夹: 创建发布之前,先设置一下存放快照的文件夹,创建发布后会在该文件夹生成快照文件,订阅服务器需要在初始化时加载该快照文件。 选择Replication》LocalPublications》属性,在出现的窗口中选择Publishers,如下图: 点击红框处的按钮,出现设置窗口: 在DefaultSnapshotFolder中设置快照文件存放路径。 3.在主数据库服务器创建发布: 在Replication》LocalPublications中选择NewPublication,出现一个向导。先选择要发布的数据库CNBlogsDemo,然后选择发布类型Transationalpublication,如下图: 点击Next,出现错误: 原来所有要复制的表都需要有主键,刚才建CNBlogsTest表时,没有建主键。建一下主键,并重新启动向导就可以了。 接着选择要复制的对象: 点Next,Next,进入SnapshotAgent窗口,选择Createasnapshotimmediatelyandkeepthesnapshotavailabletoinitializesubscriptions,见下图: Next,进入AgentSecurity: 选择SecuritySettings,进行相应的帐户设置: 一个是设置运行SnapshotAgent的Windows帐户,我们这里选择与SQLServerAgent同样的帐户。 一个是设置连接发布服务器的SQL帐户,我们这里就用