Sql Server 备份问题,第1张

作为程序员或者数据库维护人员,可能大家经常 要做的事情就是备份数据库,并且为了安全起见最好是异地备份,但是如果要经常备份,然后把他们传到本地,是一件非常费时费力的事情,尤其像我这种比较懒的程序员,甚至有时候会忘记备份',所以比较好的解决办法就是让SQL Server自动备份,同时自动下载。同时由于SQL Server自动备份的bak文件通常都比较大,如果直接传到本地,要花比较久的时间,因此为了提高效率最好在备份后先压缩,并且为了安全起见,下载下来的文件还要加密。那么有没有可能让SQL自动备份,加密压缩,自动下载的所有流程都自动完成呢,答案是肯定的。下面我就将我使用到的工具、方法和代码共享出来,供大家参考。

第一个步骤就是让SQL Server自动备份数据库,这方面的文章比较多,最常用的是使用SQL Server的代理,定时执行一个“作业”。基本步骤就是先编写一个执行备份的存储过程,然后在SQL Server的企业管理器中,选择“管理——>SQL Server代理——>新建作业”,然后在新建作业步骤中类型选择Transact-SQL,再在命令中输入执行备份的存储过程(或者开始不建立存储过程,在这里直接输入备份的SQL代码也可)就可以了。

第二个步骤就是加密并压缩备份的数据库文件。我自己试了一下,一个200M的SQL 备份文件,用WinRAR压缩之后的大小是18M左右,所以为了快速传到本地,压缩是非常有必要的。为了在备份后,马上进行压缩,最方便的就是直接使用SQL命令执行压缩,由于WinRAR可以通过命令行调用,所以我们可以使用SQL Server中的xp_cmdshell命令来执行压缩指令,同时通过其中的一些参数指定压缩密码,这样加密压缩就实现了。(为了实现此功能,服务器上要安装WinRAR)

最后还需要定时自动下载。要实现这个功能可以使用windows的任务计划,再结合系统自带的ftp命令即可实现。

下面给出实现此功能的完整步骤和代码:

服务器端:

1、 在要备份的数据库中建立存储过程:

CREATE PROCEDURE [do_backup] AS

declare

@prefix nvarchar(100),

@datefile nvarchar(100),

@bakfile nvarchar(100),

@rarfile nvarchar(100),

@delcmd nvarchar(100),

@rarcmd nvarchar(150)

set @prefix='E:\Bak\databasename\' --备份文件夹

set @datefile='fzjs'+cast(Year(GetDate()) as varchar(4))+cast(Month(GetDate()) as varchar(2))+cast(Day(GetDate()) as varchar(2))

set @bakfile=@prefix+@datefile+'bak'

set @rarfile=@prefix+'RAR\'+@datefile+'rar'

BACKUP DataBASE databasename2 TO DISK = @bakfile WITH INIT , NOUNLOAD , NAME = N'databasename数据备份', NOSKIP , STATS = 10, NOFORMAT

set @delcmd = 'del '+@prefix+ 'RAR\rar' --先清空RAR备份文件夹

set @rarcmd ='C:\Progra~1\WinRAR\WinRARexe a -pyourpw '+@rarfile+' '+@bakfile --将yourpw改为您要设置的密码,进行加密压缩

exec masterxp_cmdshell @delcmd

exec masterxp_cmdshell @rarcmd

GO

2、 数据库管理器——管理——>作业——>新建作业——设置作业的执行程序和运行时间,根据自己的备份需要进行设置,然后启用作业。

3、 在服务器的FTP中将数据压缩备份的目录设置好。

4、 在本地建立一个ftp命令的文本文件:c:\ftptxt

文件中输入以下内容(替换成您自己的内容并去掉[]):

open [您的服务器IP地址]

[数据库备份压缩目录FTP登录用户名]

[数据库备份压缩目录FTP登录密码]

verbose off

lcd [本地保存路径]

prompt off

mget rar

bye

5、 然后建立一个autoftpbat的批处理文件,执行ftp命令。

ftp -s:c:\ftptxt

6、 在控件面板的任务计划管理中,添加批处理文件的定时自动运行时间,并注意要与服务器数据库备份时间相衔接。

这样,调试成功以后,整个过程就大功告成了,以后就不用去经常去做这些繁琐的事情啦!

如果大家在使用的过程中,有什么问题,或者更好的一些方法,欢迎与本人交流。

可以,但是等保三级也只是降低了风险,而不是完全避免风险。所以要不要做异地备份看自己咯。等保的全称是信息安全等级保护。一般做等保的企业都是为了降低信息安全风险,提高信息系统的安全防护能力,或者是满足国家相关法律法规和制度的要求,合理的规避和降低风险。在我国,信息安全等级保护共分为5级,其中要获得等保三级认证并不容易。、等保三级的技术要求包括物理、网络、主机、应用、数据5个方面。

1物理安全:

机房应区域划分至少分为主机房和监控区两个部分;

机房应配备电子门禁系统、防盗报警系统、监控系统;

机房不应该有窗户,应配备专用的气体灭火、备用发电机;

2网络安全:

应绘制与当前运行情况相符合的拓扑图;

交换机、防火墙等设备配置应符合要求,例如应进行Vlan划分并各Vlan逻辑隔离,应配置Qos流量控制策略,应配备访问控制策略,重要网络设备和服务器应进行IP/MAC绑定等;

应配备网络审计设备、入侵检测或防御设备;

交换机和防火墙的身份鉴别机制要满足等保要求,例如用户名密码复杂度策略,登录访问失败处理机制、用户角色和权限控制等;

网络链路、核心网络设备和安全设备,需要提供冗余性设计。

3主机安全:

服务器的自身配置应符合要求,例如身份鉴别机制、访问控制机制、安全审计机制、防病毒等,必要时可购买第三方的主机和数据库审计设备;

服务器(应用和数据库服务器)应具有冗余性,例如需要双机热备或集群部署等;

服务器和重要网络设备需要在上线前进行漏洞扫描评估,不应有中高级别以上的漏洞(例如windows系统漏洞、apache等中间件漏洞、数据库软件漏洞、其他系统软件及端口漏洞等);

应配备专用的日志服务器保存主机、数据库的审计日志。

4应用安全:

应用自身的功能应符合等保要求,例如身份鉴别机制、审计日志、通信和存储加密等;

应用处应考虑部署网页防篡改设备;

应用的安全评估(包括应用安全扫描、渗透测试及风险评估),应不存在中高级风险以上的漏洞(例如SQL注入、跨站脚本、网站挂马、网页篡改、敏感信息泄露、弱口令和口令猜测、管理后台漏洞等);

应用系统产生的日志应保存至专用的日志服务器。

5数据安全:

应提供数据的本地备份机制,每天备份至本地,且场外存放;

如系统中存在核心关键数据,应提供异地数据备份功能,通过网络等将数据传输至异地进行备份;

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » Sql Server 备份问题

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情