SQL SERVER BACKUP DATABASE 加快备份速度方法(压缩-Compression)
2012-03-31 10:42
525 查看
很多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 [b]2005和SQL SERVER 2008[/b]
RESTORE DATABASE 语句也可以使用
BUFFERCOUNT和MAXTRANSFERSIZE 参数
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 [b]2005和SQL SERVER 2008[/b]
RESTORE DATABASE 语句也可以使用
BUFFERCOUNT和MAXTRANSFERSIZE 参数
相关文章推荐
- SQL SERVER BACKUP DATABASE 加快备份速度方法(压缩-Compression)
- SQL SERVER BACKUP DATABASE 加快备份速度方法(压缩-Compression)
- SQL SERVER BACKUP DATABASE 加快备份速度方法
- Sqlserver DataBase BackUp Order (Ex:WF) Sqlserver 数据库备份命令
- SAP SQL 压缩 Database compression for SQL Server
- SQLBackupAndFTP The server principal "NT AUTHORITY\SYSTEM" is not able to access the database "xxxx"
- Backup or Restore SQL Server Database to another server.
- SQL Server Database 维护计划创建完整的备份策略
- Visual Studio 2012创建SQL Server Database Project提示失败解决方法
- MS SQL Server查询优化方法 查询速度慢的原因很多,常见如下几种
- Asp.net 备份、还原Ms SQLServer及压缩Access数据库
- 7.2 Database Backup Methods 数据备份方法:
- web前端压缩图片方法——加快页面加载速度
- SQLSERVER数据备份文件的分割备份方法
- MYSQL/SQL_SERVER/ORACLE三种数据库自动备份方法
- MS SQL SERVER 数据库日志压缩方法与代码
- MS sql server 数据库日志文件清除(压缩)和恢复日志文件的方法
- Microsoft SQL Server 2005或者2008还原2000数据库备份的方法
- 7.2 Database Backup Methods 数据备份方法:
- Asp.net 备份、还原Ms SQLServer及压缩Access数据库