文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>SQL数据库异地全自动备份

SQL数据库异地全自动备份

时间:2010-10-08  来源:tanda81

其实数据库备份的重要性不说大家都知道,可能很多人说,我只要做个本地备份就行了,不过,我个人认为:本地备份比不做备份强一点,但和不做也差不多,为什么这样说呢,因为谁敢保证你的硬盘不会出问题呢,尤其是一些小企业或者是没有做RAID的。 一、目的:防止本地数据库崩溃及硬盘坏掉。 二、远程备份盘格式为NTFS,因为FAT32格式不能保存大于4G的文件,假如你的备份大于这个数的话,改为NTFS吧。 三、要开启SQL Agent服务,并且是自动的,这个不开启,根本就谈不上什么备份。 四、开始吧 1、SQL代理-作业-新建作业,这是在SQL2005下的操作,其实SQL2000也是大同小异(管理→SQL Server代理→右键作业→新建作业) 2、常规中输入名称 3、3"步骤"项→新建,输入名称,选中数据,输入以下语句 语句如下:
declare @sql varchar(4000)
declare @backupfile varchar(2000)
declare @now datetime
declare @retaindays int
declare @deletefiles varchar(2000)
declare @cmd varchar(2000)
declare @i int
 
 
declare @User varchar(2000)
declare @Pwd varchar(2000)
declare @Store varchar(2000)
declare @IPPart varchar(2000)
declare @IP varchar(2000)
 
 
-------------以下自行修改-----------
set @Store='xlu'  --------数据库名-----------
set @User ='spc' ----------用户名----------要管理员权限
set @Pwd ='aaaabbb'      ----------密码----------密码不要有符号
set @IPPart='d$\back'   -----路径-----
set @IP='192.168.1.50'  -----服务器IP或主机名--
set @retaindays=3  ---要保留备份的天数
------------以上自行修改------------
 
 
---建立映射
--exec master..xp_cmdshell 'net use x: /delete'
set @cmd='net use x: \\'+ @IP +'\'+ @IPPart +  ' '+ @Pwd +' /user:'+ @IP +'\'+ @User
 
exec master..xp_cmdshell @cmd
 
set @now=getdate()
---删除以前的备份
set @i=0
while (@i < 30)
begin
    set @deletefiles = 'x:\*' +convert(varchar(8),dateadd(dd,-@retaindays-@i,@now),112)+'*.*'
    set @cmd='del ' + @deletefiles
    exec  master..xp_cmdshell @cmd
    set @i = @i +1
end
 
----开始备份
set @backupfile='x:\data'+ @Store + '_db_'+
    replace(replace(replace(convert(varchar,getdate(),20),'-',''),' ',''),':','')+'.BAK'
set @sql='backup database data' + @Store + ' to disk='''+@backupfile+''' with retaindays='+convert(varchar(10),@retaindays)
exec (@sql)
 
set @backupfile='x:\data'+ @Store +'_tlog_'+
    replace(replace(replace(convert(varchar,getdate(),20),'-',''),' ',''),':','')+'.TRN'
set @sql='backup LOG data' + @Store + ' TO DISK='''+@backupfile+''' with retaindays='+convert(varchar(10),@retaindays)
exec (@sql)
 
---删除映射
exec master..xp_cmdshell 'net use x: /delete' 最后别忘记点下确定 4、做个计划,让他在指定时间内给你备份 5、怎么知道他有没有备份成功,备份完让他发个邮件给你,做个通知,即SQL邮件,SQL邮件要先配置好,这个就不说了。 6、如查备份成功,如图下所示:   五、以上语句在SQL2000/2005均调试通过,如有问题请指正。     本文出自 “
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载