SQLServer 数据库复制.docx

上传人:b****4 文档编号:4916663 上传时间:2023-05-07 格式:DOCX 页数:21 大小:745.16KB
下载 相关 举报
SQLServer 数据库复制.docx_第1页
第1页 / 共21页
SQLServer 数据库复制.docx_第2页
第2页 / 共21页
SQLServer 数据库复制.docx_第3页
第3页 / 共21页
SQLServer 数据库复制.docx_第4页
第4页 / 共21页
SQLServer 数据库复制.docx_第5页
第5页 / 共21页
SQLServer 数据库复制.docx_第6页
第6页 / 共21页
SQLServer 数据库复制.docx_第7页
第7页 / 共21页
SQLServer 数据库复制.docx_第8页
第8页 / 共21页
SQLServer 数据库复制.docx_第9页
第9页 / 共21页
SQLServer 数据库复制.docx_第10页
第10页 / 共21页
SQLServer 数据库复制.docx_第11页
第11页 / 共21页
SQLServer 数据库复制.docx_第12页
第12页 / 共21页
SQLServer 数据库复制.docx_第13页
第13页 / 共21页
SQLServer 数据库复制.docx_第14页
第14页 / 共21页
SQLServer 数据库复制.docx_第15页
第15页 / 共21页
SQLServer 数据库复制.docx_第16页
第16页 / 共21页
SQLServer 数据库复制.docx_第17页
第17页 / 共21页
SQLServer 数据库复制.docx_第18页
第18页 / 共21页
SQLServer 数据库复制.docx_第19页
第19页 / 共21页
SQLServer 数据库复制.docx_第20页
第20页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

SQLServer 数据库复制.docx

《SQLServer 数据库复制.docx》由会员分享,可在线阅读,更多相关《SQLServer 数据库复制.docx(21页珍藏版)》请在冰点文库上搜索。

SQLServer 数据库复制.docx

SQLServer数据库复制

通过SQLServer2008数据库复制实现数据库同步备份

SQLServer2008数据库复制是通过发布/订阅的机制进行多台服务器之间的数据同步,我们把它用于数据库的同步备份。

这里的同步备份指的是备份服务器与主服务器进行实时数据同步,正常情况下只使用主数据库服务器,备份服务器只在主服务器出现故障时投入使用。

它是一种优于文件备份的数据库备份解决方案。

在选择数据库同步备份解决方案时,我们评估了两种方式:

SQLServer2008的数据库镜像和SQLServer2008数据库复制。

数据库镜像的优点是系统能自动发现主服务器故障,并且自动切换至镜像服务器。

但缺点是配置复杂,镜像数据库中的数据不可见(在SQLServerManagementStudio中,只能看到镜像数据库处于镜像状态,无法进行任何数据库操作,最简单的查询也不行。

想眼见为实,看看镜像数据库中的数据是否正确都不行。

只有将镜像数据库切换主数据库才可见)。

如果你要使用数据库镜像,强烈推荐killkill写的SQLServer2005 镜像构建手册,我们就是按照这篇文章完成了数据库镜像部署测试。

最终,我们选择了SQLServer2008数据库复制。

下面通过一个示例和大家一起学习一下如何部署SQLServer2008数据库复制。

测试环境:

WindowsServer2008R2+SQLServer2008R2(英文版),两台服务器,一台主数据库服务器CNBlogsDB1,一台备份数据库服务器CNBlogsDB2。

复制原理:

我们采用的是基于快照的事务复制。

主数据库服务器生成快照,备份库服务器读取并加载该快照,然后不停地从主数据库服务器复制事务日志。

见下图:

图片来自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帐户,我们这里就用主数据库服务器的sa帐户。

继续:

OK,Next,Next,为这个发布起个名字:

 

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

这时查看快照文件夹,就会看到unc文件夹,快照文件就在这个文件夹中。

这里要考虑这样一个问题,如何让订阅服务器通过网络访问这个快照文件夹。

我们在这个问题上折腾了一些时间,本来想通过共享文件夹的方式,但又不想打开匿名共享,折腾了半天,没搞定订阅服务器访问共享文件夹用户验证的问题。

于是采用了FTP的方式,所以,下面介绍一下如何让订阅服务器通过FTP访问快照文件。

4. 设置快照的FTP访问

首先在主数据库服务器上开通FTP服务,建立一个指向快照文件夹的FTP站点,设置好可以远程连接的FTP帐户。

然后在这台发布服务器设置一下FTP客户端配置。

配置方法如下:

在Replication》LocalPublications中选择刚才创建的发布[CNBlogsDemo]:

CNBlogsDemo_Publication,选择属性》FTPSnapshot,如下图:

 

选中AllowSubscriberstodownloadsnapshotfilesusingFTP,并设置一下FTP客户端连接参数,订阅服务器就是通过这里的设置连接FTP服务器的(注:

PathfromtheFTProotfolder的设置要和上图一样,设置为:

/ftp)。

点击OK,这时会在快照文件夹中创建一个ftp文件夹,并在该文件夹中生成快照文件。

这样,发布服务器就配置好了,下面配置订阅服务器。

三、备份数据库服务器(订阅服务器)的配置:

进入订阅服务器CNBlogsDB2,创建与发布服务器同名的数据库CNBlogsDemo,使用完全恢复模式。

在Replication》LocalSubscriptions中选择NewSubscriptions,进入向导。

Next,进入选择发布服务器的窗口,选择FindSQLServerPublisher,出现服务器连接窗口:

这里要注意的是ServerName中一定要填写发布服务器的计算机名,如果计算机名连接不上,要在hosts文件中加一个IP地址解析。

成功连接发布服务器之后,就可以看到刚才在主数据库服务器上创建的发布:

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

 

 

我们这里选择pullsubscriptions,把数据给拉过来,这样主数据库服务器的负担会轻些。

(实际测试选择次选项不成功,选择第一选项)

Next,选择订阅服务器上的数据库,之前我们已经建好同名的数据库,所以系统自己会找到。

Next,进入分发代理安全设置窗口:

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

设置如上图,ConnecttotheDistributor处设置的是发布服务器的sa帐户。

OK,Next,Next,Next:

Next,Finish,Success:

备份数据库的订阅就建好了!

现在来瞧一瞧订阅服务器CNBlogsDB2上的用于复制的数据库CNBlogsDemo:

看!

我们在发布服务器上建立的表CNBlogsTest复制过来了。

现在我们去发布服务器CNBlogsDB1上添加一条记录:

再去订阅服务器CNBlogsDB2瞧一瞧:

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 表格模板

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2