这篇文章将为大家详细讲解有关sql server中怎么压缩备份数据库,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
在SSMS中,新建查询窗口,执行数据库备份语句:
--定义变量,把备份数据库的QL脚本赋值给变量declare @SqlBackupDataBase as nvarchar(1000)set @SqlBackupDataBase=N'BACKUP DATABASE Northwind TO DISK = ''D:\Northwind-'+CONVERT(varchar(11),GETDATE(),112)+REPLACE(CONVERT(varchar(12),GETDATE(),108),':','')+'.bak'''--备份文件格式:Northwind-20170111132424.bakexec sp_executesql @SqlBackupDataBase --调用系统存储过程,执行SQL
备份成功后,备份的bak文件有1.16G大小:
接着,兴冲冲地拷贝bak文件到本机,
结果:总是在传输的过程中,传输自动中断。
原因是 网络不稳定,网络的带宽限制。
想想,能不能备份成更小的bak文件呢?
最后用到了sql server 2008 以上版本的数据库的新特性:压缩备份数据库。
其实就是在备份数据库的语句上加上 “with STATS = 1,compression”,
完整压缩备份数据库语句如下:
--定义变量,把备份数据库的QL脚本赋值给变量declare @SqlBackupDataBase as nvarchar(1000)set @SqlBackupDataBase=N'BACKUP DATABASE Northwind TO DISK = ''D:\Northwind-'+CONVERT(varchar(11),GETDATE(),112)+REPLACE(CONVERT(varchar(12),GETDATE(),108),':','')+'.bak'''+'with STATS = 1,compression'--备份文件格式:Northwind-20170111132424.bakexec sp_executesql @SqlBackupDataBase --调用系统存储过程,执行SQL
备份成功后,发现备份的bak文件只有160MB大小:
最后顺利地把这个数据库备份文件拷贝并还原到本机数据库。
关于sql server中怎么压缩备份数据库就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。