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)
Sqlserver实现故障转移 — sqlserver镜像备份实现故障转移(3)的更多相关文章
- 【SqlServer系列】开启Sqlserver远程访问
1 概述 已发布[SqlServer系列]文章如下: [SqlServer系列]SQLSERVER安装教程 [SqlServer系列]数据库三大范式 [SqlServer系列]表单查询 [SqlS ...
- SqlServer 由于未在SqlServer的此实例上安装复制组件解决方法
sqlserver2005在复制订阅时出现: “由于未在SqlServer的此实例上安装复制组件,Microsoft SQL server 无法访问这些组件,请参阅SQL Server……” 解决方法 ...
- 无需安装SqlServer打开并管理SqlServer数据库的方法
本地安装的数据库是SqlServer2008R2的 在附加一个数据库文件时出现了以下错误 错误的原因就是附加的数据库版本太高,而本地数据库版本太低导致的 通过各种方式才查询到附加的数据库版本是SqlS ...
- 【故障】MySQL主从同步故障-Slave_SQL_Running: No
转自:http://www.linuxidc.com/Linux/2014-02/96945.htm 故障现象:进入slave服务器,运行:mysql> show slave status\G ...
- RabbitMQ集群出现过机器故障,网络异常等故障后,重启无法重新建立集群的终极解决方案
由于机器掉电,网络故障等原因,RabbitMQ整个集群出现问题.重启RabbitMQ时,发现某些机器始终无法重新加入到集群中,而且还可能出现网络分区. 针对不同情况,可能选择 rabbitmqctl ...
- 在Cygwin中出现JAVA_HOME出现故障找不到出现故障
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/u012516914/article/details/37689937 JAVA_HOME出现故障后查 ...
- php+sqlserver之如何操作sqlserver数据库
https://blog.csdn.net/xia13100004562/article/details/58598872 2016年12月19日 17:15:39 阅读数:6790 前面已经基本配置 ...
- SQLServer 日期函数大全 SQLServer 时间函数大全
原文地址:https://www.cnblogs.com/zhangpengnike/p/6122588.html 一.统计语句 1.--统计当前[>当天00点以后的数据] SELECT * F ...
- 企业案例 【故障修复】mysql主从故障解决过程
由于配置有zabbix监控,某日收到zabbix监控主从报警,,查看mysql状态, showslave status \G; slave复制状态有误,SLAVE_SQL_RUNNING为NO, 接着 ...
随机推荐
- Python:类
概述:类的特点 作用域和命名空间. 类的详解:(python官方教程摘录) 概述特性 Python在oop方面思想和Ruby一样.同样包括数据封装,继承和多态三大特点. 类 Python的类提供了面向 ...
- XShell 假死
使用vim时因为使用windows word带来的坏习惯经常喜欢ctrl+s ,而这个造成的结果就是xshell假死,解决办法是ctrl+q
- 解决tomcat控制台乱码+清除过期缓存条目后可用空间仍不足 - 请考虑增加缓存的最大空间问题
一.乱码 1.打开Tomcat的目录,找到conf文件夹,一般修改server.xml中的编码集,改为utf-8即可 2.若server.xml中编码设置的就是utf-8,可以修改logging.pr ...
- JAVA bean为何要实现序列化
简而言之:序列化,就是为了在不同时间或不同平台的JVM之间共享实例对象.即序列化出于两个原因:①.用于持久化到磁盘上:②.用于作为数据流在网络上传输. 所谓的Serializable,就是java提供 ...
- BZOJ 4128: Matrix (矩阵BSGS)
类比整数的做法就行了 1A爽哉 #include<bits/stdc++.h> using namespace std; typedef long long LL; const int M ...
- hdu 6052 To my boyfriend
题目 OvO click here http://acm.hdu.edu.cn/showproblem.php?pid=6052 (2017 Multi-University Training Con ...
- vue等诸多概念记录
讲的很好,转载记录下,转载自: https://www.cnblogs.com/taowd/p/11808710.html vue学习笔记-遗留问题记录 Node.js是什么?对node.js的理解 ...
- Servlet中的请求转发RequestDispatcher接口的forword与Include的区别
RequestDispatcher接口中具有两个方法: forward() 与 include() 均 可完成请求 的转发.区别如下: forword(): 使用该方法,则当前 的 Servlet 中 ...
- golang配置oci8所遇到问题解决
新建文件夹 mingw 将 MinGW.zip 解压到mingw目录下,进入mingw\lib目录下 新建文件夹pkg-config 执行命令 go get github.com/wendal/go- ...
- HZOJ 20190727 T2 单(树上dp+乱搞?+乱推式子?+dfs?)
考试T2,考试时想到了40pts解法,即对于求b数组,随便瞎搞一下就oxxk,求a的话,很明显的高斯消元,但考试时不会打+没开double挂成10pts(我真sb),感觉考试策略还是不够成熟,而且感觉 ...