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

这篇文章主要介绍了针对20g数据库的迁移问题,,需要的朋友可以参考下

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

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

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

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

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

在SSMS中,新建查询窗口,执行数据库备份语句:

?

1

2

3

4

5

6

–定义变量,把备份数据库的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”,

完整压缩备份数据库语句如下:

?

1

2

3

4

5

6

7

–定义变量,把备份数据库的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)

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

原文链接:https://www.cnblogs.com/527289276qq/p/6273291.html

版权声明:本文(即:原文链接:https://www.qin1qin.com/catagory/24878/)内容由互联网用户自发投稿贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 630367839@qq.com 举报,一经查实,本站将立刻删除。

(0)
上一篇 2022年9月22日 下午1:03
下一篇 2022年9月23日 下午12:18
软件定制开发公司

相关阅读

发表回复

登录后才能评论
通知:禁止投稿所有关于虚拟货币,币圈类相关文章,发现立即永久封锁账户ID!