使用备份文件初始化日志复制
对于大的数据库使用快照初始化既影响性能又花费大量的时间,在某些情况下我们可以使用数据库备份做初始化。
1.
首先根据创建的Article建立发布。
2.修改 allow initialization from
backup的选项为True.
3.备份发布数据库。
Backup databaseAdventureWorks2008 to
disk
=‘C:\AdventureWorks2008.bak‘
4.使用上面产生的备份还原订阅数据库
RESTORE
DATABASE [repl_Inibackup] FROM DISK =
N‘C:\AdventureWorks2008.bak‘
WITH FILE = 1,
MOVE
N‘AdventureWorks2008_Data‘ TON‘C:\repl_Inibackup.mdf‘,
MOVE
N‘AdventureWorks2008_Log‘
TON‘C:\repl_Inibackup_1.ldf‘
5.在发布库上执行下面的脚步创建订阅:
use
AdventureWorks2008
go
sp_addsubscription
@publication
=‘pub_Initbackup‘, --your pub name
here
@subscriber=‘test‘, --subscriber server
name
@destination_db=‘repl_IntiBackup‘, --destination
db name
@sync_type = ‘initialize with
backup‘,
@backupdevicetype =
‘disk‘,
@backupdevicename =
‘C:\AdventureWorks2008.bak‘
Go
6.在SSMS中可以看到订阅已经创建成功。
7.测试一下,在发布数据库更改数据在订阅数据库验证数据是否同步。
注意:因为还原是将发布库整个还原了,如果只想对部分对象做复制,可以将多余的对象删除。
注意账号权限
原文地址:http://www.cnblogs.com/qanholas/p/3741660.html