异地备份
这是一个很常见的需求,网上也有相关的解决方法,主要是通过映射网络盘和执行cmdshell命令来实现!
今天所说的实现方法稍有不同,思路来源于最近在深入研究的SQL Server服务帐号模式和安全机制,相关文章见Blog!
具体实现方法如下:
一:基本思路
1:要实现异地备份,必须使用域用户帐号来启动SQL Server服务以及SQL Server Agent服务,因为本地系统帐户无法访问网络。
2:在异地机器中建立一个与SQL Server服务器中启动SQL Server服务的域用户帐号同名帐号,且密码保持相同。
在异地机器中建立一个共享文件夹,并设置合适权限。
注意:新建帐号针对的是工作组模式,如果是基于域模式,那就无须再建帐号
3:在SQL Server服务器中建立异地备份的维护计划,在“完全备份”和“事务日志备份”中,使用输入异地共享文件夹的UPN路径。
4:配置好维护计划中其它设置。
上面表述可能不太直观,下面以实际实验来演示如何做异地备份。实验网络模型很简单,
二:异地备份的演示
1:在SQL Server服务器中以域用户帐户启动SQL Server服务以及SQL Server Agent服务。
本实验中直接使用administrator帐户,可以根据实际环境切换其它域用户帐户。
域用户帐户.png (31.76 KB) 域用户帐户.png (31.76 KB)
域帐户
2008-11-18 09:13
2:在文件备份服务器中建立一个共享文件夹,共享权限中删除everyone用户,加入administrator用户,权限设置如下图。
共享权限.png (16.96 KB) 共享权限.png (16.96 KB)
共享权限
2008-11-18 09:13
3:在SQL Server服务器中,打开企业管理器,新建数据库维护计划:
数据库维护计划.png (42.19 KB) 数据库维护计划.png (42.19 KB)
维护计划
2008-11-18 09:13
4:在维护计划向导中,选择计划备份的数据库,设置好数据库优化信息和检查完整性等步骤。
5:在向导的“指定数据库备份计划”设置好调度计划。
6:在“指定备份磁盘目录”界面,手动输入文件备份服务器共享文件夹UPN路径
UNC路径.png (31.26 KB) UNC路径.png (31.26 KB)
UNC
2008-11-18 09:13
7:在“事务日志备份计划”界面,根据实际环境决定如何备份。
8:按向导设置好其它步骤,完成异地备份维护计划。
三:测试异地备份是否成功。
1:检查共享文件夹中备份文件是否存在。
备份文件.png (13.17 KB) 备份文件.png (13.17 KB)
备份文件
2008-11-18 09:13
2:如果没有备份成功,请查看SQL Server日志,并检查权限设置以及用户名以及密码是否完全一致。
自动备份
在SQL Server 2005数据库中实现自动备份的具体步骤:
1、打开SQL Server Management Studio
2、启动SQL Server代理
3、点击作业->新建作业
4、\"常规\"中输入作业的名称
5、新建步骤,类型选T-SQL,在下面的命令中输入下面语句
DECLARE @strPath NVARCHAR(200)
set @strPath = convert(NVARCHAR(19),getdate(),120)
set @strPath = REPLACE(@strPath, ':' , '.')
set @strPath = 'D:\\bak\\' + 'databasename'+@strPath + '.bak'
BACKUP DATABASE [databasename] TO DISK = @strPath WITH NOINIT , NOUNLOAD , NOSKIP , STATS = 10, NOFORMAT
(D:\\bak\\改为自己的备份路径,databasename修改为想备份的数据库的名称)
6、添加计划,设置频率,时间等。
确定,完成。
因篇幅问题不能全部显示,请点此查看更多更全内容