+ -
当前位置:首页 → 问答吧 → SQL Server差异备份问题

SQL Server差异备份问题

时间:2011-11-08

来源:互联网

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

作者: iwilsonwu   发布时间: 2011-11-08

这个现象是怎么看到的?

作者: liangCK   发布时间: 2011-11-08

楼主的意思是差异备份文件太大?

作者: fredrickhu   发布时间: 2011-11-08

差异备份不单单要记录当前库的信息,还要记录变化的信息,应该小不了.既然差异备份这么大,还不如干脆做完整备份,你要试试的话,说不定备份文件还没那么大呢!.

作者: qianjin036a   发布时间: 2011-11-08

引用 3 楼 qianjin036a 的回复:
差异备份不单单要记录当前库的信息,还要记录变化的信息,应该小不了.既然差异备份这么大,还不如干脆做完整备份,你要试试的话,说不定备份文件还没那么大呢!.

建议改用增量备份试试

作者: warlibrary   发布时间: 2011-11-08

收缩一下数据库,估计有的空间没有回收

建议:差异和日志和完整配合使用

作者: roy_88   发布时间: 2011-11-08

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

希望有经验的朋友继续支招,多谢!

作者: iwilsonwu   发布时间: 2011-11-08

首先,你需要确认差异备份前的完全备份时间。必须是从有效的完全备份开始后,差异备份的情况。
SQL code
SELECT
bkps.database_name AS [DatabaseName],*
FROM
msdb.dbo.backupset bkps
ORDER BY
[DatabaseName] ASC
go


上面查询的结果集,请自己筛选过滤。

请确认并做好这第一步,再去谈异常增大的差异文件中到底包含哪些。

作者: claro   发布时间: 2011-11-08

引用 3 楼 qianjin036a 的回复:

差异备份不单单要记录当前库的信息,还要记录变化的信息,应该小不了.既然差异备份这么大,还不如干脆做完整备份,你要试试的话,说不定备份文件还没那么大呢!.


同意晴天的说法,差异有时候还赶不上完整的来的快。

作者: OrchidCat   发布时间: 2011-11-08

非常感谢大家,我让他们试试增量备份,看看效果如何,实验后来放分,感谢!

作者: iwilsonwu   发布时间: 2011-11-08

学习。。。。。。。

作者: Beirut   发布时间: 2011-11-08

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

作者: iwilsonwu   发布时间: 2011-11-08

-_-!!!

差异备份跟增量的区别是什么?

作者: claro   发布时间: 2011-11-08

引用 12 楼 claro 的回复:

-_-!!!

差异备份跟增量的区别是什么?


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

作者: iwilsonwu   发布时间: 2011-11-08

了解。

这里说到是SQL Server。

作者: claro   发布时间: 2011-11-09

对于(160G)数据库的备份建议,特别强调是SQL Server 2005.

1 如果每天的异动数据大约500M。每年的数据量大约是180G。
  所以目前到数据量(如果没有做归档)基本上都会被用到。无法采用添加文件组做只读,再考虑备份文件或文件组。

2 如果磁盘的备份空间足够。你考虑的是速度和大小,可以每周完备时,同时将数据写入4个文件,如果原先一次完备大约8小时,现在只需要2小时可以完成。再考虑如何保存这4个文件,比如尝试再压缩等等。
  差异备份的量,如果有这么大,仍可以尝试多写入几个备份文件,那么还原的时候同样是选择多个文件进行还原。
 
这里是建议方式2.

对于你差异的数据量为何这么大,原则上是不可能的。好好检查上次完备的时间。

另外,差异备份的时间(和大小)一定小于完备,这点不要去质疑。

作者: claro   发布时间: 2011-11-09