Sqlserver实现故障转移 — sqlserver镜像备份实现故障转移

Posted 小呀么小二郎

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Sqlserver实现故障转移 — sqlserver镜像备份实现故障转移相关的知识,希望对你有一定的参考价值。

 

目的:在已经加域的计算机上安装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镜像备份实现故障转移的主要内容,如果未能解决你的问题,请参考以下文章

sql 故障转移群集 部署需要多久

如何删除 SQL Server 故障转移群集实例

SQLServer2014故障转移群集的部署

2012故障转移群集的搭建(本人小白)

在Windows Server 2012 R2中搭建SQL Server 2012故障转移集群

Windows Server2016+SqlServer2016搭建AlwaysOn集群