SQL Server 备份提速

对于大的数据库,备份花费的时间是非常多的,而且很耗费资源。如果能让备份跑的更快?

 

可以使用下面的参数:

1. 将数据库备份多到个文件(多个磁盘)

2.启用压缩功能(2008,R2之后都有)

3. 使用参数maxtransfersize和buffercount

4.调整备份侧率,使用文件和文件组备份

 

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

缓冲区使用的总计空间由下面公式确定:buffercount*maxtransfersize

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

将数据库备份到多个文件多个磁盘,这样做有几个好处:

 

1.备份到多个磁盘,可以充分利用磁盘IO,减少备份时间

 

2. 另外如果单个磁盘空间不足的话,备份到多个文件可以使备份文件变小,解决磁盘空间问题,另外通过网络移动到其他地方也比较方便。

 

3.备份到多个文件可以SQL Server使用多个备份线程,提供效率。

 

我们可以使用Management studio或者T-SQL实现备份到多个文件:

 

 

T-SQL:

BACKUP DATABASE [AdventureWorks]TO DISK=N'D:\MSSQL\MSSQL10.SQL2K8\MSSQL\Backup\AdventureWorks.bak', 

DISK = N'E:\MSSQL\MSSQL10.SQL2K8\MSSQL\Backup\advantureWorks1.bak', 

DISK = N'F:\MSSQL\MSSQL10.SQL2K8\MSSQL\Backup\AdventureWorks2.bak'WITHNOFORMAT,NOINIT, 

NAME = N'AdventureWorks-Full Database Backup',SKIP,NOREWIND,NOUNLOAD, STATS= 10

GO

 

还原也很简单:

restore database [AdventureWorks]from   

DISK = N'D:\MSSQL\MSSQL10.SQL2K8\MSSQL\Backup\AdventureWorks.bak', 

DISK = N'E:\MSSQL\MSSQL10.SQL2K8\MSSQL\Backup\advantureWorks1.bak', 

DISK = N'F:\MSSQL\MSSQL10.SQL2K8\MSSQL\Backup\AdventureWorks2.bak'withreplace

 

另外注意一点:在备份的时候使用CHECKSUM选项,虽然会增加备份的时间,但是可以保证备份的质量。如果最后还原的时候发现备份无法使用是很糟糕的。

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值