编辑推荐
适读人群:数据库管理员DBA数据库开发者网络管理员计算机专业师生
不论是互联网还是移动互联网时代,在带给人们各种便利的同时,背后是无数的数据库在为此提供服务,如火如荼的电商、社交软件、自媒体,以及万众瞩目的大数据、云计算都离不开数据库技术的支持。《SQL Server监控和诊断》从监控和诊断方面深入浅出地剖析了SQLServer数据库的各种知识,《SQL Server监控和诊断》作者也是国内核心IT社区51CTO的SQLServer版版主,拥有相当丰富的理论和实战知识,对于正在从事数据库相关行业的读者以及有志于从事相关行业的读者,有相当程度的借鉴意义和学习价值。
内容简介
SQLServer是目前应用相当广泛的关系数据库之一。《SQLServer监控和诊断》由浅入深,全面、系统地介绍了使用SQLServer进行监控和诊断的各种知识和技巧。
《SQLServer监控和诊断》阐述了SQLServer监控的体系结构及相关概念,读者可以通过学习《SQLServer监控和诊断》,对SQLServer监控有一个更高层次的认识。《SQLServer监控和诊断》讲解了SQLServer监控事件所包含的各项技术及相关应用,包括:高级诊断,深入剖析扩展事件和环形缓冲,对底层问题的诊断、分析和调优有很大帮助;跟踪数据更改,学习跟踪DML和DDL操作;SQLServer审核,能满足企业级安全需求;数据收集,讲解集中化收集各种监控指标数据的方法和实践;监控自动化,讲解各种告警类型和告警的自动化实现。
《SQLServer监控和诊断》适用于已经掌握了SQLServer基础知识,但缺少实践经验的数据库管理员,更是中级DBA的进阶必备教程。《SQLServer监控和诊断》也适用于微软认证的数据库工程师(MCSE)和微软认证讲师(MCT)准备包含SQLServer管理内容的丰富的培训课程,并且更具实战性。同时还面向希望使用SQLServer监控技术来提升自己能力的开发人员和程序员。
作者简介
许昌永,高级DBA,微软SQLServerMVP,51CTO论坛SQLServer和NoSQL版块版主,擅长SQLServer、MongoDB等数据库的开发、管理和调优。拥有十年以上SQLServer使用经验,先后获得SQLServer2008MCITP、SQLServer2012MCSE、Oracle11gOCP、MySQL5.6OCP等证书。长期致力于SQLServer数据库领域技术研究、管理和开发,积累了丰富的数据库管理、架构设计、项目实施经验。曾在51CTO博客发布了大量SQLServer技术文章,积极回复论坛问题,创建了SQLServer技术交流QQ群。
曾就职于腾讯公司,从事了六年游戏行业SQLServer数据库开发和管理,负责游戏版本相关数据库内容发布及变更需求;负责游戏数据库相关日常紧急故障处理;负责对游戏业务相关支撑及开发人员提供数据库方面技术咨询及支持;负责游戏业务数据库长期运行所需的性能优化及改进;负责游戏数据库表结构设计的建议和SQL的审核;负责游戏数据库管理相应的配套系统的建设及新技术的研究推广;承担部门内的技术培训职责,进行相应的新技术研究和应用。
现就职于跨境电商DX.COM,负责公司SQLServer和MongoDB的数据库架构设计、高可用部署、运维管理和性能优化等工作。
目前,正专注于SQLServer和MongoDB数据库、以及PowerShell领域的自动化运维、技术研究和推广工作。
目录
前言
第1章SQLServer监控介绍
1.1SQLServer监控体系架构
1.2SQLServer监控方法介绍
1.2.1在SQLServer实用工具中监控SQLServer的实例
1.2.2日志文件查看器
1.2.3监控资源使用情况
1.2.4监视事件
1.2.5数据收集
1.2.6SQLServer扩展事件
第2章SQLServer监控事件系列
2.1SQLTrace和SQLServerProfiler
2.1.1SQL跟踪(SQLTrace)简介
2.1.2SQLServer事件探查器(SQLServerProfiler)简介
2.1.3服务器端跟踪
2.1.4常用SQL跟踪事件
2.1.5常用SQLServerProfiler跟踪方法
2.1.6重放跟踪
2.1.7注意事项
2.2SQLServer默认跟踪(DefaultTrace)
2.2.1SQLServer默认跟踪简介
2.2.2捕获事件详解
2.2.3应用1——删除对象事件
2.2.4应用2——审核备份和恢复事件
2.2.5应用3——检测对表的DDL操作
2.2.6应用4——检测日志文件自动增长
2.2.7SQLServer默认跟踪报表
2.3SQLServer黑盒跟踪(BlackboxTrace)
2.3.1SQLServer黑盒跟踪介绍
2.3.2如何启用黑盒跟踪
2.3.3如何在生产环境配置
2.3.4进一步了解sqldiag
2.3.5深入进阶
2.4SQLServer事件通知(EventNotification)
2.4.1事件通知简介
2.4.2事件通知(EventNotification)实践
第3章SQLServer高级诊断系列
3.1SQLServer扩展事件
3.1.1SQLServer扩展事件体系结构
3.1.2SQLServer扩展事件概念解析
3.1.3参数选择和性能问题
3.1.4事件的生命周期
3.1.5默认扩展事件会话system_health简介
3.1.6使用system_health默认跟踪会话监控死锁
3.1.7SQLServer中如何监控死锁
(Deadlock)
3.1.8使用扩展事件跟踪监控死锁
3.1.9使用扩展事件跟踪监控死锁脚本实现
3.1.10使用扩展事件跟踪查询语句
3.1.11使用扩展事件的不同目标示例
3.2SQLServer环形缓冲区(RingBuffer)
3.2.1SQLServer环形缓冲区简介
3.2.2SQLServer的RingBuffer类型
3.2.3RINGBUFFERCONNECTIVITY的深入理解
3.2.4RING_BUFFER_RESOURCE_MONITOR诊断SQLServer内存压力
3.2.5RING_BUFFER_SCHEDULER_MONITOR获取SQL进程的CPU利用率
3.2.6RING_BUFFER_EXCEPTION跟踪异常
3.2.7RING_BUFFER_SECURITY_ERROR诊断安全相关错误
3.2.8RING_BUFFER_RESOURCE_MONITOR的应用
3.2.9RING_BUFFER_MEMORY_BROKER诊断内部内存压力
第4章SQLServer跟踪数据更改
4.1SQLServer变更数据捕获
4.1.1变更数据捕获概述
4.1.2配置变更数据捕获
4.1.3访问跟踪更改信息
4.1.4变更数据捕获实践
4.2SQLServer更改跟踪
4.2.1关于更改跟踪
4.2.2启用和禁用更改跟踪
4.2.3通过使用更改跟踪函数获取更改
4.2.4更改跟踪实践
4.2.5比较更改跟踪和变更数据捕获
4.3SQLServerDDL触发器(DDLTrigger)
4.3.1SQLServerDDL触发器简介
4.3.2创建数据库级别的DDL触发器
4.3.3创建服务器级别的DDL触发器
4.3.4触发器的安全性
第5章SQLServer审核系列
5.1SQLServerC2审核模式和通用准则(CommonCriteria)
5.1.1C2和通用准则审核简介
5.1.2C2审核模式(C2auditmode)
5.1.3符合通用准则(commoncriteriacompliance)
5.2SQLServer审核
5.2.1SQLServer审核简介
5.2.2SQLServer审核组件
5.2.3如何创建审核
5.2.4SQLServer审核与应用程序架构
5.2.5使用审核的注意事项
5.2.6创建服务器级别的审核
5.2.7创建数据库级别的审核
5.2.8审核对数据库对象的访问
5.2.9使用Transact-SQL创建审核
第6章SQLServer数据收集系列
6.1SQLServer性能计数器采集
6.1.1通过DMV采集并存储SQLServer性能计数器数据
6.1.2采集SQLServer性能计数器并用
SSRS创建报表
6.2集中化监控数据库
6.2.1使用数据收集器和中央管理服务器集中化监控数据库
6.2.2深入见解
第7章SQLServer监控自动化
7.1SQLServer告警全解析
7.1.1SQLServer告警相关专业术语
7.1.2SQLServer告警架构
7.1.3SQLServer事件告警
7.1.4SQLServer性能告警
7.1.5WMI告警
7.1.6相关日志
7.1.7可能遇到的问题
7.2监控自动化实战
7.2.1示例1:创建严重级别大于等于13的事件告警
7.2.2示例2:监控镜像的同步情况
前言/序言
《SQL Server监控和诊断》的由来我在51CTO的博客文章已经积累到一定数量,针对SQLServer管理的监控方向的研究也比较全面和详尽。所以本着知识共享的初衷,想将该专题整理成书,与广大读者分享。
《SQL Server监控和诊断》的内容结构《SQLServer监控和诊断》共7章,第1章为概述部分,阐述SQLServer监控的体系结构及相关概念。通过这一章的介绍,读者可以对SQLServer监控有一个更高层次的认识。第2章讲解SQLServer监控事件所包含的各项技术及相关应用。第3章为高级诊断,深入剖析扩展事件和环形缓冲,对底层问题的诊断、分析和调优有重大帮助。第4章为跟踪数据更改,学习跟踪DML和DDL操作。第5章为SQLServer审核,能满足企业级安全需求。第6章为数据收集,讲解集中化收集各种监控指标数据的方法和实践。第7章为监控自动化,讲解各种告警类型和告警的自动化实现。
适合的读者《SQLServer监控和诊断》是针对希望深入了解如何管理SQLServer环境的数据库管理员编写的。
适合那些已经掌握了SQLServer基础知识,但缺少实践经验的读者使用,对初学者来说更是一本进阶的必备指导用书。由于《SQLServer监控和诊断》内容繁多,读者不可能全部记牢,因此可在需要时回顾并参考相关内容,所以《SQLServer监控和诊断》对于中高级读者来说也同样适用。
《SQLServer监控和诊断》也可用于微软认证的数据库工程师(MCSE)和微软认证讲师(MCT)准备包含SQLServer管理内容的丰富的培训课程,并且更具实战性。
《SQLServer监控和诊断》还面向希望使用SQLServer监控技术来扩展自己的应用程序的开发人员和程序员。
声明《SQLServer监控和诊断》的知识体系结构的分类整理和相关专业术语源于MSDN的SQLServer部分,难免存在疏漏和值得商榷的地方,望指出和海涵。
致谢感谢我伟大的妻子和健康的儿子,感谢家里老人们的付出,对于你们我感到深深的内疚。
编者