USE wm
GO
BACKUP LOG wm  WITH NO_LOG
GO
--收缩日志文件
USE wm
GO
DBCC SHRINKFILE (N'wm_log',0,TRUNCATEONLY)
GO
--差异备份,每天一次
USE wm 
GO
declare @str varchar(100)
set @str='E:\Data\DiffBak'+replace(replace(replace(convert(varchar,getdate(),20),'-',''),' ',''),':','')+'.diff'
BACKUP DATABASE [wm]  TO DISK=@str
WITH DIFFERENTIAL,RETAINDAYS=8,NOFORMAT,NOINIT,
NAME=N'wm',SKIP,NOREWIND,
NOUNLOAD,STATS=10
GO
数据库差异备份还原先错误:先前地还原操作未指定WITH NORECOVERY或WITH STANDBY!       在哪指定呀??

解决方案 »

  1.   

    从备份中还原 
    ------------------------------------------------------------------------- 
    restore headeronly from bak1 
    restore database d1 from bak1 with file=2        --从完全备份中恢复 
    ---------------------------------------------------------------------- 
    restore headeronly from bak2              --从差异备份中恢复 
    restore database d2 from bak2 with file=1,norecovery    
    restore database d2 from bak2 with file=5,recovery 
    ---------------------------------------------------------------------- 
    restore headeronly from bak3              --从日志备份中恢复 
    restore database d3 from bak3 with file=1,norecovery 
    restore log    d3 from bak3 with file=2,norecovery 
    restore log    d3 from bak3 with file=3,norecovery 
    restore log    d3 from bak3 with file=4,norecovery 
    restore log    d3 from bak3 with file=5,recovery 
      

  2.   

    没有使用过Sql语句做还原操作,1楼的好像是正确的,不过看不到备份文件名称。