02.订阅发布(通过备份文件初始化).docx

02.订阅发布(通过备份文件初始化).docx

  1. 1、本文档共23页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

SQLServer订阅发布功能验证

通过备份文件初始化

背景目标

在发布服务器业务不停机的情况下,实现数据完整备份。

先对Master服务器进行历史数据备份,通过FTP工具把备份数据在Slave服务器进行还原,再通过订阅方式同步增量数据。

面临的问题是,在备份数据后(或备份中),Master业务系统还在运行,可能会对数据进行操作,会导致结尾日志不统一,订阅建立失败的情况。

2功能验证(发布和分发共用服务器)

系统环境:WindowsServer2008+SQLServer2008

发布服务器(Master)名:firefly

订阅服务器(Slave)名:WIN-SC5EUDN9Q0L

分发服务器:同发布服务器

发布数据库:TestMaster

订阅服务器:TestSlave

数据库帐号密码:testUser/testPassword

2.1无数据变动

我们先假设建立发布、备份还原过程中,Master服务器无业务操作,来验证整个流程,流程图如下:

发布库初始化的表[UserInfo]

2.1.1创建发布

a-1新建发布

a-2选择要发布的数据库【TestMaster】

a-3选择【事务发布】

a-4选择要发布的表及字段

a-5快照代理不勾选

a-6代理安全性不勾选【使用快照代理的安全设置】

a-6-1快照代理安全设置

a-6-3日志读取安全代理

a-7创建发布

a-8发布命名

a-9发布创建成功

a-10创建成功的发布

a-11设置发布属性中的订阅选项,把允许从备份文件初始化的默认值false设置为true

此步骤一定不能忽略

2.1.2备份还原数据

备份数据,备份文件在发布服务器上要保留,后面创建订阅的时候需要

BACKUPDATABASE[TestMaster]

TODISK=ND:\DBBackup1.bak--文件路径根据需要修改

WITHNOFORMAT,NOINIT,NAME=NTestMaster-完整数据库备份,

SKIP,NOREWIND,NOUNLOAD,STATS=10

GO

传输文件至订阅服务器

还原数据,注意:路径均为订阅服务器上的

RESTOREDATABASE[TestSlave]

FROMDISK=NC:1.bak

WITHFILE=1,

MOVENTestMasterTONC:\ProgramFiles(x86)\MicrosoftSQLServer\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\TestSlave.mdf,

MOVENTestMaster_logTONC:\ProgramFiles(x86)\MicrosoftSQLServer\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\TestSlave_log.ldf,

NOUNLOAD,REPLACE,STATS=10

GO

核对还原后的数据

跟发布库一致

2.1.3创建订阅

在发布服务器上执行sp_addsubscription存储过程添加订阅

USE[TestMaster]

EXECsp_addsubscription

@publication=NTestPub,

@subscriber=WIN-SC5EUDN9Q0L,

@destination_db=NTestSlave,

@subscription_type=NPush,

@sync_type=Ninitializewithbackup,

@backupdevicetype=disk,

@backupdevicename=D:\DBBackup1.bak

执行成功:

确认订阅的安全性设置

检查发布服务器和订阅服务器的订阅状态

查看订阅服务器上是否有新增的订阅

2.1.4数据测试

在发布服务器表中插入数据,查看订阅是否成功

INSERT[dbo].[UserInfo]([names],[address],[DESC])VALUES(Nhefei,N合肥,N霸都)

发布服务器中的数据

订阅服务器中的数据

2.1.5结论

在整个环节中若无数据变动,该发布订阅方法可行。

2.2有数据变动

2.2.1异常情况

如果在备份数据后,发布库有数据变动,经验证,在创建订阅的时候出报下错误:

消息21397,级别16,状态1,过程sp_MSsetupnosyncsubwithlsnatdist,第248行

对从指定备份创建的非同步订阅进行同

文档评论(0)

无名 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档