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)