SQL SERVER 2016查询历史记录存储排查慢的示例分析

发布时间:2021-12-30 09:36:43 作者:柒染
来源:亿速云 阅读:192

SQL SERVER 2016查询历史记录存储排查慢的示例分析,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

话归正题,与MYSQL,PG 不同的SQL SERVER 其实在慢查询排查中一直是没有什么日志的,而通过DMV 或者工具来查询总觉得和其他两种数据库比较是有一定缺陷的。

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

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

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

SQL SERVER 2016查询历史记录存储排查慢的示例分析

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

Query stone capture mode 

size base cleanup mode 

都可以设置为自动

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

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

SQL SERVER 2016查询历史记录存储排查慢的示例分析

其中提供了几种查询方式

1 回归查询

2 总体资源使用情况

3 使用资源排名的方式

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

5 具有高度差异的查询

6 跟踪查询

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

而慢查询有几种方式体现

1  查询时间长

2  使用物理I/O 多

3  内存占用多少

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

SQL SERVER 2016查询历史记录存储排查慢的示例分析

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

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

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

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

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

4  查找缺失的索引的问题

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

以下举例

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

方法:

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

举例

SQL SERVER 2016查询历史记录存储排查慢的示例分析

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

SQL SERVER 2016查询历史记录存储排查慢的示例分析

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

SQL SERVER 2016查询历史记录存储排查慢的示例分析

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

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

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

SQL SERVER 2016查询历史记录存储排查慢的示例分析

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

关于SQL SERVER 2016查询历史记录存储排查慢的示例分析问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。

推荐阅读:
  1. SQL Server存储过程
  2. [SQL Server]: 比较各个SQL Server 版本

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

sql server

上一篇:php7中如何使用yum安装redis

下一篇:ajax和fetch的区别有哪些

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》