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

 更新时间:2018年03月15日 21:46:41   作者:Sunny秋刀鱼  
这篇文章主要介绍了针对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大小:

接着,兴冲冲地拷贝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大小:

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

相关文章

  • sql2000数据库清除重复数据的二种方法

    sql2000数据库清除重复数据的二种方法

    这篇文章主要介绍了sql2000数据库清除重复数据的二种方法,可以使用使用游标实现和sql语句实现,需要的朋友可以参考下
    2014-03-03
  • sqlserver性能调优经验总结

    sqlserver性能调优经验总结

    sqlserver的性能调优,其实是个很宽广的话题。坦白讲,想从概念到实践的完全讲清楚并掌握透彻,可能至少需要几本书的内容。本文只是一个概念级的总结,希望读者能对此有新的认识,在调优路上有所帮助
    2013-10-10
  • SQL Server中identity(自增)的用法详解

    SQL Server中identity(自增)的用法详解

    这篇文章主要介绍了SQL Server中identity(自增)的用法详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-10-10
  • 一个简单的SQL 行列转换语句

    一个简单的SQL 行列转换语句

    在数据库开发中经常会遇到行列转换的问题,比如下面的问题,部门,员工和员工类型三张表,我们要统计类似这样的列表
    2009-08-08
  • Sql Server 分组统计并合计总数及WITH ROLLUP应用

    Sql Server 分组统计并合计总数及WITH ROLLUP应用

    WITH ROLLUP 在生成包含小计和合计的报表时,ROLLUP 运算符很有用,ROLLUP 运算符生成的结果集类似于 CUBE 运算符所生成的结果集,接下来介绍Sql Server 分组统计并合计总数实现代码,感兴趣的朋友可以了解下哦
    2013-01-01
  • SQL Server中JSON函数的用法详解

    SQL Server中JSON函数的用法详解

    本文详细讲解了SQL Server中JSON函数的用法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05
  • sqlserver数据库获取数据库信息

    sqlserver数据库获取数据库信息

    这篇文章主要介绍了sqlserver数据库获取数据库文件信息,大家参考使用吧
    2014-01-01
  • SQL分组排序去重复的小实例

    SQL分组排序去重复的小实例

    这篇文章介绍了SQL分组排序去重复的实例代码,有需要的朋友可以参考一下
    2013-07-07
  • Sql Server触发器的使用

    Sql Server触发器的使用

    触发器是一种特殊的存储过程,不能被显式调用,只能在对表进行insert、update、delete操作时被自动激活。所以触发器可以用来实现对表进行复杂的完整性约束
    2012-12-12
  • sql获取分组排序后数据的脚本

    sql获取分组排序后数据的脚本

    这篇文章主要介绍了sql获取分组排序后数据的脚本,大家参考使用吧
    2014-01-01

最新评论