打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
SQL SERVER BACKUP DATABASE 加快备份速度方法
 很多SQL SERVER DBA 在备份的时候,一般的撰写格式,都是如下

BACKUP DATABASE AdventureWorks
TO DISK = 'Z:\SQLServerBackups\AdvWorksData.bak'
   WITH FORMAT,CHECKSUM;

对于比较大的数据库,备份时间比较长,

最近在研究了BACKUP DATABASE 参数后,发现可以通过设置一下参数,加快备份速度:

1.备份的时候,设置多个备份集,比如
TO DISK = N'd:/1.bak',DISK = N'd:/2.bak',DISK = N'd:/3.bak',DISK = N'd:/4.bak'

2.使用BUFFERCOUNT 和MAXTRANSFERSIZE 选项。

BUFFERCOUNT  :指定用于备份操作的 I/O 缓冲区总数。可以指定任何正整数;但是,较大的缓冲区数可能导致由于 Sqlservr.exe 进程中的虚拟地址空间不足而发生“内存不足”错误。
缓冲区使用的总计空间由下面公式确定:buffercount*maxtransfersize。

MAXTRANSFERSIZE  :指定要在 SQL Server 和备份介质之间使用的最大传输单元(字节)。可能的值是 65536 字节 (64 KB) 的倍数,最多可到 4194304 字节 (4 MB)。
3.启用备份压缩选项(COMPRESSION)

该选项只在SQL Server 2008 Enterprise版本和SQL Server 2008 R2 Standard 以及所有更高版本都支持。

注意:压缩选项会需要额外的CPU资源,因此建议不要在系统繁忙时候使用。

4。做为DBA,你可能需要保证数据的安全,一般会加上校验和参数(CHECKSUM),保证数据安全。

测试比较:

数据库大小:53282.19 MB(包含日志文件)

数据文件大小是:32GB左右

使用标准备份方法:

BACKUP DATABASE [test]
TO DISK = N'd:/1.bak' WITH CHECKSUM;

需要用时04:08

使用优化参数的备份命令

BACKUP DATABASE [test]
TO DISK = N'D:\test_FULL_20110311_050001_1.bak',
DISK = N'D:\test_FULL_20110311_050001_2.bak',
DISK = N'D:\test_FULL_20110311_050001_3.bak',
DISK = N'D:\test_FULL_20110311_050001_4.bak'
WITH CHECKSUM, COMPRESSION, BUFFERCOUNT = 50, MAXTRANSFERSIZE = 4194304

备份用时:110.350 秒

速度提高了50%

如果不使用CHECKSUM参数,备份速度还可以更快,但是做为DBA,数据的安全是第一位的,因此推荐加上CHECKSUM参数。

以上提起的参数只适用于SQL SERVER 2005和SQL SERVER 2008

以上只是个人研究,有什么问题请各位大侠多提宝贵意见




本人博客:http://space.itpub.net/?8183550

[ 本帖最后由 edwardking888 于 2011-3-11 13:40 编辑 ]
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
SQL Server 备份提速
【SQLServer备份恢复】提高备份速度
MS SQL server 2005(SQL2005)在查询分析器里面备份 数据库的语句
SQL Server日志恢复还原数据库几种方法
SQLSERVER backup 命令总结
通过作业调度建立SQL Server的自动备份
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服