SQL2008 差异备份和差异备份还原,该如何解决
SQL2008 差异备份和差异备份还原
我有两个数据库结构相同,它们不在不同地方(不相通的)!
现在我想在第一个数据库里进行差异备份,然后把这个差异备份,放到第二个数据库里,进行还原!
这样做可以吗?如果行要怎样做,如果不行,请问有什么其他好方法!求详解
------解决方案--------------------
建议直接完全备份,然后到这个机器还原.
------解决方案--------------------
------解决方案--------------------
------解决方案--------------------
完整备份还原吧!用差异楼主要做什么!
------解决方案--------------------
楼主的目的是什么? 数据库迁移还是数据同步.
数据库迁移 --> 直接用完整备份还原即可.
数据同步 --> 可考虑用定时差异备份还原, 或日志传送(Log Shipping).
------解决方案--------------------
------解决方案--------------------
可考虑用日志传送或SSIS工具,详见Google.
------解决方案--------------------
我有两个数据库结构相同,它们不在不同地方(不相通的)!
现在我想在第一个数据库里进行差异备份,然后把这个差异备份,放到第二个数据库里,进行还原!
这样做可以吗?如果行要怎样做,如果不行,请问有什么其他好方法!求详解
------解决方案--------------------
建议直接完全备份,然后到这个机器还原.
------解决方案--------------------
------解决方案--------------------
------解决方案--------------------
完整备份还原吧!用差异楼主要做什么!
------解决方案--------------------
楼主的目的是什么? 数据库迁移还是数据同步.
数据库迁移 --> 直接用完整备份还原即可.
数据同步 --> 可考虑用定时差异备份还原, 或日志传送(Log Shipping).
------解决方案--------------------
------解决方案--------------------
可考虑用日志传送或SSIS工具,详见Google.
------解决方案--------------------
- SQL code
可以用备份作业: /*******************完整备份作业*******************/ --完整备份,每周一次 USE Master GO declare @str varchar(100) set @str='D:\DBtext\jgj\DBABak\FullBak'+replace(replace(replace(convert(varchar,getdate(),20),'-',''),' ',''),':','')+'.bak' BACKUP DATABASE [demo] TO DISK=@str WITH RETAINDAYS=15,NOFORMAT,NOINIT, NAME=N'Demo完整备份',SKIP,NOREWIND, NOUNLOAD,STATS=10 GO /*******************差异备份作业*******************/ --截断日志 USE Master GO BACKUP LOG Demo WITH NO_LOG GO --收缩日志文件 USE Demo GO DBCC SHRINKFILE (N'Demo_log',0,TRUNCATEONLY) GO --差异备份,每天一次 USE Master GO declare @str varchar(100) set @str='D:\DBtext\jgj\DBABak\DiffBak'+replace(replace(replace(convert(varchar,getdate(),20),'-',''),' ',''),':','')+'.diff' BACKUP DATABASE [Demo] TO DISK=@str WITH DIFFERENTIAL,RETAINDAYS=8,NOFORMAT,NOINIT, NAME=N'Demo差异备份',SKIP,NOREWIND, NOUNLOAD,STATS=10 GO /******************日志备份作业*******************/ --日志备份,每小时一次 USE Demo GO declare @str varchar(100) set @str='D:\DBtext\jgj\DBABak\logbak'+replace(replace(replace(convert(varchar,getdate(),20),'-',''),' ',''),':','')+'.trn' BACKUP LOG [Demo] TO DISK=@str WITH RETAINDAYS=3,NOFORMAT,NOINIT, NAME=N'Demo日志备份',SKIP,NOREWIND, NOUNLOAD,STATS=10 GO --删除过期的备份文件,每天两次 declare @str varchar(100),@dir varchar(100),@fileName varchar(30) set @dir='del D:\DBtext\jgj\DBABak\' set @filename=left(replace(replace(replace(convert(varchar,getdate()-15,20),'-',''),' ',''),':',''),8) set @str=@dir+'fullbak'+@filename+'*.bak' exec xp_cmdshell @str set @filename=left(replace(replace(replace(convert(varchar,getdate()-8,20),'-',''),' ',''),':',''),8) set @str=@dir+'diffbak'+@filename+'*.diff' exec xp_cmdshell @str set @filename=left(replace(replace(replace(convert(varchar,getdate()-8,20),'-',''),' ',''),':',''),8) set @str=@dir+'logbak'+@filename+'*.trn' exec xp_cmdshell @str
------解决方案--------------------
只做备份吗,你第二个数据库做了操作怎么办,也把他给还原了?