这是一个很常见的需求,网上也有相关的解决方法,主要是通过映射网络盘和执行cmdshell命令来实现,他们的不好处在于数据重复传递
今天所说的实现方法利用SQL Server服务帐号模式和安全机制来访问网络途径,方法如下:
1:要实现异地备份,必须使用域用户帐号来启动SQL Server服务以及SQL Server Agent服务,因为本地系统帐户无法访问网络。在计算机管理服务里找到这两个服务,将登录账号改为域用户,注意密码也要录入,如果以后这个域用户的密码更改了,记得这里也要改,否则这两项服务无法启动。
2:在异地机器中建立一个共享文件夹,并设置合适权限。
3:在SQL Server服务器中建立异地备份的维护计划,在“完全备份”和“事务日志备份”中,使用输入异地共享文件夹的UPN路径。
4:配置好维护计划中其它设置。
如果还不保险,需要在异地网络(非局域网)备份,如中国备份到美国,由于数据库文件较大,可压缩空间很大。那就要对数据压缩利用FTP传送,方法如下:
一、利用任务计划+RAR实现自动压缩
对要备份的文件或文件夹右击,选择"添加到压缩文件…"
1、备份,勾选“按掩码产生压缩文件名”,可改为“yyyymmdd”
2、高级,勾选“后台压缩”
3、常规,浏览,并选择要保存的地点
4、常规,配置,选择“保存当前设置为新配置”,在配置参数中将配置名改为“压缩文件”,勾选“保存选定文件名”,此时在桌面创建快捷方式变亮,同样勾选上。同时将保存压缩文件名和立即执行也勾选上,桌面上即多了一个“压缩文件”的快捷方式。双击它可手动压缩。
打开任务计划,开始--程序--附件--系统工具--任务计划,空白处右击,新建计划任务,改名为“自动压缩”。
右击桌面上“压缩文件”快捷方式,复制目标地址。双击任务计划里的“自动压缩”任务,在运行里粘贴上该地址,应用时会要求输入当前用户的密码;日程安排自行设定
二、利用FTP自动传送到目的地
下面要进行FTP上传,假定我们要上传的文件在d:/ftptmp文件夹下,服务器是ftp://10.0.0.2,帐号cd,密码123,服务器中的指定文件夹是xd,具体分三个文件步骤操作。分别写以下几个文件:
1)建ftprun1.bat内容如下:
FTP -i -s:ftpput.txt
2)建ftpput.txt内容如下:
open 10.0.0.2
cd
123
cd xd
mput d:/ftptmp/*.rar
bye
3)建ftprun2.bat内容如下
del d:/ftptmp/*.rar
以上三步的操作思路是,第1和2联合动作,实现将文件上传到服务器的指定文件夹中,第3是实现将本地的该文件删除。
4、任务计划的时间安排上就分别是:1、拷贝文件;2、压缩文件;3、上传文件;4、删除文件 。
任务计划中按以上步骤灵活安排好相关时间运行即可,开始有点麻烦,以后就省心省事了。
第二种方法:
这是一个很常见的需求,网上也有相关的解决方法,主要是通过映射网络盘和执行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日志,并检查权限设置以及用户名和密码是否完全一致。
本文出自 “我儿子真帅!” 博客
第三种方法:
其实有种方法就是先本地备份,然后通过rsync或一些ftp同步工具同步也可以。