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

初始化订阅:

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



作者:nzperfect
出处:http://www.cnblogs.com/nzperfect/
引用或者转载本BLOG的文章请注明原作者和出处,并保留原文章中的版权信息。

原文地址:https://www.cnblogs.com/nzperfect/p/2076479.html