SQL Server AG集群运转不起来的临时自救大招

自打学习.NET以来,优雅的编程风格,万分简单的可扩大性,丰硕强大开发工具,非常的小的上学曲线,让我对那么些平台发生了深厚的兴趣,在干活和上学中也积累
了部分开源的零件,就当前想到的先整理于此,假设再想到,就此起彼伏补充那篇日记,有加无已,就能形成一个和谐的机件经验库。

SQL Server AG集群运维不起来的权且自救大招

 

背景

明早一朋友遇到AG集群发生来回切换不平静的图景,情急之下,朋友在指令行使用命令重启WSFC集群

结果重启WSFC集群之后,非但不曾改革,导致整个AG不可能运营,主副本和协助副本都地处正在分析的情况

 

于是乎那位情人打电话向自家求救,询问了弹指间气象和条件

环境

系统:Windows2012R2

数据库:SQL Server2014 SP2

三台机械,一个域控,多少个数据库节点

 


过程

于是笔者翻看了须臾间WSFC日志和SQL
Server日志并不曾找到有用消息,眼看停机时间更是长,只可以先过来工作,可是有AG处白一骢在分析状态

没辙做别的操作,包罗:备份数据库,分离数据库,删除AG等

 

接轨掌握爱人数据库备份的气象,数据库是每一天二个完备,每种小时三个日备,当时的图景是离开最终3个日备已透过了40分钟

假使苏醒数据库来过来工作,那么就会促成40分钟的多少丢失

 

登时想法,只怕直接拷贝mdf文件和ldf文件并附加能够东山再起数据库,于是把多少个数据库节点的SQL
Server服务都停掉,然后直接把富有数据库的mdf文件和

ldf文件拷贝出来,搬迁到另一台SQL Server服务器上,那么些SQL
Server服务器是单机数据库,并从未做任何高可用集群

 

待全部数据库搬迁完结之后,每种数据库进行叠加操作,想不到的是竟然能附加成功!

富有数据库附加达成后,创造登录帐户,修改程序连接,验证连接,验证数据,重新打开张营业务,业务苏醒,整个进度差不离用了三个钟头

 


后记

一天过后,AG集群修复好了,怎麽重新把近来的业务库从单机SQL
Server的机械上海重机厂新参与到AG集群呢?

貌似人会用各类法子把业务库从单机SQL Server搬迁回去AG的节点,然后重做AG

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

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

接下来运转AG中的种种节点的SQL
Server服务,AG没有报错,一切回复符合规律,当然那种艺术停机时间会比一般方法长

 

注意点:

壹 、拷贝数据库文件到单机SQL
Server的时候,要采纳在主副本拷贝只怕联合形式的帮衬副本

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

 


总结

SQL
Server应该没有对数据库进行求证,也正是说,对数据库是或不是早已集群化没有展开认证,所以这一做法才能够成功

 

 

从SQL
Server2013开头刚推出AlwaysOn初步,AlwaysOn那几个数据库集群技术就供给依赖操作系统的WSFC来做故障转移,一贯到SQL
Server2017也是如此

对此WSFC的难题,即便是经验充分的SQL Server
DBA也未见得能解决,因为牵涉到Windows深层次的法则,有个别难题还要发dump文件给微软分析让微软消除,

总觉得微软的技艺太封闭,不管怎么着,有一时消除方法总比没有好

 

 

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

正文版权归作者全部,未经笔者同意不得转发。

图片 1

分布式缓存框架:

Microsoft Velocity:微软本人分布式缓存服务框架。

Memcahed:一套分布式的高速缓存系统,近日被广大网站采用以升级网站的访问速度。

Redis:是2个高质量的KV数据库。 它的面世相当大程度补偿了Memcached在好几方面包车型大巴欠缺。

EnyimMemcached:访问Memcached最出彩的.NET客户端,集成不错的分布式均衡算法。

开源的.NET系统推荐:

OXITE:微软ASP.NET MVC案例演示框架。

PetShop:微软ASP.NET宠物商店。

Orchard:外国三个MVC开源的博客系统。

SSCLI:微软在NET Framework 2.0时代的开源代码。

DasBlog:国外三个基于ASP.NET的博客系统。

BlogEngine.NET:外国一款免费开源的博客系统。

Dotnetnuke.NET:一套非凡优异的基于ASP.NET的开源门户网站程序。

Discuz.NET:国内开源的论坛社区系统。

nopCommerce和Aspxcommerce:国外一套高品质的开源B2C网站系统。

JumboTCMS和DTCMS:国内五款开源的网站管理种类:

日记记录非凡处理:

Log4Net.dll:轻量级的免费开源.NET日志记录框架。

Enterprise Library Log Application Black:微软集团库日志记录。

Elmah:实现最盛行的ASP.NET应用万分日志记录框架。

NLog:是叁个不难易行利落的日记记录类库,质量比Log4Net高,使用和护卫难度低。

关于NoSQL数据库:

Mongodb:分布式文件存款和储蓄数据库。

Membase:家族的1个新的重量级的分子。

机关职责调度框架

Quartz.NET:开源的作业调度和自行职分框架。

Topshelf:另一种创造Windows服务的开源框架

借助注入IOC容器框架:

Unity:微软patterns&practicest团队支付的IOC信赖注入框架,扶助AOP横切关怀点。

MEF(Managed Extensibility
Framework):是3个用来扩充.NET应用程序的框架,可支付插件系统。

Spring.NET:注重注入、面向方面编制程序(AOP)、数据访问抽象,、以及ASP.NET集成。

Autofac:最风靡的正视注入和IOC框架,轻量且高质量,对项目代码大概无别的侵入性。

PostSharp:达成静态AOP横切关心点,使用简易,成效强大,对指标拦截的艺术无需任何改动。

Ninject:基于.NET轻量级开源的依靠注入IOC框架

常用的几个OKoleosM框架:

EF(ADO.NET Entity Framework):微软遵照ADO.NET开发的O本田CR-VM框架。

Nhibernate:面向.NET环境的轻量级的O奥迪Q7M框架。

SqlMapper.cs:用于小品种的通用的C#数据库访问类。

AutoMapper:流行的对象映射框架,可收缩大气硬编码,很精美灵活,品质表现也可承受。

SubSonic:杰出的开源的O福特ExplorerM映射框架,同时提供符合本身供给的代码生成器。

FluentData:开源的基于Fluent API的链式查询O奥迪Q7M轻量级框架。

Dapper:轻量级高品质基于EMIT生成的O宝马X5M框架。

EmitMapper:品质较高的OEnclaveM框架,运营时通过EMIT动态生成IL代码,并非采纳反射机制。

格式和数据类型转换

Newtonsoft.Json:近来.NET付出中最盛行的JSON系列化库,为新版的WebApi库提供基础。

System.JSON.dll:微软团结付出的JSON类别化组件(需求独自下载)

DataContractJsonSerializer 和
DataContractXmlSerializer
:微软在WCF中运用的系列化器。

JavaScriptSerializer:微软暗中同意针对WEB开发者提供的JSON格式化器。

iTextSharp、PDFsharp 和 PDF.NET:通过.NET处理和生成PDF文书档案的零件。

SharpZipLib.dll:免费开源的ZIP和GZIP文件解压缩组件。

Math.NET:强大的数学生运动算、微积分、解方程和不易运算。

DocX:不须求安装word软件,通过C#操作word文件。

SharpSerializer:开源XML和、二进制、JSON、压缩和优化框架。

反射和动态语言

Clay dynamic:开源的动态语言dynamic框架让你形如javascript的主意创造对象。

ExposedObject:在类的外部通过动态语言dynamic的措施访问私有成员。

PrivateObject:微软单元测试框架中便捷在表面调用类内部私有成员的3个类。

跨平台和平运动行时化解方案

MONO.NET:跨平台的.NET运转条件,让.NET跨平台运营成为也许。

DotGnu Portable.NET:类似于MONO.NET的跨平台运维时。

Phalanger:将PHP编译成.NET,可实现PHP与.NET互操作。

VMDotNet:中国邮电通讯飞信所利用过的.NET运维时。

Unity3D:微软努力援救的机遇C#和JavaScript的跨平台游戏支付框架。

Cassini、IIS Express和Cassinidev:开源的ASP.NET执行环境。

Katana:微软基于OWIN规范落实的非IIS寄宿ASP.NET和MVC等。

IKVM.NET:基于.NET的JAVA虚拟机,让JAVA运行在.NET之上。

WEB开发和布置性

Jumony Core:基于.NET开发的HTML引擎。

Microsoft.mshtml.dll、Winista.HtmlParser.dll 和
HtmlAgilityPack.dll
:解析处理HTML文书档案的框架。

JavaScript.NET和ClearScript(微软出品):基于.NET开发的JavaScript引擎。

NCrawler:其HTML处理引擎htmlagilitypack的的开源互联网爬虫软件。

AntiXSS:微软官方预防跨站XSS脚本侵犯攻击的开源类库,它经过白名单机制进行内容编码。

YUICompressor.NET、Microsoft Ajax Minifier 和 Google Closure
Compiler
:JavaScrip和CSS压缩器。

NancyFx:是二个正确的轻量级开源.NET
WEB框架。假如想快速做个简易的WEB应用。

AspNetPager:国内著名的ASP.NET分页控件,帮助两种分页格局。

NOPI.dll:导出Excel报表的插件(基于微软OpenXml完毕)(nopi.css.dl通过css设置样式)

Enterprise Library:微软针对公司级应用开发的拔尖实践组件。

PowerCollections:国外3个牛人写的高等开源集合。

一举手一投足网络和云计算

PushSharp:通过.NET向各个运动平台推送音讯。

mono for android:用.NET语言开发安卓应用:

MonoTouch:用.NET语言开发IOS应用。

PhoneGap和AppCan:跨平台基于HTML5的运动支付平台。

Cordova:PhoneGap进献给Apache后的开源项目,是驱动PhoneGap的主干引擎。

互联网通讯和网络协议

SuperSocket:基于.NET轻量级的可扩展的Socket开发框架。

SuperWebSocket:通过.NET实现TML5 WebSocket框架。

XProxy:支持插件的根基代理程序集,内置NAT、加解密、反向、直接和间接代理。

图形和图像处理框架

Paint.NET:基于.NET小巧灵活有力的图形处理开源项目。

Imagemagick.NET:用C#对开源图像处理组件Imagemagick的包裹。

Skimpt:基于.NET开源的显示屏截图软件。

ImageGlue.NET:商业的图像处理组件,协助的格式列了一大堆。

Sprite and Image Optimization
Framework
:微软CSS天使,多图合成一张大图和CSS样式。

桌面应用程序框架

DevExpress:2个全球有名的桌面应用程序UI控件库。

Prism:微软支付的针对性WPF和Silverlight的MVVM框架,通过成效模块化的构思,来讲复杂的事体成效和UI耦合性举行分离。

WPFToolkit 和 Fluent Ribbon Control
Suite
:开发近乎于Office风格的Ribbon菜单。

测试和属性评估方面

Faker.Net:方便生成多量测试数据的框架。

Nunit:一个轻量级的单元测试框架。

Moq:非常的红的Mock框架,帮衬LINQ,灵活且高品质。

xUnit:比NUnit更好的单元测试框架,升级革新版的Nunit框架。

MiniProfiler和Glimpse:基于MVC的五款质量事件监察和控制框架。

事务和分布式事务援助

KtmIntegration:多个支撑NTFS文件系统的工作开源类。

NET Transactional File
Manager
:对文件系统操作(复制、移动和删除)插手工作援助。

分词、全文字笔迹检验索和查找引擎

Lucene.net:流行高品质的全文索引库,可用以为种种音信提供强有力的搜寻效果。

Lucene.Net.Analysis.PanGu:帮忙Lucene.Net最新版的天神中文分词扩大库。

数量注明组件整理

FluentValidation for .NET:基于LINQ表明式方法链Fluent接口验证组件。

Microsoft.Practices.EnterpriseLibrary.Validation.dll:微软集团库验证程序块。

CuttingEdge.Conditions:基于Fluent接口方法练接口的契约编制程序组件。

DotNetOpenAuth:让网站有着协助OpenID、OAuth、InfoCard等身份验证的能力。

开源图表总括量控制件:

Visifire:一套效果拾壹分好的WPF图表控件,接济3D绘制、曲线、折线、扇形、环形和梯形。

SparrowToolkit:一套WPF图表控件集,支持绘制动态曲线,可绘制示波器、CPU使用率和波形。

DynamicDataDisplay:微软开源的WPF动态曲线图,线图、气泡图和热力图。

 

能够扩大音讯队列品类,如:Kafka是一种分布式的,基于发表/订阅的音信系统。首要设计目的如下:

以时间复杂度为O(1)的办法提供音讯持久化能力,就算对TB级以上数据也能担保常数时间复杂度的访问性能。

高吞吐率。就算在丰硕廉价的商用机器上也能一鼓作气单机协助每秒100K条以上新闻的传输。

援救卡夫卡Server间的新闻分区,及分布式消费,同时确认保障各个Partition内的新闻顺序传输。

与此同时帮忙离线数据处理和实时数据处理。

Scale out:辅助在线水平扩充。

RabbitMQ

RabbitMQ是使用Erlang编写的贰个开源的消息队列,自己帮忙广大的情商:AMQP,XMPP,
SMTP,
STOMP,也正因如此,它卓殊重量级,更切合于集团级的支出。同时落到实处了Broker构架,那意味着音信在发送给客户端时先在着力队列排队。对路由,负载均衡只怕数额持久化都有很好的援助。

Redis

Redis是三个基于Key-Value对的NoSQL数据库,开发爱抚很活跃。即便它是一个Key-Value数据仓库储存款和储蓄系统,但它本身帮衬MQ作用,所以完全能够看做1个轻量级的队列服务来行使。对于RabbitMQ和Redis的入队和出队操作,各执行100万次,每10万次记录二回进行时间。测试数据分为128Bytes、512Bytes、1K和10K几个不等大小的数目。实验注脚:入队时,当数码比较时辰Redis的属性要高于RabbitMQ,而假使数额大小当先了10K,Redis则慢的不可能忍受;出队时,无论数额大小,Redis都显现出相当好的习性,而RabbitMQ的出队品质则远低于Redis。

ZeroMQ

ZeroMQ号称最快的新闻队列系统,尤其针对大吞吐量的急需处境。ZeroMQ能够达成RabbitMQ不善于的高等/复杂的行列,不过开发人士须求协调组合种种技能框架,技术上的复杂度是对那MQ能够运用成功的挑战。ZeroMQ具有一个非凡的非中间件的格局,你不必要安装和平运动转三个音信服务器或中间件,因为您的应用程序将饰演那几个服务器剧中人物。你只需求简单的引用ZeroMQ程序库,可以采取NuGet安装,然后你就能够喜上眉梢的在应用程序之间发送消息了。不过ZeroMQ仅提供非持久性的体系,也正是说若是宕机,数据将会丢掉。个中,推特(Twitter)的Storm
0.9.0原先的本子中暗许使用ZeroMQ作为数据流的传导(Storm从0.9版本开首还要支持ZeroMQ和Netty作为传输模块)。

ActiveMQ

ActiveMQ是Apache下的一个子项目。
类似于ZeroMQ,它亦能够代办和点对点的技能实现队列。同时类似于RabbitMQ,它少量代码就足以火速地促成高级应用场景。

Kafka/Jafka

卡夫卡是Apache下的多少个子项目,是叁个高品质跨语言分布式公布/订阅信息队列系统,而Jafka是在卡夫卡之上孵化而来的,即卡夫卡的一个升级版。具有以下特征:神速持久化,能够在O(1)的连串开发下开展新闻持久化;高吞吐,在一台一般的服务器上既能够直达10W/s的吞吐速率;完全的分布式系统,Broker、Producer、Consumer都原生自动协理分布式,自动达成负载均衡;帮忙Hadoop数据交互加载,对于像Hadoop的同一的日志数据和离线分析系列,但又供给实时处理的范围,那是三个可行的化解方案。Kafka通过Hadoop的相互加运载飞机制统一了在线和离线的信息处理。Apache
卡夫卡相对于ActiveMQ是二个非凡轻量级的音信系统,除了品质越发好之外,照旧一个行事能够的分布式系统。

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注