AlwaysOn健康诊断日志 为了监控primary可用副本的健康状况,SQL Server资源DLL使用SQL Server2012的过程sp_server_diagnostics. SQL Server resource DLL维护了一个专用的连接到SQL Server实例,通过这个SQL Server实例定期的发送健康诊断信息到SQL Server resource DLL.健康诊断信息与集群中的AG中的failover policy耦合,被用来确定集群是否重启或者故障转移.这个过程是新S…
SQL Server错误日志(AG) SQL Server错误日志会记录影响AG的时间,比如: 1.和Windows故障转移集群交互 2.可用副本的状态 3.可用数据的状态 4.AG endpoint的状态 5.AG Listener的状态 6.SQL Server resource DLL和SQL Server实例的租用状态 7.AG的错误事件 出现以下状态就需要检查错误日志: 1.无法连接到可用性数据库 2.非预料的AG故障转移 3.AG的Resolving状态不可预期 4.AG在不其确定的…
AlwaysOn Ring Buffers 一些AlwaysOn的诊断信息可以从SQL Server ring buffers.或者从sys.dm_os_ring_buffers.ring buffer在SQL Server启动的时候被创建,SQL Server系统为内部诊断记录警告. 通过以下查询获取所有事件记录 SELECT * FROM sys.dm_os_ring_buffers WHERE ring_buffer_type LIKE '%HADR%' 为了让数据更加可控,可以通过日期,…
AlwaysOn等待类型 当排查AlwaysOn延迟,等待统计信息可以在DMV中查看累计的AlwaysOn等待类型. 查看AlwaysOn等待类型 SELECT * FROM sys.dm_os_wait_stats WHERE wait_type LIKE '%hadr%' ORDER BY wait_time_ms DESC 使用一下语句,获取捕获扩展事件,等待类型. CREATE EVENT SESSION [alwayson] ON SERVER ADD EVENT sqlos.wait…
AG排查和监控指南 1. 排查场景 如下表包含了常用排查的场景.根据被分为几个场景类型,比如Configuration,client connectivity,failover和performance. Scenario 笔记 Scenario Type Description Troubleshoot AlwaysOn Availability Groups Configuration (SQL Server) 排查:AG配置 Configuration 提供了一些典型的配置AG实例发生问题的…
排查AG配置 本文主要用来帮助排查在AG配置时出现的问题,包括,AG功能被禁用,账号配置不正确,数据库镜像endpoint不存在,endpoint不能访问. Section Description AlwaysOn Availability Groups Is Not Enabled 如果实例没有启动AG特性,实例就不支持任何AG相关的功能 Accounts 在SQL Server在运行的情况下,正确的账号配置 Endpoints 诊断关于实例的镜像endpoint问题. System name…
DMV和系统目录视图 这里主要介绍AlwaysON的动态管理视图,可以用来监控和排查你的AG. 在AlwaysOn Dashboard,你可以简单的配置的GUI显示很多可用副本的DMV和可用数据库通过右击各自的表头并且选择你要加入和隐藏的DMV. 更多关于DMV信息查看: AlwaysOn Availability Groups Dynamic Management Views and Functions (Transact-SQL).查看更多AG目录视图查看:AlwaysOn Availabi…
http://msdn.microsoft.com/en-us/library/azure/dn249504.aspx Tutorial: AlwaysOn Availability Groups in Azure (GUI) 28 out of 55 rated this helpful - Rate this topic Updated: October 23, 2013 Note For the PowerShell-based tutorial of the same scenario,…
健康模型概述 在成功部署AG之后,跟踪和维护健康状况是很重要的. 1.AG健康模型概述 AG的健康模型是基于策略管理(Policy Based Management PBM)的.如果不熟悉这个特性,可以查看:使用基于策略的管理来管理服务器 PBM的核心是策略,策略有以下部分组成: 1.目标,策略运行在有一组或者一个对象上. 2.条件,条件是bool表达式,指定目标的状态.如果条件false,就会发生错误. 3.归类,归类是对策略的简单归类 一旦你定义了一个策略,PBM会提供引擎来执行这些策略,获…
健康模型扩展 第一部分已经介绍了AlwayOn健康模型的概述.现在是创建一个自己的PBM策略,然后设置为制定的归类.创建这些策略,创建之后修改一下配置,dashboard就会自动评估这些策略. 场景,你有一个异步副本,当被primary落下太多的时候想要在dashboard上显示.一下是创建策略放入健康模型的过程. 1.定义条件 连接到SSMS,打开到条件,右击新建. 设置条件名,然后选择相应的方面.方面是逻辑属性的集合,我们使用这些属性来构成bool表达式这样来定义条件.AlwayOn相关的方…
使用Powershell监控AlwayOn健康 1.基本命令概述 AlwayOn Dashboard是很有用的查看整体AG健康状况的工具.但是这个工具不是用于7*24监控的.如果应用程序夜间发送严重的问题,Dashboard并不会有任何提示.那么可以使用Powershell命令来获取并通过SQL Agent调用创建告警. 1.1 Dashboard 首先创建一个AG.这个AG被配置为自动故障转移.查看这个AG的dashboard 通过查看AG的状态发现,AG状态不对.而且问题是来自于WSNAVE…
监控AG性能 AG的性能的性能方面,在关键任务数据库上进行语句级维护性能是很重要的.理解AG如何传输日志到secondary副本对评估RTO和RPO,表明AG是否性能不好. 1. 数据同步步骤 为了评估是否有性能问题,首先需要理解同步过程.性能问题可能出现在同步过程的任何一个环节,瓶颈的定位可以让你深入的理解问题.以下图标演示了数据通过过程: Sequence Step Description Comments Useful Metrics 1 Log Generation 日志数据被刷新到磁盘…
CLUSTER.LOG(AG) 作为故障转移资源,在SQL Server和windows故障转移集群服务的资源DLL(hadrres.dll)之间有额外的内部交流,DLL无法被SQL Server监控.WSFC log,CLUSTER.LOG可以诊断WSFC集群或者SQL Server Resource DLL的问题. 以下演示了SQL Server和windows集群管理的关系.windows集群管理用来初始化AG资源创建,释放或者状态修改. 1.生产集群日志 有2个方式生产集群日志: 1.在…
排查:Primary上的修改无法在Secondary体现 客户端进程在primary上修改成功,但是在Secondary上却无法看到修改结果.这个case假设你的可用性组有同步的健康问题.很多情况下这个情况会在几分钟之后自动解决. 如果几分之后依然看不到,那么可能在同步的工作流上有瓶颈问题.这个瓶颈会因为是不是同步提交的而不同. Commit Mode Possible Bottleneck Explanation Synchronous Commit Primary上长运行事务 seconda…
AG扩展事件 SQL Server 2012定义了一些关于AlwaysOn的扩展事件.你可以监控这些扩展事件来帮助诊断AG的根本问题.你也可以使用以下语句查看扩展事件: SELECT * FROM sys.dm_xe_objects WHERE name LIKE '%hadr%' 1.AlwaysOn健康(AlwaysOn_health)会话 AlwaysOn_health扩展会话当你在创建AG并捕获AlwaysOn相关事件的子集.这个会话被配置为有用的,方便的工具来帮助你开启调试AG.创建A…
排查:AG超过RPO 在异步提交的secondary上执行了切换,你可能会发现数据的丢失大于RPO,或者在计算可以忍受的数据都是超过了RPO. 1.通常原因 1.网络延迟太高,网络吞吐量太低,导致Primary的日志堆积 2.磁盘IO瓶颈导致LOG固化速度降低 2. 网络延迟太高,网络吞吐量太低,导致Primary的日志堆积 很多超过RPO的原因是日志发送到secondary副本不够快. 原因: Primary副本在日志发送启动了流量控制,因为日志发送超过了最大运行的非通知信息的量.直到这些信息…
排查:AG超过RTO 自动故障转移或者手动转移之后,没有数据都是,你可能会发现切换时间超过了你的RTO.或者当你评估切换时间同步提交secondary副本,发现超过了你的RTO. 1. 通常原因 通常引起故障转移超过RTO的原因: 1.报表负荷堵塞了Redo线程. 2.因为资源争用,Redo线程被落下. 2. 报表负荷堵塞了Redo线程 Redo线程在secondary副本被一个只读长运行语句堵塞. 原因: 在secondary副本,只读查询获得Sch-s锁,这些sch-s锁会堵塞redo线程获…
​云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新.阿里云使用严格的IDC标准.服务器准入标准以及运维标准,保证云计算整个基础框架的高可用性.数据的可靠性以及云服务器ECS的高可用性.但在使用ECS实例的过程中,仍然有可能会出现由于操作系统配置不当或程序过载等原因导致系统内核崩溃的情况,这将导致系统夯机.异常重启或无法正常启动等问题.为了分析根本原因而避免问题反复发生,运维人员通常依靠查看系…
前言     近期由于需要进行分布式链路跟踪系统的技术选型,所以一直在研究链路跟踪相关的框架.作为能在.Net Core中使用的APM,SkyWalking自然成为了首选.SkyAPM-dotnet是SkyWalking在.Net Core端的探针实现,其主要的收集日志的手段就是基于DiagnosticSource来进行诊断跟踪的.不得不说SkyAPM-dotnet的设计还是非常优秀的,它本身定义了一套非常规范的标准,而且提供了非常良好的扩展性,虽然框架本身可支持的采集端有限,但是基于这套标准扩…
1. 引言 最近为了解决ABP集成CAP时无法通过拦截器启用工作单元的问题,从小伙伴那里学了一招.借助DiagnossticSource,可以最小改动完成需求.关于DiagnosticSource晓东大佬18年在文章 在 .NET Core 中使用 Diagnostics (Diagnostic Source) 记录跟踪信息就有介绍,文章开头就说明了Diagnostics 一直是一个被大多数开发者忽视的东西.是的,我也忽略了,这个好东西,有必要学习一下,下面就和大家简单聊一聊System.Dia…
问题描述 在Application Gateway中,开启WAF(Web application firewall)后,现在需要把访问的日志输出到第三方分析代码中进行分析,如何来获取WAF的诊断日志呢? 整体方案的拓扑图如下: 本文在实施中将介绍: 1)如何创建Event Hub Namespace(事件中心空间)及Event Hub 2)在Application Gateways(WAF)中配置诊断日志(Diagnostic Logs) 3)(简约)官网中如何消费Event Hub中的数据 实…
前言:   本节是整个系列的重点文章,到现在,读者应该已经对整个高可用架构有一定的了解,知道独立的SQL Server实例和基于群集的SQL Server FCI的区别.上一节已经介绍了如何安装SQL Server Failover Cluster Instance(FCI)及其要求. 本节会深入AlwaysOn 可用组的内容,以演示部署为主线,包括如何启用只读路由和使用AlwaysOn组侦听器.并在最后演示故障转移. 在前面文章中对FCI和AlwaysOn可用组有了一定的平台要求.这里对其进行…
环境准备: (1)操作系统:Windows Server 2016 Datacenter (2)SQL Server 2016 配置SQL  2016 AlwaysOn 要点 1,因为没有域所以需要在”计算机属性“添加计算机的DNS后缀.如后缀是: kk1.com 2,非账户Administrator(是管理员组的新账号也不行),需在运行下列命令 注意:如果登陆Windows Server 2016服务器的账户不是Administrator,需要先以管理员方式运行PowerShell,执行下面的…
问题描述 在Azure中国区上面创建一个云服务(外延支持)后,根据官方文档(在云服务(外延支持)中应用 Azure 诊断扩展: https://docs.azure.cn/zh-cn/cloud-services-extended-support/enable-wad),启用了WAD扩展来收集实例的…
http://blog.csdn.net/kevinsqlserver/article/details/7886455…
1.下载Debug版本号jar包      首先要下载一个Debug版本号的JDBC jar包,Debug版本号的jar包命名形式为jdbcX_g.jar(例如以下图所看到的).如Oracle11g的Debug版本号的jar包为jdbc6_g.jar. 点击这里下载:http://www.oracle.com/technetwork/database/enterprise-edition/jdbc-112010-090769.html 2.启动Logging模式      第一种方式:设置执行环…
从0开始搭建SQL Server AlwaysOn 第三篇(配置AlwaysOn) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://www.cnblogs.com/lyhabc/p/4682028.html第三篇http://www.cnblogs.com/lyhabc/p/4682986.html第四篇http://www.cnblogs.com/lyhabc/p/6136227.html 这一篇是从0开始搭建SQL Serve…
因为篇幅原因,AlwaysOn可用性组被拆成了两部分:理论部分和实战部分.而实战部分又被拆成了准备工作和AlwaysOn可用性组搭建. 三篇文章各自的链接: SQL Server ->> 高可用与灾难恢复(HADR)技术 -- AlwaysOn(理论篇) SQL Server ->> 高可用与灾难恢复(HADR)技术 -- AlwaysOn(实战篇)之建立活动目录域.DNS服务器和Windows故障转移群集(准备工作) SQL Server ->> 高可用与灾难恢复(H…
因为篇幅原因,AlwaysOn可用性组被拆成了两部分:理论部分和实战部分.而实战部分又被拆成了准备工作和AlwaysOn可用性组搭建. 三篇文章各自的链接: SQL Server ->> 高可用与灾难恢复(HADR)技术 -- AlwaysOn(理论篇) SQL Server ->> 高可用与灾难恢复(HADR)技术 -- AlwaysOn(实战篇)之建立活动目录域.DNS服务器和Windows故障转移群集(准备工作) SQL Server ->> 高可用与灾难恢复(H…
Windows cluster要求同一个cluster中的所有windows版本都是相同的,这样就出现一个问题,当我们要将对windows进行升级时,(例如从windows 2008 R2升级到windows 2012)不得不搭建一套新的windows cluster.你可以选择使用新的硬件搭建,或者将现有windows cluster中的节点一台一台的evict掉,重装/升级系统后加入到新的windows cluster中.具体的cluster升级方案我就不在这里讨论.马上进入主题: SQL…