zoukankan      html  css  js  c++  java
  • Sqlserver实现故障转移 — sqlserver镜像备份实现故障转移(3)

    目的:在已经加域的计算机上安装sqlserver2012,并配置数据库镜像实时同步,并实现故障转移。

    在数据库层面实现故障自动转移后,应用程序里改怎么写数据库连接呢?其实使用ADO.NET或者SQL Native Client解决了这个问题,能够自动连接到故障转移后的伙伴,连接字符串如下所示

    ConnectionString="DataSource= A;Failover Partner=B;Initial Catalog=AdventureWorks;Integrated Security=true;" DataSource= A;

    此时,如果数据库发生故障转移,则应用程序会自动切换连接到转移后的数据库实例。

    域控的建立详见:https://www.cnblogs.com/xiaoerlang90/p/9224745.html

    计算机加域:https://www.cnblogs.com/xiaoerlang90/p/9234805.html

    域控:

      名称:dcTest.com

      IP: 192.168.31.20

      用户名:sql_admin

      密码:dcTest2018

    主数据库服务器(已加域):

      计算机名:db01-PC

      IP: 192.168.31.201

      域用户/密码:sql_admin/dcTest2018

      操作系统:不限。

      数据库:sqlserver2012 R2

    辅数据库服务器(已加域):

      计算机名:db02-PC

      IP: 192.168.31.202

      域用户/密码:sql_admin/dcTest2018

      操作系统:不限。

      数据库:sqlserver2012 R2

    见证数据库服务器(已加域):

      计算机名:wt-PC

      IP: 192.168.31.196

      域用户/密码:sql_admin/dcTest2018

      操作系统:不限。

      数据库:sqlserver2012 R2

     ---------------------------------------------------------------------------------------------------------   

    步骤

    配置防火墙:由于计算机加域后防火墙会自动开启,此时需要配置db01-PC、db02-PC、wt-PC 三台服务器的出入站规则(其中1433端口为sqlserver实例默认端口,5022为侦听端口),出站规则同入站规则:

    三台服务器分别安装sqlserver2012 r2 ,安装步骤此处不再赘述。

    分别配置SQL server服务登陆账户如图:

    转到db01-PC, 打开sqlserver management studio,创建在SQL Server 2012 使用SQL语句创建了一个名为“镜像”的端点:

     USE [master]
     CREATE ENDPOINT [镜像]
     STATE=STARTED

     AS TCP (LISTENER_PORT = 5022, LISTENER_IP = ALL)

      FOR DATA_MIRRORING (ROLE = PARTNER, AUTHENTICATION = WINDOWS NEGOTIATE

      ,  ENCRYPTION = REQUIRED ALGORITHM RC4)

     创建需要备份的数据库:SyncTest。并备份

     

    备份完成后将备份文件拷贝到db02-PC服务器中,然后将其恢复到镜像数据库中。使用数据库镜像技术时,镜像数据库需要处于“Restore With NoRecovery”状态。在还原操作时一定要勾选“Restore With NoRecovery”选项。如图所示:

     

    开始配置数据库镜像备份及故障转移:右键需要备份的数据库选择 -任务-镜像,如图所示:

     运行模式选择“带故障转移的高安全(同步)。。。”,单击“配置安全性” 开始配置。

     

    我们这次演示使用了2台SQL Server服务器,一台见证服务器,配置“包括见证服务器实例”的步骤需要将选项勾选为“是”,选择后点击下一步,弹出“选择要配置的服务器”对话框中默认勾选“见证服务器实例”,确认无误后点击下一步。如图所示:

    在“主体服务器实例”对话框,默认会显示本机已经配置了的侦听器端口和端点名称,确认无误后点击下一步。如图所示:

     配置镜像数据库,选择浏览更多,弹出数据库实例登陆窗口,输入db02-PC的ip,选择sqlserver身份验证,输入用户名及密码登陆即可,如图所示

    配置见证服务器,步骤同镜像服务器配置步骤。

    确认ip,侦听端口,及端点名称无误后,点击“下一步”,如图所示:

    设置数据库实例登陆账户:

    最后,确认所有信息无误后,点击“完成”,即可完成数据库镜像配置。如图所示:

     5、完成配置

     完成上述配置后,会有提示信息,询问是否立即“开始镜像”。点击“不开始镜像”,回到配置对话框。如图所示:

          

      在配置对话框,核对配置信息无误后,点击“开始镜像”,如图所示:

     

     此时主服务器数据库显示状态如下图:

    辅服务器显示如下图:

    在断开主服务器连接时,会自动切换到辅服务器,辅服务器变成主服务器,也可通过切换故障转移切换主、辅服务器角色。

     经验证在域控服务器断开的情况下,db01与db02之间还是可以进行备份及切换。可以启动数据库尽享监视器查看数据库状态:

    对已经加域的服务器,在脱域的情况下如何利用缓存登陆域账户:

    可进入本地策略(运行命令:gpedit.msc)

    打开组策略(默认域策略或OU下的创建策略都可以)-->交互式登录:之前登录到缓存的次数(域控制器不可用时),可以根据实际情况来设置,设置为0就是禁止缓存。
     
  • 相关阅读:
    启动vmware虚拟机报错:“无法获得VMCI驱动程序的版本:句柄无效”
    vmware虚拟机环境下配置centos为静态IP的步骤
    VirtualBox安装增强功能报错
    eclipse中的yaml插件
    问题解决java.lang.IllegalArgumentException at org.springframework.asm.ClassReader
    git的使用笔记
    springcloud学习笔记(六)Spring Cloud Zuul
    springcloud学习笔记(五)Spring Cloud Actuator
    springcloud学习笔记(四)Spring Cloud Hystrix
    springcloud学习笔记(三)Spring Cloud Ribbon
  • 原文地址:https://www.cnblogs.com/xiaoerlang90/p/9502044.html
Copyright © 2011-2022 走看看