最近公司刚刚搭建了一台安防综合平台,综合平台服务器上安装了sql Server 2005,由于没有备份服务器,所以只能异地备份数据库了。在网上找了很多的资料,自己整合了一下 。
一、开启sqlAgent服务,并设置为“自动”@H_404_3@
二、备份
1、sql代理-作业-新建作业,这是在sql2005下的操作,其实sql2000也是大同小异(管理→sqlServer代理→右键作业→新建作业)
2、在常规中输入名字
图2
3、“步骤”项—>新建,输入名称,选中数据,输入以下语句,
图3
语句如下: @H_404_3@
--在sql Server2005中cmdshell命令默认是关闭的,首先要开启cmdshell命令: @H_404_3@
--显示高级选项(仅需执行一次)@H_404_3@ EXEC sp_configure 'show advanced options',1 @H_404_3@ GO @H_404_3@ RECONFIGURE @H_404_3@ GO@H_404_3@ --允许执行xp_cmdshell @H_404_3@ EXEC sp_configure 'xp_cmdshell',1 @H_404_3@ GO @H_404_3@ RECONFIGURE @H_404_3@ GO
declare @sql varchar(4000) @H_404_3@ declare @backupfile varchar(2000)@H_404_3@ declare @now datetime@H_404_3@ declare @retaindays int@H_404_3@ declare @deletefiles varchar(2000)@H_404_3@ declare @cmd varchar(2000)@H_404_3@ declare @i int@H_404_3@ declare @User varchar(2000)@H_404_3@ declare @Pwd varchar(2000)@H_404_3@ declare @Store varchar(2000)@H_404_3@ declare @IPPart varchar(2000)@H_404_3@ declare @IP varchar(2000)@H_404_3@ -------------以下自行修改-----------@H_404_3@ set @Store='EmployeeInfo' --------数据库名-----------@H_404_3@ set @User ='liuhs' ----------用户名----------要管理员权限@H_404_3@ set @Pwd ='winter' ----------密码----------密码不要有符号@H_404_3@ set @IPPart='d$\back' -----路径-----@H_404_3@ set @IP='192.168.3.42' -----服务器IP或主机名--@H_404_3@ set @retaindays=1 ---要保留备份的天数@H_404_3@ ------------以上自行修改------------@H_404_3@ --添加映射驱动器 @H_404_3@ declare @string nvarchar(200) @H_404_3@ set @string = 'net use z: \\'+@IP+'\'+@IPPart+' "winter" /user:hp-liuhs\'+@User @H_404_3@ exec master..xp_cmdshell @string set @now=getdate()@H_404_3@ ---删除以前的备份,这个还没有实现好,有时间再修改了@H_404_3@ set @i=0@H_404_3@ while (@i < 30)@H_404_3@ begin@H_404_3@ set @deletefiles = 'z:\data'+@Store+ '_db_' +convert(varchar(8),dateadd(dd,-@retaindays- @i,@now),112)++'.BAK'@H_404_3@ set @cmd='del ' + @deletefiles@H_404_3@ exec master..xp_cmdshell @cmd@H_404_3@ set @i = @i +1@H_404_3@end----开始备份@H_404_3@set @backupfile='z:\data'+ @Store + '_db_'+ replace(replace(replace(convert(varchar,getdate(),20),'-',''),' ',':','')+'.BAK'@H_404_3@set @sql='backup database ' + @Store + ' to disk='''+@backupfile+''' with retaindays='+convert(varchar(10),@retaindays)@H_404_3@exec (@sql)set @backupfile='z:\data'+ @Store +'_tlog_'+replace(replace(replace(convert(varchar,'')+'.TRN'@H_404_3@set @sql='backup LOG ' + @Store + ' TO DISK='''+@backupfile+''' with retaindays='+convert(varchar(10),@retaindays)@H_404_3@exec (@sql)---删除映射@H_404_3@exec master..xp_cmdshell 'net use z: /delete'
4、新建作业计划,在指定时间内备份
@H_404_15@5、最后查询备份服务器是否备份成功
如果出现了“系统错误 5, 拒绝访问”:
首先要确定对备份服务器要有足够的权限,最好是“Administrators”组账户。@H_404_3@
其次 到备份服务器上,打开组策略->计算机配置->Windows设置->安全设置->本地策略->安全选项->网络访问:本地账户的共享和安全模式->经典-本地用户以自己的身份验证。