数据库教程:sql server 2008 压缩备份数据库(20g)

今天需要把一个省外项目的数据库从服务器上备份、拷贝到本机(跨地域传输数据库备份文件)。 连上vpn,通过远程桌面连接,连接上服务器,发现数据库文件已经有20g以上大小了。

今天需要把一个省外项目的数据库从服务器上备份、拷贝到本机(跨地域传输数据库备份文件)。

连上vpn,通过远程桌面连接,连接上服务器,发现数据库文件已经有20g以上大小了。

文件太大,公司网络也不稳定,根本不可能通过网络传输过来。

于是,把数据库的恢复模式由“完整”模式设置为“简单”模式,接着收缩数据库,

数据库瞬间由20g变成1g多点。

在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.bak  exec sp_executesql @sqlbackupdatabase --调用系统存储过程,执行sql

备份成功后,备份的bak文件有1.16g大小:

sql server 2008 压缩备份数据库(20g)

接着,兴冲冲地拷贝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.bak  exec sp_executesql @sqlbackupdatabase --调用系统存储过程,执行sql

备份成功后,发现备份的bak文件只有160mb大小:

sql server 2008 压缩备份数据库(20g)

最后顺利地把这个数据库备份文件拷贝并还原到本机数据库。

需要了解更多数据库技术:sql server 2008 压缩备份数据库(20g),都可以关注数据库技术分享栏目—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/dtteaching/626468.html

(0)
上一篇 2021年5月26日
下一篇 2021年5月26日

精彩推荐