合作伙伴社区股票代码:838758石基信息成员企业
首页>案例中心>如何定期的备份压缩数据库
2021-11-10 17:29  |  
391

对于一个软件系统维护人员而言,定期压缩备份数据库,是我们的日常工作之一,但随着客户长久的营业,数据库也会日益增大,如何定期并快速/有效的压缩备份数据库,我们也需要掌握一定方法(以SQL2008为例):

一、如何快速有效的压缩备份数据库?

在备份数据库时,我们2种方式来备份:手动备份数据库,自动备份数据库。

在客户长久营业后,数据库是日益增大的,手动备份数据库既费时也费力,此时我们可以通过“压缩备份数据库”的方式来操作。

压缩备份数据库:是通过 with compression 启用备份压缩,指定对此备份执行备份压缩,覆盖服务器级默认设置。此方式适用于 SQL Server 2008和更高版本试用。



语句如下:

backup database  DbName  to disk = 'D:\DbName.bak' --全备

with compression; --压缩备份

go

----- DbName 为需要备份的数据库名称,请手动修改

例:客户原数据11G,如果手工备份大概需要10左右分钟,备份后数据库大小也在11G左右

image.png

image.png


我们通过语句压缩备份数据库,压缩备份时间在3分钟左右,备份后的数据库大小为2.03G


image.png

image.png


通过以上语句,我们可以减少数据库压缩时间,也可以降低数据库占用磁盘空间,大家在给客户备份数据库时可参考。


二、如何创建任务计划?

(1)在系统 开始 - 所有程序 中找到SQL2008的目录,找到 配置工具-SQL Server配置管理器,并运行;

image.png


(2)在‘SQL Server 服务’中找到“SQL Server 代理”,双击后启动服务;


image.png


注意:SQL代理服务默认是不开机启动的,需要在系统服务中设置为开机启动

开始 - 运行 - 输入 services.msc ,进入系统服务


image.png


系统服务中找到代理服务,并设置启动类型为‘自动’或‘自动(延迟启动)’


image.png


(3)运行并登录查询分析,在 SQL Server代理-作业 中‘新建作业’,设置后保存;


image.png

image.png


(4)在属性‘步骤’中选择类型为“Transact-SQL 脚本(T-SQL)”,并添加数据库备份脚本语句,设置后保存;

执行备份计划的语句如下:


--定义变量,把备份数据库的SQL脚本赋值给变量

declare @SqlBackupDataBase as nvarchar(1000)

set @SqlBackupDataBase=N'BACKUP DATABASE issbakev10_zss TO DISK = ''G:\issbakev10_'+

CONVERT(varchar(11),GETDATE(),112)+REPLACE(CONVERT(varchar(12),GETDATE(),108),':','')+'.bak'''

+'with STATS = 1,compression'

--备份文件格式:issbakev10_202009181815.bak

exec sp_executesql @SqlBackupDataBase --调用系统存储过程,执行SQL脚本


image.png


(5)在属性‘计划’中新建计划,并设置计划执行的日期、时间及频次等,设置后保存;


image.png


(6)作业计划建立成功后,可手动执行作业计划来验证计划是否可正常运行


image.png

image.png

image.png

image.png


分享:

市场活动
其他新闻
产品案例


快速询价

在线咨询

在线留言