需求描述

在生产环境中,很多情况下需要采集数据,用以定位问题或者形成基线。

关于SQL Server中的数据采集有着很多种的解决思路,可以采用Trace、Profile、SQLdiag、扩展事件等诸多方案。

几种方案各有利弊,其中从SQL Server2012版本开始,微软的开始各种整合这些采集方案,力推扩展事件。

对于上述的数据采集只是一种实现手段,对于采集完数据的存储没有统一的规范,并且对于多服务器的数据采集及汇总没形成统一的规范。

本篇实现

1、通过SQL Server自带的数据采集器实现多服务器的性能采集

2、利用SQL Server数据采集数据仓库(DW)形成运维报表

3、通过灵活性的配置方式,实现不同服务器不同采集点的数据收集

<1>基础配置

以前,有个同事说SQL Server的自动化运维太弱了,并且定位问题也比较麻烦,需要记住各种系统的DMV....各种日志查找....你看看人家MySQL强大的图形化界面提示,让你一眼就能发现当前数据库所存在的问题。

的确,来看看MySQL所提供的图形化的运维界面

是他娘的帅气,把整体的平台给划分的很详细:网络、实例状态、存储状态。

而且还有看上去很优雅的图形化展示界面。

上述界面所反映的内容,对于问题的查找是相当便利的,在SQL SERVER中就找不到同样的模块。如果有经验的DBA会通过任务管理器、性能监视器、然后配合系统自带个一些个DMV...进行分析....看上去复杂并且很高深的样子。

其实,在SQL SERVER中,也有类似的功能模块,并且更灵活的实现多台服务器共同采集,下面,我们来看一下详细的使用和配置流程。

在数据收集上,右键选择“配置管理数据仓库”

SQL SERVER为了能够支撑多台服务器的数据采集任务,鉴于数据量的庞大和用于数据分析的重要性,所以自己创建了一个用于数据分析的数据仓库(DW)

这里选择好实例,创建好数据仓库就可以。

提示:为了避免影响生产系统的性能,一般这里建议采用另外一台空闲的实例,专门用于数据采集和性能分析。

我这里演示,就采用本地的实例进行配置,然后下一步:

到这一步是管理数据仓库的用户权限,可以配置用户权限,三种权限级别:管理员、可读、可写;

很简单,配置完成直接下一步,然后就完成了该数据采集的数据仓库的搭建。

<2>基础配置

这一步就是设置数据收集了,简单点讲就是要配置收集的数据项有哪些。

同样是,数据采集上右键,然后选择“设置数据采集”

然后,下一步就是连接数据仓库,选择缓存目录

然后,下一步就可以完成,这里SQL SERVER同样的内置了一套数据搜集的模板,会为你收集全部的基本信息,当然,也可以自定义,文章后面介绍。

来看默认的数据采集的收集项

自带的默认模板中,分为了查询统计信息,其实这个就对应的实例状态、磁盘存储、服务器活动,除了这下还赠送了一个实用工具信息,这个是用来灵活配置其它几个收集项的。

可以随时的根据个人喜好启动、停止数据收集动作,酌情采用。

并且,也可以自己配置收集动作的时间间隔或者状态值。

并且,SQL Server贴心的给内置了一下计划模板,基本涵盖了所有的应用场景。

然后,你就放心的让它自己去采集就可以了。不爽的时候随时停止就可以。

剩下来的事就是查看采集数据了,鉴于MYSQL提供了如此精美的图像化展现方式,SQL SERVER同样也有。

就是它了

看上去是不是也有那么点意思了,包括:CPU、内存、磁盘IO、网络...

并且顺带着SQL server等待、SQL语句执行情况等

然后,针对性能调优的一些语句,也给出了排序包括CPU、运行时间、IO总数、物理读取、逻辑读取等

当然,我本地的机器本身采集量就很少,并且运行的T-SQL语句就不多,所以图表工具显示的很空旷。

来看看磁盘存储的

上述内容大体就这些,自己用的时候再行挖掘吧,本篇提供思路。

如果经验老道的DBA,我估计上述语句通过系统的DMV都可以查看的到,但是那仅限于有经验的,上述方案为小白降低了维护数据库的成本。

并且可以在多台服务器中进行采集,集中处理问题。

结语

在本篇介绍利用SQL Server自带的数据收集工具进行数据库运维。关于自定义的数据收集项设置,后一篇介绍吧。

另外关于数据收集的DW有很多很有用的内容,如果对于大型的平台性能运维,可以借此扩展,形成自己的运维平台。

关于SQL Server自动化运维和检测的内容很广泛,其中很多都是从日常的经验中出发,一步步的从手动到自动的过程。

SQL Server自动化运维系列 - 多服务器数据收集和性能监控的更多相关文章

  1. SQL Server 自动化运维系列 - 多服务器数据收集和性能监控

    需求描述 在生产环境中,很多情况下需要采集数据,用以定位问题或者形成基线. 关于SQL Server中的数据采集有着很多种的解决思路,可以采用Trace.Profile.SQLdiag.扩展事件等诸多 ...

  2. SQL Server自动化运维系列——关于邮件通知那点事(.Net开发人员的福利)

    需求描述 在我们的生产环境中,大部分情况下需要有自己的运维体制,包括自己健康状态的检测等.如果发生异常,需要提前预警的,通知形式一般为发邮件告知. 邮件作为一种非常便利的预警实现方式,在及时性和易用性 ...

  3. SQL Server自动化运维系列——监控跑批Job运行状态(Power Shell)

    需求描述 在我们的生产环境中,大部分情况下需要有自己的运维体制,包括自己健康状态的检测等.如果发生异常,需要提前预警的,通知形式一般为发邮件告知. 在上一篇文章中已经分析了SQL SERVER中关于邮 ...

  4. SQL Server自动化运维系列——关于数据收集(多服务器数据收集和性能监控)

    需求描述 在生产环境中,很多情况下需要采集数据,用以定位问题或者形成基线. 关于SQL Server中的数据采集有着很多种的解决思路,可以采用Trace.Profile.SQLdiag.扩展事件等诸多 ...

  5. SQL Server自动化运维系列——监控磁盘剩余空间及SQL Server错误日志(Power Shell)

    需求描述 在我们的生产环境中,大部分情况下需要有自己的运维体制,包括自己健康状态的检测等.如果发生异常,需要提前预警的,通知形式一般为发邮件告知. 在所有的自检流程中最基础的一个就是磁盘剩余空间检测. ...

  6. SQL Server自动化运维系列 - 监控磁盘剩余空间及SQL Server错误日志(Power Shell)

    需求描述 在我们的生产环境中,大部分情况下需要有自己的运维体制,包括自己健康状态的检测等.如果发生异常,需要提前预警的,通知形式一般为发邮件告知. 在所有的自检流程中最基础的一个就是磁盘剩余空间检测. ...

  7. SQL Server 自动化运维系列 - 监控磁盘剩余空间及SQL Server错误日志(Power Shell)

    需求描述 在我们的生产环境中,大部分情况下需要有自己的运维体制,包括自己健康状态的检测等.如果发生异常,需要提前预警的,通知形式一般为发邮件告知. 在所有的自检流程中最基础的一个就是磁盘剩余空间检测. ...

  8. SQL Server自动化运维系列——监控性能指标脚本(Power Shell)

    需求描述 一般在生产环境中,有时候需要自动的检测指标值状态,如果发生异常,需要提前预警的,比如发邮件告知,本篇就介绍如果通过Power shell实现状态值监控 监控值范围 根据经验,作为DBA一般需 ...

  9. SQL Server自动化运维系列——批量执行SQL脚本(Power Shell)

    需求描述 一般在生产环境中,在投产的情况下,需要批量的来执行SQL脚本文件,来完成整个投产,如果投产文件比较多的情况下,无疑这是一个比较痛苦的过程,所以本篇通过PowerShell脚本来批量完成. 监 ...

随机推荐

  1. NOIP2011普及组 瑞士环 保序性

    题目链接:http://noi.openjudge.cn/ch0401/4363/ 分析:如果直接模拟,时间复杂度是O(r*nlogn)超时 然后我们发现每次一轮开始时,刚开始是保序的,然后我们可以把 ...

  2. POJ 3169 Layout 差分约束系统

    介绍下差分约束系统:就是多个2未知数不等式形如(a-b<=k)的形式 问你有没有解,或者求两个未知数的最大差或者最小差 转化为最短路(或最长路) 1:求最小差的时候,不等式转化为b-a>= ...

  3. 关于mysql的error-based injection payload

    今天用sqlmap扫一个网站,想得到一个表的所有列名,注意到sqlmap用到的一个error-based payload的: 1 AND (SELECT 3174 FROM(SELECT COUNT( ...

  4. HDU 1754 I Hate It 线段树 单点更新 区间最大值

    #include<iostream> #include<string> #include<algorithm> #include<cstdlib> #i ...

  5. Struts2使用拦截器完成权限控制示例

    http://aumy2008.iteye.com/blog/146952 Struts2使用拦截器完成权限控制示例 示例需求:    要求用户登录,且必须为指定用户名才可以查看系统中某个视图资源:否 ...

  6. Spark在集群中的安装

    今天由于所以要安装spark做一些实验.我已有的环境是: 操作系统:CentOS6.5 hadoop:hadoop2.4.1 JDK:1.7 集群环境:四个节点   闲话不说,以下是我的安装步骤: 说 ...

  7. 【Java基础】抽象类和抽象方法的总结

    什么是抽象类 抽象类是相同概念实体的一种抽象,Java中用关键字abstract来定义抽象类和抽象方法. 什么是抽象方法 只有方法的声明,没有方法的具体实现的方法. 抽象类和抽象方法的特点 抽象类和抽 ...

  8. POJ3461–Oulipo(KMP)

    题目大意 给定一个文本串和模式串,求模式串在文本串中出现的次数 题解 正宗KMP 代码: #include<iostream> #include<cstring> #inclu ...

  9. 原来DataTable的Distinct竟如此简单![转]

    本文转自:http://www.cnblogs.com/BlueFly/archive/2009/01/08/1372151.html 有时我们需要从DataTable中抽取Distinct数据,以前 ...

  10. PC-用Windows XP自带的组策略加固操作系统

    1.我的壁纸你别改==================================== 启动组策略时,单击“开始”按钮,选择“运行”命令,在“运行”文本框中输入“gpedit.msc”命令,即可启 ...