博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

如何通过数据库备份来初始化订阅

Posted on 2011-06-09 15:48  nzperfect  阅读(540)  评论(0编辑  收藏  举报

初始化订阅:

1.使用界面在发布服务器上建立发布项,勾选“立即创建快照并使快照保持可用状态,以初始化订阅”。 即: @immediate_sync = N'true'

2.使用界面修改发布项的"允许从备份文件初始化"为true. 即:@allow_initialize_from_backup = N'true'

3.为前发布数据库全一个全备,一个事务log备份'd:\DBBak\repl.trn'

4.在订阅服务器用发布库全备还原出一个订阅库,状态norecovery,之后再还原发布的log备份,状态recovery

5.使用脚本命令sp_addsubscription添加订阅,需要注意的参数:@sync_type = N'initialize with backup' ,需要加两个参数:

@backupdevicetype = 'Disk',@backupdevicename = 'd:\DBBak\repl.trn' --这个是发布服务器的目录,发布库的log备份。
6.如此操作,似乎不用关心not for replication的问题?因为发现只要为表建过发布项,不论有没有过订阅,该发布表都会被加上not for replicaction ?


参考:

How to: Initialize a Transactional Subscription from a Backup with Multiple Backup Files