目的:在已经加域的计算机上安装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就是禁止缓存。

 

Sqlserver实现故障转移 — sqlserver镜像备份实现故障转移(3)的更多相关文章

  1. 【SqlServer系列】开启Sqlserver远程访问

    1   概述 已发布[SqlServer系列]文章如下: [SqlServer系列]SQLSERVER安装教程 [SqlServer系列]数据库三大范式 [SqlServer系列]表单查询 [SqlS ...

  2. SqlServer 由于未在SqlServer的此实例上安装复制组件解决方法

    sqlserver2005在复制订阅时出现: “由于未在SqlServer的此实例上安装复制组件,Microsoft SQL server 无法访问这些组件,请参阅SQL Server……” 解决方法 ...

  3. 无需安装SqlServer打开并管理SqlServer数据库的方法

    本地安装的数据库是SqlServer2008R2的 在附加一个数据库文件时出现了以下错误 错误的原因就是附加的数据库版本太高,而本地数据库版本太低导致的 通过各种方式才查询到附加的数据库版本是SqlS ...

  4. 【故障】MySQL主从同步故障-Slave_SQL_Running: No

    转自:http://www.linuxidc.com/Linux/2014-02/96945.htm 故障现象:进入slave服务器,运行:mysql> show slave status\G  ...

  5. RabbitMQ集群出现过机器故障,网络异常等故障后,重启无法重新建立集群的终极解决方案

    由于机器掉电,网络故障等原因,RabbitMQ整个集群出现问题.重启RabbitMQ时,发现某些机器始终无法重新加入到集群中,而且还可能出现网络分区. 针对不同情况,可能选择 rabbitmqctl ...

  6. 在Cygwin中出现JAVA_HOME出现故障找不到出现故障

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/u012516914/article/details/37689937 JAVA_HOME出现故障后查 ...

  7. php+sqlserver之如何操作sqlserver数据库

    https://blog.csdn.net/xia13100004562/article/details/58598872 2016年12月19日 17:15:39 阅读数:6790 前面已经基本配置 ...

  8. SQLServer 日期函数大全 SQLServer 时间函数大全

    原文地址:https://www.cnblogs.com/zhangpengnike/p/6122588.html 一.统计语句 1.--统计当前[>当天00点以后的数据] SELECT * F ...

  9. 企业案例 【故障修复】mysql主从故障解决过程

    由于配置有zabbix监控,某日收到zabbix监控主从报警,,查看mysql状态, showslave status \G; slave复制状态有误,SLAVE_SQL_RUNNING为NO, 接着 ...

随机推荐

  1. Python main()函数解析

    __main__ — Top-level script environment '__main__'是顶级代码执行的作用域的名字. 当一个模块从标准input, 一个脚本文件,或一个交互命令read读 ...

  2. HttpRunner完整笔记(从搭建到应用)

    一.安装 (1)       直接python2 –m pip install HttpRunner,安装完成后,可使用hrun –V 来查看安装版本:python2 pip install -U H ...

  3. Springboot项目报错【java.base/jdk.internal.loader.ClassLoaders$AppClassLoader cannot be cast to java.base/java.net.URLClassLoader】

    1.发生问题: 升级了JDK9,发现原先的springboot项目起不来了,以为是maven中jdk配置有问题. 于是在pom中添加了 <plugin> <groupId>or ...

  4. 【Eclipse】Macbook eclipse 指定JDK

    1. vi /Applications/eclipse/Eclipse.app/Contents/Eclipse/eclipse.ini 输入 -vm /Library/Java/JavaVirtua ...

  5. gradle——入门

    为脚本中自定义变量传参: gradle -Pmyprop=myvalue 脚本攻略 https://blog.csdn.net/yanbober/article/details/49314255 强制 ...

  6. http支持上传文件夹

    核心原理: 该项目核心就是文件分块上传.前后端要高度配合,需要双方约定好一些数据,才能完成大文件分块,我们在项目中要重点解决的以下问题. * 如何分片: * 如何合成一个文件: * 中断了从哪个分片开 ...

  7. Ubuntu:19.04程序启动缓慢

    造冰箱的大熊猫@cnblogs 2019/5/8 Ubuntu 19.04,程序(Firefox.Terminal.Nautilus)启动非常缓慢.点击桌面工具栏上的Nautilus图标后,隔了很久才 ...

  8. 2018 焦作网络赛 G Give Candies ( 欧拉降幂 )

    题目链接 题意 : 给出 N 个糖果.老师按顺序给 1~N 编号的学生分配糖果.每个学生要么不分.要么最少分一个.且由于是按顺序发放.那么对于某个有分到糖果的编号为 i 的学生.则 1~(i-1) 这 ...

  9. HDU - 6183 暴力,线段树动态开点,cdq分治

    B - Color itHDU - 6183 题目大意:有三种操作,0是清空所有点,1是给点(x,y)涂上颜色c,2是查询满足1<=a<=x,y1<=b<=y2的(a,b)点一 ...

  10. 洛谷 P1800 software_NOI导刊2010提高(06)(二分答案+DP检验)

    P1800 software_NOI导刊2010提高(06) 标签 二分答案 难度 普及/提高- 题目描述 一个软件开发公司同时要开发两个软件,并且要同时交付给用户,现在公司为了尽快完成这一任务,将每 ...