使用备份文件初始化日志复制

对于大的数据库使用快照初始化既影响性能又花费大量的时间,在某些情况下我们可以使用数据库备份做初始化。

1.首先根据创建的Article建立发布。

2.修改allowinitializationfrombackup的选项为True.

133844852.png

3.备份发布数据库。

BackupdatabaseAdventureWorks2008todisk='C:\AdventureWorks2008.bak'

4.使用上面产生的备份还原订阅数据库

RESTOREDATABASE[repl_Inibackup]FROMDISK=N'C:\AdventureWorks2008.bak'

WITHFILE=1,

MOVEN'AdventureWorks2008_Data'TON'C:\repl_Inibackup.mdf',

MOVEN'AdventureWorks2008_Log'TON'C:\repl_Inibackup_1.ldf'

5.在发布库上执行下面的脚步创建订阅:

useAdventureWorks2008

go

sp_addsubscription

@publication='pub_Initbackup',--yourpubnamehere

@subscriber='test',--subscriberservername

@destination_db='repl_IntiBackup',--destinationdbname

@sync_type='initializewithbackup',

@backupdevicetype='disk',

@backupdevicename='C:\AdventureWorks2008.bak'

Go

6.在SSMS中可以看到订阅已经创建成功。

7.测试一下,在发布数据库更改数据在订阅数据库验证数据是否同步。

注意:因为还原是将发布库整个还原了,如果只想对部分对象做复制,可以将多余的对象删除。

你可能感兴趣的:(log,with,backup,Replication,transcation,intialize,使用备份文件初始化日志复制)