sql server 压缩备份数据库
转自 https://www.cnblogs.com/527289276qq/p/6273291.html
今天需要把一个省外项目的数据库从服务器上备份、拷贝到本机(跨地域传输数据库备份文件)。
连上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 2008备份数据库失败,拒绝访问的原因
原文:SQL Server 2008备份数据库失败,拒绝访问的原因 备份数据到特定目录是出现拒绝访问,然后测试备份到C盘根目录正常. 查了下原因: 是因为那个目录没有Authenticated Use ...
- Sql Server自动备份数据库,定期删除备份
//实现:每天自动备份数据库,定期删除备份 //步骤:[开始]--[所有程序]--[Microsoft SQL Server 2005]--[SQL Server Management Studio] ...
- SQL Server 远程备份数据库
在一些涉及到数据库的项目中,经常会有定时备份数据库的需要.定时备份到本机的话,还是挺容易的,计划任务就可以完成,但如果是整机挂了,那备份到本机是没意义的,那么就需要来考虑备份到局域网中,其它电脑里. ...
- SQL Server 2008 备份数据库
1.打开SQL , 找到要备份的数据库 , 右键 >> 任务 >>备份 2.弹出 [ 备份数据库对话框 ] ,如图: 3.点击加入 [ button ] . 例如以下图: 4. ...
- sql server异地备份数据库
--注意:异地备份数据库,需要先开启备份文件夹的网络共享,数据库选择master --打开允许执行xp_cmdshell exec master..xp_cmdshell 'net use \\192 ...
- sql server 批量备份数据库
很多时候,我们都需要将数据库进行备份,当服务器上数据库较多时,不可能一个数据库创建一个定时任务进行备份,这时,就需要进行批量的数据库备份操作,好了,废话不多说,具体实现语句如下: --开启文件夹权限 ...
- sql server 批量备份数据库及删除N天前的备份数据
很多时候,我们都需要将数据库进行备份,当服务器上数据库较多时,不可能一个数据库创建一个定时任务进行备份,这时,就需要进行批量的数据库备份操作,好了,废话不多说,具体实现语句如下: 1 2 3 4 5 ...
- SQL Server批量备份数据库
--批量备份数据库201911 --开启文件夹权限 GO SP_CONFIGURE RECONFIGURE GO SP_CONFIGURE RECONFIGURE GO DECLARE ), ), ) ...
- sql server 定时备份数据库
CREATE PROCEDURE [dbo].[SP_DBBackup_EveryNight_Local] @cycle INT, ---保存周期 @IsLocal INT, ---是否为本地 0表示 ...
随机推荐
- Josephus Problem的详细算法及其Python、Java实现
笔者昨天看电视,偶尔看到一集讲述古罗马人与犹太人的战争--马萨达战争,深为震撼,有兴趣的同学可以移步:http://finance.ifeng.com/a/20170627/15491157_0. ...
- IdentityServer4 中文文档 -9- (快速入门)使用客户端凭证保护API
IdentityServer4 中文文档 -9- (快速入门)使用客户端凭证保护API 原文:http://docs.identityserver.io/en/release/quickstarts/ ...
- [转]来扯点ionic3[7] LocalStorage的使用—以登录和注销为例
本文转自:https://segmentfault.com/a/1190000012146400 一般意义上,一个互联网 APP 中的数据主自与服务器的交互,但是对于有些数据,我们希望获取到它们以后能 ...
- 启动设置mongodb
启动 ①:启动之前,我们要给mongodb指定一个文件夹,这里取名为”db",用来存放mongodb的数据. ②:微软徽标+R,输入cmd,首先找到“mongodb”的路径,然后运行mong ...
- 在visual studio中设置点击左边选项卡中的类文件,右侧解决方案跳到对应的文件
在visual studio中如何设置点击左边选项卡中的类文件,右侧解决方案跳到对应的文件?比如说,VS上方的选项卡文件较多,我点击选项卡上的任一文件,解决方案中对应的文件突出显示 ...
- Java并发编程:什么是CAS?这回总算知道了
无锁的思想 众所周知,Java中对并发控制的最常见方法就是锁,锁能保证同一时刻只能有一个线程访问临界区的资源,从而实现线程安全.然而,锁虽然有效,但采用的是一种悲观的策略.它假设每一次对临界区资源的访 ...
- Rarely executed and almost empty if statement drastically reduces performance in C++
Question: Editor's clarification: When this was originally posted, there were two issues: Test perfo ...
- ssr 之Nuxt.js
ssr:server side rendering(服务端渲染),目的是为了解决单页面应用的 SEO 的问题,对于一般网站影响不大,但是对于论坛类,内容类网站来说是致命的,搜索引擎无法抓取页面相关内容 ...
- AWT初步—Frame和 Panel
初识 AWT GUI 和 AWT GUI:Graphics User Interface 图形用户界面 AWT:Abstract Window Toolkit 抽象窗口工具集 之前的程 ...
- MSCRM中报表开发二:创建基于FetchXML报表
1. 获取FetchXML.因为FetchXML难以撰写,所以我们一般都是使用高级查找来生成FetchXML或者通过其他工具来生成.我这里在商机界面通过高级查找制作了一个新的视图,名称为 商机查询, ...