今天需要把一个省外项目的数据库从服务器上备份、拷贝到本机(跨地域传输数据库备份文件)。
连上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大小:
接着,兴冲冲地拷贝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大小:
最后顺利地把这个数据库备份文件拷贝并还原到本机数据库。
标签:
压缩备份数据库
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
桃源资源网 Design By www.nqtax.com
暂无“sql server 2008 压缩备份数据库(20g)”评论...
稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!
昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。
这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。
而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?