最近在部署一个系统,处于数据安全的考虑,因此对相应的数据库服务器定时备份,以及数据同步到备份服务上。之前在另外的一个项目中也做过相应的操作,但是操作都是按照查找到的文章一步一步的操作,碰到一些细节问题没有记录下来,因而在这次部署过程中在碰到同样问题的时候自乱脚步,耽误了很多时间
避免下次需要处理相同情况下能够调高自己效率,特记录这一些操作过程
主要备份处理有:
1.Sql Server 代理->作业
通过脚本的方式,通过调用sql自带的备份服务备份数据库文件到本地
2.复制->本地订阅 本地发布
出于考虑到到系统出现奔溃数据丢失的情况,将数据库同步到备份服务器
Sql Server 代理 作业
第一步
打开Sql Server,连接到到对象服务器,为了避免接下来的操作出现其他的一些操作权限问题,这里在进行连接到服务器的时候,服务器名称选择计算器名称,身份验证选择windows身份验证
第二步
打开Sql Server 代理,如果安装Sql Server的时候没有启动代理服务的话,这时候需要启动Sql Server代理服务,选择新建作业,填写作业名称
第三步
新建作业步骤,如果需要有多个步骤操作可以新建多个。添加命令,这里使用了rar压缩,所以需要添加压缩文件到对应目录,如果没有则会在执行作业的时候执行失败。
use [Topevery];
declare @filename varchar(10)
set @filename = CONVERT(varchar(8),GETDATE(),112 )
declare @path varchar(200) set @path='C:\bakdb\'+@filename+'.bak'
backup database [Topevery] to disk=@path with noinit
declare @cabpath varchar(200) set @cabpath='C:\bakdb\'+substring(@filename,1,10)+'.rar'
print @cabpath
declare @cmdRar varchar(200) set @cmdRar = 'C:\rar.exe a -ag '+@cabpath+' '+@path
exec xp_cmdshell @cmdRar,no_output
declare @cmdDel varchar(200) set @cmdDel = 'del '+@path
exec xp_cmdshell @cmdDel,no_output
如果没有启动xp_cmdshell ,则需要执行以下脚本
sp_configure 'show advanced options',1
reconfigure
go
sp_configure 'xp_cmdshell',1
reconfigure
go
第四步
新建作业计划,主要设置作业的工作周期,可以设置详细的操作参数,还有其他的一些设置,比如警报,通知,目标由于没有这次没有应用到就没有记录了。
第五步
测试结果,选择对应的新建作业选择作业开始步骤,如果成功就会在相应的文件目录下生成对应的备份文件,失败则需要在错误日志查看失败原因。
5.1这里在操作的时候由于脚本填写错误在去修改步骤的时候出现了以下错误,在网络上查找了文档,主要Com组件的问题。这里拷贝一份解决方案放到文中
32位操作系统:
打开运行(命令提示符),
一、输入 cd c:\windows\system32 进入到c:\windows\system32路径中
二、输入 regsvr32 "C:\Program Files\Microsoft SQL Server\100\DTS\Binn\dts.dll"
64位操作系统:
打开运行(命令提示符),
一、输入 cd c:\windows\syswow64 进入到c:\windows\syswow64路径中
二、输入 regsvr32 "C:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\dts.dll"
如果失败,则以管理员的身份打开运行。
最后重启Sql Server 代理服务