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

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

 

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.测试一下,在发布数据库更改数据在订阅数据库验证数据是否同步。

 

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

 

 

你可能感兴趣的:(使用备份文件初始化日志复制)