前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SQL SERVER 2016 query history Store 排查慢SQL 与DBA 未来

SQL SERVER 2016 query history Store 排查慢SQL 与DBA 未来

作者头像
AustinDatabases
发布2019-07-17 11:02:28
1.6K0
发布2019-07-17 11:02:28
举报
文章被收录于专栏:AustinDatabasesAustinDatabases

最近发现还有老外看我的东西, 我就纳闷了,这中文您......., 好吧精神可嘉。话归正题,与MYSQL,PG 不同的SQL SERVER 其实在慢查询排查中一直是没有什么日志的,而通过DMV 或者工具来查询总觉得和其他两种数据库比较是有一定缺陷的。

但是从SQL SERVER 2016 开始SQL SERVER 也意识到这点,添加了一个功能。如何打开和使用follow me.

1 打开 SSMS (别说不知道什么是SSMS) SQL SERVER management studio

2 点击你要记录慢查询日志的数据库-- 右键属性-- 查询存储 (query stone)

可以调整的参数,其实不多,大致可以注意一下

Query stone capture mode

size base cleanup mode

都可以设置为自动

同时可以设置一下相关数据的保存时间等等,大致看看就明白了,这里就不多讲了。在信息收集的频率和间隔上也可以进行相关的设计。

在设置完毕后,其实数据库就可以进行信息的收集了。

其中提供了几种查询方式

1 回归查询

2 总体资源使用情况

3 使用资源排名的方式

4 带有强制执行计划的方式

5 具有高度差异的查询

6 跟踪查询

从最简单的问题排查来说,首先我们可能关注的是慢查询

而慢查询有几种方式体现

1 查询时间长

2 使用物理I/O 多

3 内存占用多少

而SQL SERVER 2016 提供的功能具有所有的维度和角度来进行分析和问题的查找。

更强大的功能是可以根据历史来进行查询数据的分析和查询

通过这项技术可以解决什么样的问题

1 系统上线后或测试中遇到的语句性能问题

2 语句在执行中发生的执行计划的变换

3 语句执行中使用的性能百分比

4 查找缺失的索引的问题

5 快速分析目前服务器中的语句性能维度

以下举例

1 系统上线后1个小时发生严重的性能问题,运维报告CPU 被大量占用但具体那条语句造成的问题无法找到。

方法:

点击总体资源使用,我们找到CPU时间

举例

直接去点击我们上面图中占用CPU时间最多的矩形即可,点击后立即我们就可以发现到这条语句缺少索引。

问题2 系统已经运行了一段时间有人告知说目前系统运行缓慢,我们需要收集部分高性能语句的在不同时间段的执行次数的差距以及性能

上面的语句是一个简单的查询语句并且走了主键,但为什么他标识为有差距较大的语句我们可以,将鼠标挪移到右边有图的地方,将鼠标放置到圆点的地方。

从下图,可以清晰的看出,一条同样的语句,查询的时间可以从0.06ms 到

1888.51ms 之间的差距。而这就是我们需要关注的一些潜在或已经凸显的问题的现象。

甚至可以通过某些语句来知晓业务上的逻辑和繁忙的程度。

从上面的功能我们可以深深的感受到,类似 SQL SERVER 这样的商业数据库越来越完善,这样的数据库在一些公司里面可能越来越不需要更多的DBA ,and What 's a surprise today , the Email was from Easthome

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-07-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AustinDatabases 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档