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大小:

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

相关文章

  • 提升SQL Server速度 整理索引碎片

    提升SQL Server速度 整理索引碎片

    数据库表A有十万条记录,查询速度本来还可以,但导入一千条数据后,问题出现了。当选择的数据在原十万条记录之间时,速度还是挺快的;但当选择的数据在这一千条数据之间时,速度变得奇慢
    2009-07-07
  • Android实现矩形区域截屏的方法

    Android实现矩形区域截屏的方法

    对屏幕进行截屏并裁剪有两种方式:早截图和晚截图,对于早截图和晚截图的概念大家通过本文详解学习。本文重点给大家介绍android实现矩形区域截屏的方法,需要的朋友参考下
    2017-01-01
  • sql server Bulk Insert命令详细

    sql server Bulk Insert命令详细

    这篇文章主要介绍了sql server Bulk Insert命令详细 ,需要的朋友可以参考下
    2015-08-08
  • Sql Server 压缩数据库日志文件的方法

    Sql Server 压缩数据库日志文件的方法

    Sql Server 日志 _log.ldf文件太大,数据库文件有500g,日志文件也达到了500g,占用磁盘空间过大,且可能影响程序性能,需要压缩日志文件,下面小编给大家讲解下Sql Server 压缩数据库日志文件的方法,感兴趣的朋友一起看看吧
    2022-11-11
  • sql with as用法详解

    sql with as用法详解

    这篇文章详细介绍了SQL中with as的用法,有需要的朋友可以参考一下
    2013-10-10
  • SQL Server 数据库基础编程详解

    SQL Server 数据库基础编程详解

    这篇文章主要为大家介绍了SQL Server 数据库基础编程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-01-01
  • SQLSERVER服务手工启动 批处理文件

    SQLSERVER服务手工启动 批处理文件

    装完SQLSERVER2005 因为开机很慢 所以呢就把开机服务搞成手动的了,这样开机快了很多可是问题也来了每次要用SqlServer的时候要一个一个服务去开起来
    2011-03-03
  • 丢失的数据忘记备份的处理方法[图文]

    丢失的数据忘记备份的处理方法[图文]

    突然间数据库无缘无故损坏了,差异备份或事务日志备份在3点才会自动去做,那么如何将2点到2点40之间的数据恢复呢?这就需要通过备份尾部日志进行恢复了。
    2009-06-06
  • SQL Server误区30日谈 第6天 有关NULL位图的三个误区

    SQL Server误区30日谈 第6天 有关NULL位图的三个误区

    NULL位图是为了确定行中的哪一列是NULL值,哪一列不是。这样做的目的是当Select语句后包含存在NULL值的列时,避免了存储引擎去读所有的行来查看是否是NULL,从而提升了性能
    2013-01-01
  • SQL Server数据库bcp导出备份文件应用示例

    SQL Server数据库bcp导出备份文件应用示例

    本节主要介绍了SQL Server数据库bcp导出备份文件应用,需要的朋友可以参考下
    2014-08-08

最新评论