SQL Server AG集群启动不起来的临时自救大招

背景

前晚一朋友遇到AG集群发生来回切换不稳定的情况,情急之下,朋友在命令行使用命令重启WSFC集群

结果重启WSFC集群之后,非但没有好转,导致整个AG无法启动,主副本和辅助副本都处于正在解析的状态

于是这位朋友打电话向我求救,询问了一下情况和环境

环境

系统:Windows2012R2

数据库:SQL Server2014 SP2

三台机器,一个域控,两个数据库节点


过程

于是我查看了一下WSFC日志和SQL Server日志并没有找到有用信息,眼看停机时间越来越长,只好先恢复业务,但是有AG处于正在解析状态

无法做任何操作,包括:备份数据库,分离数据库,删除AG等

继续询问朋友数据库备份的情况,数据库是每天一个完备,每个小时一个日备,当时的情况是距离最后一个日备已经过了40分钟

如果还原数据库来恢复业务,那么就会造成40分钟的数据丢失

当时急中生智,可能直接拷贝mdf文件和ldf文件并附加能够恢复数据库,于是把两个数据库节点的SQL Server服务都停掉,然后直接把所有数据库的mdf文件和

ldf文件拷贝出来,搬迁到另一台SQL Server服务器上,这个SQL Server服务器是单机数据库,并没有做任何高可用集群

待所有数据库搬迁完毕之后,逐个数据库进行附加操作,想不到的是居然能附加成功!

所有数据库附加完毕后,创建登录帐户,修改程序连接,验证连接,验证数据,重新开启业务,业务恢复,整个过程大概用了2个小时


后记

一天之后,AG集群修复好了,怎麽重新把当前的业务库从单机SQL Server的机器上重新加入到AG集群呢?

一般人会用各种办法把业务库从单机SQL Server搬迁回去AG的节点,然后重做AG

今天走起君做了一个实验,实验环境跟朋友的环境一模一样,发现,只需要把单机SQL Server上的所有业务库进行分离,

然后将AG中的所有节点的SQL Server服务停掉,然后拷贝mdf文件和ldf文件回去所有AG节点覆盖原来的数据库文件(注意做好备份)

然后启动AG中的各个节点的SQL Server服务,AG没有报错,一切回复正常,当然这种方法停机时间会比一般方法长

注意点:

1、拷贝数据库文件到单机SQL Server的时候,要选择在主副本拷贝或者同步模式的辅助副本

2、从单机SQL Server拷贝数据库文件到AG节点的时候,要拷贝到AG的所有节点


总结

SQL Server应该没有对数据库进行验证,也就是说,对数据库是否已经集群化没有进行验证,所以这一做法才得以成功

从SQL Server2012开始刚推出AlwaysOn开始,AlwaysOn这个数据库集群技术就需要依赖操作系统的WSFC来做故障转移,一直到SQL Server2017也是如此

对于WSFC的问题,即使是经验丰富的SQL Server DBA也未必能搞定,因为牵涉到Windows深层次的原理,有些问题还要发dump文件给微软分析让微软解决,

总觉得微软的技术太封闭,不管怎样,有临时解决方法总比没有好

如有不对的地方,欢迎大家拍砖o(∩_∩)o 

本文版权归作者所有,未经作者同意不得转载。

SQL Server AG集群启动不起来的临时自救大招的更多相关文章

  1. (转载) SQL Server AG集群启动不起来的临时自救大招

    背景 前晚一朋友遇到AG集群发生来回切换不稳定的情况,情急之下,朋友在命令行使用命令重启WSFC集群 结果重启WSFC集群之后,非但没有好转,导致整个AG无法启动,主副本和辅助副本都处于正在解析的状态 ...

  2. 搭建SQL server AwaysOn集群

    1.环境 系统:windows server 2012 R2 数据库版本:SQL server 2012 三台服务器,IP分别是:10.10.10.111,10.10.10.112,10.10.10. ...

  3. 阿里云重磅发布RDS for SQL Server AlwaysOn集群版

    2018年双十一刚过,阿里云数据库发布RDS for SQL Server AlwaysOn集群版,这是业界除微软云SQL Database外,首家云计算公司基于SQL Server最新AlwaysO ...

  4. Sql Server 2012 集群配置

    基于Windows Server 2008 R2的WSFC实现SQL Server 2012高可用性组(AlwaysOn Group) 2012年5月 微软新一代数据库产品SQL Server 201 ...

  5. 图文详解在Windows server 2008 R2上安装SQL Server 2012集群

    1.准备: 4台服务器(1台AD.2台SQL服务器.1台iSCSI存储服务器) 9个IP(1个AD的IP.2个SQL服务器的IP.2个心跳IP.1个iSCSI存储服务器的IP.1个集群IP.1个DTC ...

  6. 创建SQL Server数据库集群的经历

    自己尝试安装SQL Server集群和配置AlwaysOn可用性组,服务器系统是Windows Server 2012 R2,SQL Server是2014企业版,我的环境是一台服务器,然后用Hype ...

  7. Windows Server 2008 + SQL Server 2005集群

    一. 基础环境 1. 服务器规划 2. 网络拓扑 二. 相关说明 1.为了节约服务器资源,AD服务器可以和iSCSI设备服务器同为一台服务器.由于iSCSI软件需要,目前微软只开发了基于Windows ...

  8. SQL Server AlwaysOn 集群 关于主Server IP与Listener IP调换的详细测试

    1. 背景 SQL Server 搭建AlwaysOn后,我们就希望程序连接时使用虚拟的侦听IP(Listener IP),而不再是主Server 的IP.如果我们有采用中间件,则可以在配置中,直接用 ...

  9. VMware Workstation 11 搭建windows server 2012 之sql server 2012集群常见问题整理

    1.windows server 2012内置支持iSCSI发起程序无需额外安装,iSCSI Software Target 可作为“文件和存储服务”角色下的内置功能使用 2.拷贝虚拟机的文件加入域时 ...

随机推荐

  1. VS2015下OpenGL库的配置

    写在前面: 最近要用到OpenGL,光是在VS2015下配置就费了很大的劲,现在将我的成果直接贡献给大家,希望能为需要在VS2015下配置OpenGL的读者省去一些麻烦. 正文: 资源地址1:http ...

  2. java swing组件的一些基本属性

    JLabel get/setText(): 获取/设置标签的文本. get/seticon(): 获取/设置标签的图片. get/setHorizontalAlignment(): 获取/设置文本的水 ...

  3. ios系统判断某些适配 __IPHONE_OS_VERSION_MAX_ALLOWED

    由于app的最新设计字体是ios9之后的平方字体,但app最低支持ios7,so...想在常量配置文件类里统一适配下字体,如下: //适配字体,ios9及以上系统使用新字体--平方字体 #if __I ...

  4. 通过chrome inspect 来调试手机hybird APP

    hybird APP 虽然显示效果和编译前的前端页面大致相同,但是其中操作可能会调用一些浏览器中没有的接口,从而产生一些意料之外的问题,因此了解和掌握如何调试就变得尤为重要. 本文简要介绍了如何利用c ...

  5. <CentOS7>如何设置hostname

    在CentOS/RHEL 7中,有个叫hostnamectl的命令行工具,它允许你查看或修改与主机名相关的配置: ceph@client-node ~]$ hostnamectlstatus Stat ...

  6. Printk与sched_clock_init的一点分析

    在分析Linu内核启动的过程中,发现一段"不平常"的日志,感觉产生这段日志的代码肯定是"不可思议"的.因此就大致分析了一下: 日志如下: [ 0.000000] ...

  7. [ext4]04 磁盘布局 - Meta Block Groups

    Meta Block Groups,可以翻译为元块组集. 如果不采用Meta Block Groups特性,在每个冗余备份的超级块的后面是一个完整的(包含所有块组描述符的)块组描述符表的备份.如前所述 ...

  8. Servlet追忆篇:那些年一起学习的Servlet

    title: servlet notebook: javaWEB tags:servlet --- Servlet是什么? Servlet是JavaWeb的三大组件之一. 作用类似银行前台接待: 接收 ...

  9. 使用OpenOffice实现各种文档转pdf或者html文档

    ---恢复内容开始--- 最近在做项目时需要写一个功能,将doc,ppt,xsl等文档做在线预览.网上查了很多资料,开始适用poi将文档转成pdf没成功,后来使用了OpenOffice4 + jodc ...

  10. 山东省第八届ACM省赛游记

    Day 1: 凌晨,来了几分兴致,和队友在VJudge上开了一把zoj月赛,WA一发闷一口拿铁,一瓶拿铁 不一会就被喝完了!好气啊!遂开始愉快地打游戏,打着打着,woc,居然3点半了,小睡片 刻,咬上 ...