关于SQL Server 2005数据库, 我们有个大的库(160G), 现在做备份时有个现象, 每天的差异备份后的文件占完整备份的的一半(70G~110G), 根据业务操作频繁度来看, 最多每天的数据量也不超过500M, 目前备份策略为: 每天差异备份, 每周完整备份, 备份后清除一次日志. 请教各位高手解答!拜托!

解决方案 »

  1.   

    多谢各位回复,还是CSDN能讨论问题啊。
    问题就是差异备份的文件太大,数据修改不多而差异备份文件那么大,有点郁闷。
    4楼的朋友多谢了,我晚上建议了他们做增量备份,还没看效果,到时候再来给大家分享结果。希望有经验的朋友继续支招,多谢!
      

  2.   

    首先,你需要确认差异备份前的完全备份时间。必须是从有效的完全备份开始后,差异备份的情况。
    SELECT
    bkps.database_name AS [DatabaseName],*
    FROM
    msdb.dbo.backupset bkps
    ORDER BY
    [DatabaseName] ASC
    go上面查询的结果集,请自己筛选过滤。请确认并做好这第一步,再去谈异常增大的差异文件中到底包含哪些。
      

  3.   

    刚沟通了一下,貌似SQL Server没有增量备份,我对SQL Server不熟,希望高手解答:
    SQL Server 2005提供了四种备份数据库的方式:
    l 完整备份:备份整个数据库的所有内容,包括事务日志。该备份类型需要比较大的存储空间来存储备份文件,备份时间也比较长,在还原数据时,也只要还原一个备份文件。
    l 差异备份:是完整备份的补充,差异备份只备份上次完整备份后更改的数据。相对完整备份来说,差异备份的数据量比完整数据备份小,备份的速度也比完整备份要快。因此,差异备份通常作为经常用到的备份。在还原数据时,要先还原前一次做的完整备份后再还原最后一次所做的差异备份,这样才能让数据库里的数据恢复到与最后一次差异备份时的相同内容。
    l 事务日志备份:事务日志备份只备份事务日志里的内容。事务日志记录了上一次完整备份或事务日志备份后数据库的所有变动过程。事务日志记录的是某一段时间内的数据库变动情况,因此在做事务日志备份之前,也必须要做完整备份。与差异备份类似,事务日志备份的备份文件和时间都会比较小,但是在还原数据时,除了先要还原完整备份之外,还要依次还原每个事务日志备份,而不是只还原最近一个事务日志备份。
    l 文件和文件组备份:如果在创建数据库时,为数据库创建了多个数据库文件或文件组,可以使用该备份方式。使用文件和文件组备份方式可以只备份数据库中的某些文件,该备份方式在数据库文件非常庞大的时候十分有效,由于每次只备份一个或几个文件或文件组,可以分多次来备份数据库,避免大型数据库备份的时间过长。另外,由于文件和文件组备份只备份其中一个或多个数据文件,那么当数据库里的某个或某些文件损坏时,可以只还原损坏的文件或文件组备份即可。
    目前我们选用完整+差异备份进行组合.
      

  4.   


    在Oracle里有区别的,你可以搜一下。
      

  5.   

    了解。这里说到是SQL Server。
      

  6.   

    对于(160G)数据库的备份建议,特别强调是SQL Server 2005.1 如果每天的异动数据大约500M。每年的数据量大约是180G。
      所以目前到数据量(如果没有做归档)基本上都会被用到。无法采用添加文件组做只读,再考虑备份文件或文件组。2 如果磁盘的备份空间足够。你考虑的是速度和大小,可以每周完备时,同时将数据写入4个文件,如果原先一次完备大约8小时,现在只需要2小时可以完成。再考虑如何保存这4个文件,比如尝试再压缩等等。
      差异备份的量,如果有这么大,仍可以尝试多写入几个备份文件,那么还原的时候同样是选择多个文件进行还原。
     
    这里是建议方式2.对于你差异的数据量为何这么大,原则上是不可能的。好好检查上次完备的时间。另外,差异备份的时间(和大小)一定小于完备,这点不要去质疑。 
      

  7.   

    这个问题如lz描述属实,还是需要找到每天生产这70G日志的原因,70G的日志,这个太大了
      

  8.   


    没错,因为我对SQL Server不熟,所以请教各位高手是否正常,如果不正常需要从哪来入手找问题。