设为首页 收藏本站
查看: 917|回复: 0

[经验分享] sql server 2012数据库镜像

[复制链接]

尚未签到

发表于 2018-6-19 10:26:11 | 显示全部楼层 |阅读模式
  sql server 2012数据库镜像
  
  以下通过域帐户来配置数据库镜像:
  一、环境准备
  1、准备计算机
  AD02为域控制器/DNS服务器(sz1card1.com),IP:192.168.2.218/24,AD02安装成为域控制器、DNS服务(这里不做演示)
  W67为主体服务器,IP:192.168.2.67/24,安装SQL SERVER 2012 企业核心版(这里不做演示)
  W65为镜像服务器,IP:192.168.2.65/24,安装SQL SERVER 2012 企业核心版(这里不做演示)
  注:测试环境关闭所有防火墙 ,准备镜像用的数据库为test库  
  2、测试直接使用administrator域控管理员用户和密码(*********),建议自行在域控制器创建新的域用户帐户(确保该账户密码永不过期)
  二、部署实验
  1、在W65、W67服务器的SQL数据库上,在“管理工具”中打开“服务”(或者用“SQL Server 配置管理器”),修改SQL Server实例的属性,将登录身份改为设置sz1card1\administrator。修改之后,重启SQL Server实例。
DSC0000.jpg

  2、W65、W67服务器的SQL数据库,右键实例选择“方面”,选择“外围应用配置器”―将属性“RemoteDACEnabled”的值改为“True”
DSC0001.jpg

  3、确认W67服务器test数据库必须是“完整恢复模式”,备份类型选择”完整“,点击”确定“ ;选择备份类型为”事务日志“,点击”确定“完成对事务日志的备份,完整备份和日志备份完后,拷贝至W65服务器准备做还原
DSC0002.jpg

DSC0003.jpg

DSC0004.jpg

  4、W65服务器创建test库(此数据库名称必须与W67中创建的数据库名称保持一致) ,并且修改为“完整恢复模式”,右键新创建的数据库“test”--选择“任务”―“还原”―“数据库”,选择设备-->添加,选择刚才从W67复制的备份文件(含备份数据库和日志),点击”确定” , 在“选项”页面勾选“覆盖现有数据库”,恢复状态选择“RESTORE WITH NORECOVERY”,取消勾选“还原前进行结尾日志备份”,点击“确定”,这时W65上的test数据库处于还原的状态
DSC0005.jpg

DSC0006.jpg

DSC0007.jpg

  5、数据库镜像配置,在主体服务器W67右键“test”选择“任务”―“镜像” ,点击“配置安全性”,跟进向导配置主体服务器配置,默认镜像为同步(镜像模式类型优缺点可参照微软官网文档)
DSC0008.jpg

DSC0009.jpg

DSC00010.jpg

DSC00011.jpg

DSC00012.jpg

DSC00013.jpg

  6、W67镜像配置成功后,启动开始镜像,这时W67服务器上test数据库处于“主体,已同步”,W65服务器上镜像数据库test数据库处于“镜像,已同步\正在还原”
  注:镜像数据库test处于正在还原状态,是不可读写的,作为故障转移切换用,不能分担读或写!
DSC00014.jpg

DSC00015.jpg

  7、可在W67服务器选择test数据库右键--任务--启动镜像监视器,查看同步状态
DSC00016.jpg

  8、测试:主体数据库在test库,users表,增加一条记录,
  INSERT users VALUES(11,'TEST')
DSC00017.jpg

DSC00018.jpg

  注:由于镜像同步方式,并且当前同步状态正常,测试数据不多,数据很快同步至镜像库,但由于镜像库当前不可读写,看不到刚刚添加的数据,只能以下模拟故障切换镜像库为主库,验证数据。
  9、手动切换故障,W67服务器test数据库,右键--任务--镜像--“故障转移”,转移成功后,当前W67服务器test数据库状态为“镜像,已同步\正在还原”,W65服务器test数据库,则为主体数据库,状态为“主体,已同步”
DSC00019.jpg

DSC00020.jpg

DSC00021.jpg

  注:切换成功,并且数据验证正常
  若:出现主体服务器,宕机情况呢!如这时的主体W65出现宕机了,W67镜像库状态为“正在恢复”,同样不可访问。这时只能手工执行命令切换,在镜像库master系统执行以下命令:
--This script does a failover of all the databases in a database mirroring session  
--to the Mirror server. This will be used in cases where the PRINCIPAL server is no longer available
  
--and the mirrored databases have to be brought online.
  
--NOTE: Run this script in the MIRRORED server instance   SET NOCOUNT OFF
  
DECLARE @strSQL NVARCHAR(200) --variable for dynamic SQL statement - variable size should change depending on the
  
DECLARE @strDatabasename NVARCHAR(50) --variable for destination directory
  
DECLARE MyCursor CURSOR FOR --used for cursor allocation
  
   SELECT name FROM master.sys.databases a
  
   INNER JOIN master.sys.database_mirroring b
  
   ON a.database_id=b.database_id
  
   WHERE NOT mirroring_guid IS NULL
  
   AND mirroring_role_desc='MIRROR'
  
OPEN MyCursor
  
FETCH Next FROM MyCursor INTO @strDatabasename
  
WHILE @@Fetch_Status = 0
  
BEGIN
  
   ---Run the ALTER DATABASE databaseName SET PARTNER FORCE_SERVICE_ALLOW_DATA_LOSS
  
   SET @strSQL = 'ALTER DATABASE ' + @strDatabaseName + ' SET PARTNER FORCE_SERVICE_ALLOW_DATA_LOSS'
  
   EXEC sp_executesql @strSQL
  

  
      PRINT 'Bringing ' + @strDatabaseName + ' ONLINE'
  
   PRINT '========================================'
  
FETCH Next FROM MyCursor INTO @strDatabasename
  
END
  
CLOSE MyCursor
  
DEALLOCATE MyCursor
DSC00022.jpg

  执行成功后,W67又变为主体,当前的状态为“主体,已断开连接”(由于W65还未恢复)
DSC00023.jpg

  恢复启动W65这时,test库状态为“镜像,挂起”,W67为“主体,挂起”,,需要手动在“任务”--镜像--点击“继续”,这时同步恢复到最初镜像同步状态!!
DSC00024.jpg

DSC00025.jpg

  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-525773-1-1.html 上篇帖子: Windows的DOS命令 和 Linux 常用命令的对比 下篇帖子: MRTG FOR WINDOWS 安装指南
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表