这是一个很常见的需求,网上也有相关的解决方法,主要是通过映射网络盘和执行cmdshell命令来实现!今天所说的实现方法稍有不同,思路来源于最近在深入研究的SQL Server服务帐号模式和安全机制,相关文章见Blog!本文对SQL Server 2000环境中具体实现方法做相关阐述,对于SQL Server 2005,实现办法相同!
一:基本思路

  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日志,并检查权限设置以及用户名和密码是否完全一致。