SQL Server无域控的数据库镜像脚本配置实例分析
2013-12-07董红波
☆董红波
(吉林省教育学院网络信息中心,吉林长春 130022)
一、SQL Server的数据库镜像
数据库镜像是一种针对数据库高可用性的基于软件的解决方案。其维护着一个数据库的两个相同的副本,这两个副本分别放置在不同的SQL Server数据库实例中。同一时刻,其中一台上的数据库用于客户端访问,充当主体服务器;而另一台则根据镜像会话的配置和状态,充当热备份服务器,即“镜像服务器角色”,这两种角色不是绝对的。数据库镜像环境中,主体服务器和镜像服务器是相互通信和协作,并双方互补。数据库镜像会尽快将主体数据库中执行的每一项操作在镜像数据库中重新执行。这一过程是通过将活动事务日志记录以流形式发送到镜像服务器来完成,可以尽快将日志记录按顺序应用到镜像数据库中。而且数据库镜像是在物理日志记录级别执行这一“重做”操作的。其过程如图1所示。
图1 数据库镜像配置流程图
二、无域控的数据库镜像角本配置实例操作
没有域环境、或者不在一个可信的域中sql serv⁃er2008 R2数据库镜像的创建,必须用证书创建才能成功,应该使用脚本进行配置,配置如下。
部署环境:
数据库主体172.100.101.73需要配置数据库镜像同步的数据库:stand
数据库镜像172.100.101.80镜像数据库:stand
需要注意的是,数据库必须采用完整恢复模式。创建镜像步骤:
(1)在172.100.101.73服务器上执行下列脚本,创建主体出站证书并备份该证书。
(2)在172.100.101.80服务器上执行下列脚本,创建镜像服务器172.100.101.80证书并进行备份。
(3)将两个在各自硬盘上生成证书互相拷贝到对方服务器上。
(4)配置主体入站登录名、用户、证书添加等操作。
有四种类型的登录名:SQL Server登录名、Win⁃dows登录名、证书映射登录名和非对称密钥映射登录名。
(5)配置镜像入站登录名、用户、证书添加等操作。
(6)备份主数据库。需要注意的是,需要备份两次:一次是数据库备份,备份类型选择完整;一次是数据库日志备份,备份类型选择事务日志。
也可以采用下列命令行形式来创建备份。
(7)将备份文件和备份日志文件拷贝到镜像服务器,并进行还原。如果采用可视化还原,则需要还原两次,一次还原数据备份,一次还原日志备份,恢复状态选择第2项,restore with NlRecovery。
也可以采用命令行还原,执行如下脚本:
(8)配置镜像。
先在镜像数据库服务器执行脚本:
然后在主数据库服务器执行脚本:
(9)镜像建立完毕,主服务器和镜像服务器分别刷新,则看到结果。
(10)数据库镜像取消命令。
(11)其他切换命令。
原来的主服务器恢复,可以继续工作,需要重新设定镜像。
图2 数据库镜像流程图
三、应注意的事项
(1)查看已有镜像。查看之前配置过的成功和失败的镜像,避免创建镜像重复无法创建,或当出现一台服务器作为多个服务器的主体服务器或镜像服务器时致使创建失败甚至影响到已往的数据库镜像。
(2)查看已有证书。查看之前配置过的证书,避免证书授予重复。
(3)删除镜像操作。如已存在镜像或存在失败的镜像,当需要删除该镜像时,则可以通过下列SQL代码实现。
(4)删除证书操作。如已存在证书或存在失败的证书,当需要删除该证书时,则可以通过下列SQL代码实现。
(5)删除登录。如已存在镜像登录名或存在失败的镜像登录名,则可以删除该登录名。
(6)删除用户。创建镜像使用用户重复,则需要删除重建。
(7)删除主key,创建镜像时主key应重新设置。
以上步骤必须按顺序实施,否则,系统报错,主体与镜像都要遵此操作,并改成相应值。
[1]Kalen Delaney.Micros of tSQL Server2008Internals[M].Microsoft Press,U.S,2008.
[2]Lynn Beighley.Head First SQL:Your Brain on SQL——A Learner's Guide[M].O'Reilly Media,U.S,2007.
[3]Paul Nielsen,Uttam Parui.Microsoft SQL Server 2008 Bible[M].Wiley,U.S,2009.
[4]Tom Carpenter.SQL Server 2008 Administration[M].John Wiley,U.S,2010.
[5]Mike Chapple.Microsoft SQL Server 2008 For Dummies[M].John Wiley,U.S,2008.
[6]Rod Colledge.SQL Server 2008 Administration in Action[M].Manning Publications,U.S,2009.
[7]Tyler Graham,Suzanne Selhorn.Microsoft SQL Server 2008 R2 Master Data Services[M].Mcgraw-Hill,U.S,2011.
[8]Art Tennick.Practical SQL Queries for Microsoft SQL Server 2008 R2[M].McGraw-Hill Osborne Media,U.S,2010.
[9]William R.Stanek.Microsoft SQL Server 2008Administrator's Pocket Consultant 2 nd Edition[M].MICROSOFT PRESS,U.S,2010.
[10]Brian Knight,Erik Veerman,Grant Dickinson.Professional Microsoft SQL Server 2008 Integration Services[M].Wrox,U.S,2008.