您的位置:首页 > 数据库

关于SQL异地备份的方法

2010-04-25 14:15 253 查看
方案一:SQL自带的数据库备份计划

一:基本思路
1:要实现异地备份,必须使用域用户帐号来启动SQL Server服务以及SQL Server Agent服务,因为本地系统帐户无法访问网络。
2:在异地机器中建立一个与SQL Server服务器中启动SQL Server服务的域用户帐号同名帐号,且密码保持相同。在异地机器中建立一个共享文件夹,并设置合适权限。
注意:新建帐号针对的是工作组模式,如果是基于域模式,那就无须再建帐号
  3:在SQL Server服务器中建立异地备份的维护计划,在“完全备份”和“事务日志备份”中,使用输入异地共享文件夹的UNC路径。
4:配置好维护计划中其它设置。

  上面表述可能不太直观,下面以实际实验来演示如何做异地备份。实验网络模型很简单,如下图:  



二:异地备份的演示
1:在SQL Server服务器中以域用户帐户启动SQL Server服务以及SQL Server Agent服务。
本实验中直接使用administrator帐户,可以根据实际环境切换其它域用户帐户。



2:在文件备份服务器中建立一个共享文件夹,共享权限中删除everyone用户,加入administrator用户,权限设置如下图。



3:在SQL Server服务器中,打开企业管理器,新建数据库维护计划:



  4:在维护计划向导中,选择计划备份的数据库,设置好数据库优化信息和检查完整性等步骤。
5:在向导的“指定数据库备份计划”设置好调度计划。
6:在“指定备份磁盘目录”界面,手动输入文件备份服务器共享文件夹UNC路径。



7:在“事务日志备份计划”界面,根据实际环境决定如何备份。
8:按向导设置好其它步骤,完成异地备份维护计划。

三:测试异地备份是否成功。
1:检查共享文件夹中备份文件是否存在。



2:如果没有备份成功,请查看SQL Server日志,并检查权限设置以及用户名和密码是否完全一致,或者重新启动两台电脑!

方案二:采用文件同步软件、FTP等同步源服务器的数据库备份文件至备份机

方案三:采用SQL定时作业

举例:
--建立与YNiang的连接,其中garfield是登录YNiang的密码
Exec master..xp_cmdshell 'net use //YNiang/Backup garfield /User:yy_domain/Administrator'

--备份数据库miao,YNiang的共享目录backup要完全共享控制
Backup Database [miao] to Disk = '//YNiang/Backup/miao.bak'

--断开YNiang的连接

Exec master..xp_cmdshell 'net use //YNiang/Backup /delete'

方案三:

1:在目标机器上建共享文件夹:remotebak,并使某用户(如管理员)有写权限,示例administrator,123456。

2:在源机器用命令方式建驱动器映射:

xp_cmdshell 'net use z: //目标机器IP/remotebak "123456" /user:目标机器IP/administrator'

3:每天自动备份(把以下代码放在JOB里,设定每天定时执行)

declare @shotname varchar(50),@newtime varchar(50),@sql varchar(8000set @newtime=convert(varchar(50),getdate(),120)
set @oldtime = convert(varchar(50),dateadd(dd,-10,getdate()),120)

select @shotname='sharewin'+left(@newtime,4)+substring(@newtime,6,2)+substring(@newtime,9,2)
set @sql = 'backup database sharewin to disk = '+'''z:/'+@shotname +'.bak'''

exec(@sql)
4:备份完成后删除映射:

xp_cmdshell 'net use z: /delete'
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: