复制从文件初始化

使用备份文件初始化日志复制
 
对于大的数据库使用快照初始化既影响性能又花费大量的时间,在某些情况下我们可以使用数据库备份做初始化。
 
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.测试一下,在发布数据库更改数据在订阅数据库验证数据是否同步。
 
注意:因为还原是将发布库整个还原了,如果只想对部分对象做复制,可以将多余的对象删除。
注意账号权限 

你可能感兴趣的:(复制从文件初始化)