--数据库隔离级别 读未提交
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; --查找每次执行时引发I/O最多的前10位的查询
SELECT TOP 10
total_logical_reads / execution_count avg_logical_reads ,
total_logical_writes / execution_count avg_logical_writes ,
total_physical_reads / execution_count avg_physical_reads ,
execution_count ,
( SELECT SUBSTRING(text, statement_start_offset / 2 + 1,
CASE WHEN statement_end_offset = -1
THEN LEN(CONVERT(NVARCHAR(MAX), text)) * 2
ELSE statement_end_offset
END - statement_start_offset / 2)
FROM sys.dm_exec_sql_text(sql_handle)
) query_text ,
plan_handle
FROM sys.dm_exec_query_stats
ORDER BY total_logical_reads + total_logical_writes DESC; --查找查询消耗时间最长的前20个查询语句
SELECT TOP 20
CAST(qs.total_elapsed_time / 1000000.0 AS DECIMAL(28, 2)) [Total Elapsed Duration(s)] ,
qs.execution_count ,
( SUBSTRING(text, statement_start_offset / 2 + 1,
CASE WHEN statement_end_offset = -1
THEN LEN(CONVERT(NVARCHAR(MAX), text)) * 2
ELSE statement_end_offset
END - statement_start_offset / 2) ) query_text ,
qp.query_plan
FROM sys.dm_exec_query_stats qs
CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) qt
CROSS APPLY sys.dm_exec_query_plan(qs.plan_handle) qp
ORDER BY qs.total_elapsed_time DESC; --缓存计划所占用的 CPU 总使用率(带 SQL 文本)
SELECT total_cpu_time ,
total_execution_count ,
number_of_statements ,
s2.text
FROM ( SELECT TOP 20
SUM(qs.total_worker_time) AS total_cpu_time ,
SUM(qs.execution_count) AS total_execution_count ,
COUNT(*) AS number_of_statements ,
qs.sql_handle --,
FROM sys.dm_exec_query_stats AS qs
GROUP BY qs.sql_handle
ORDER BY SUM(qs.total_worker_time) DESC
) AS stats
CROSS APPLY sys.dm_exec_sql_text(stats.sql_handle) AS s2; --CPU 平均占用率最高的前 20 个 SQL 语句
SELECT TOP 20
total_worker_time / execution_count AS [Avg CPU Time] ,
( SELECT SUBSTRING(text, statement_start_offset / 2,
( CASE WHEN statement_end_offset = -1
THEN LEN(CONVERT(NVARCHAR(MAX), text))
* 2
ELSE statement_end_offset
END - statement_start_offset ) / 2)
FROM sys.dm_exec_sql_text(sql_handle)
) AS query_text ,
*
FROM sys.dm_exec_query_stats
ORDER BY [Avg CPU Time] DESC; --哪个查询占用了最多的 CPU 累计使用率
SELECT highest_cpu_queries.plan_handle ,
highest_cpu_queries.total_worker_time ,
q.dbid ,
q.objectid ,
q.number ,
q.encrypted ,
q.[text]
FROM ( SELECT TOP 20
qs.plan_handle ,
qs.total_worker_time
FROM sys.dm_exec_query_stats qs
ORDER BY qs.total_worker_time DESC
) AS highest_cpu_queries
CROSS APPLY sys.dm_exec_sql_text(plan_handle) AS q
ORDER BY highest_cpu_queries.total_worker_time DESC;

通过sql的DMV查看数据库使用状态的更多相关文章

  1. SQL Server:查看数据库用户权限(SQL 2005)

    1. 查看 SQL 2005 用户所属数据库角色 use yourdb go select DbRole = g.name, MemberName = u.name, MemberSID = u.si ...

  2. Sql Server之使用T_SQL创建,修改,查看数据库信息

    一.使用Transact_SQL创建数据库 Transact_SQL语法如下:  create database database_name   [ on     [primary]  [<fi ...

  3. SQL中查看数据库各表的大小

    SQL中查看数据库各表的大小 编写人:CC阿爸 2014-6-17 在日常SQL数据库的操作中,如何快速的查询数据库中各表中数据的大小. 以下有两种方法供参考: 第一种: create table # ...

  4. 【转载】 Sqlserver查看数据库死锁的SQL语句

    在Sqlsever数据库中,有时候操作数据库过程中会进行锁表操作,在锁表操作的过程中,有时候会出现死锁的情况出现,这时候可以使用SQL语句来查询数据库死锁情况,主要通过系统数据库Master数据库来查 ...

  5. SQL SERVER 查看数据库信息

    a.使用sys.database_files查看有关数据库文件的信息 b.使用sys.filegroups查看有关数据库组的信息. c.使用sys.master_files 查看数据库文件的基本信息和 ...

  6. SQL Server 游标运用:查看数据库所有表大小信息

    一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 实现代码(SQL Codes) 方法一:运用游标 方法二:运用系统存储过程 方法三:拼接SQL ...

  7. SQL Server 查看数据库在数据缓存(data cache)中占用的空间大小

    use master go select * from sys.dm_os_buffer_descriptors go --查看数据库在数据缓存(data cache)中占用的空间大小 --由于每个数 ...

  8. SQL 查看数据库表的容量大小

    --==============查看数据库表的容量大小========start================================?============ Create Table # ...

  9. Oracle—通过操作系统进程查看数据库sql语句

    工作中遇到一个问题,某报表运行时间特别长,通过操作系统可以看到一个oracle进程消耗资源比较大,如何能够通过该操作系统进程找到具体SQL呢.记录如下: 1.查看Linux系统进程号 可以通过top动 ...

随机推荐

  1. Nginx 简易教程

    Nginx 本项目是一个 Nginx 极简教程,目的在于帮助新手快速入门 Nginx. demos 目录中的示例模拟了工作中的一些常用实战场景,并且都可以通过脚本一键式启动,让您可以快速看到演示效果. ...

  2. Python Web Server Gateway Interface -- WSGI

    了解了HTTP协议和HTML文档,我们其实就明白了一个Web应用的本质就是: 浏览器发送一个HTTP请求: 服务器收到请求,生成一个HTML文档: 服务器把HTML文档作为HTTP响应的Body发送给 ...

  3. 浏览器内核、渲染引擎、JS引擎简介

    一.定义 浏览器内核分成两部分:渲染引擎和JS引擎. 由于JS引擎越来越独立,浏览器内核 就倾向于 单指 渲染引擎.  渲染引擎是一种对HTML文档进行解析并将其显示在页面上的工具.(说白了,就是按照 ...

  4. opencv2函数学习之flip:实现图像翻转

    在opencv2中,flip函数用来进行图片的翻转,包括水平翻转,垂直翻转,以及水平垂直翻转. void flip(const Mat& src, Mat& dst, int flip ...

  5. redis的高级事务CAS(乐观锁)

    Optimistic locking using check-and-set(乐观锁) 乐观锁介绍:watch指令在redis事物中提供了CAS的行为.为了检测被watch的keys在是否有多个cli ...

  6. GitLab 修改主机名,更换 IP 配置,配置 SMTP

    # find / -name gitlab.yml /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml /var/opt/gitla ...

  7. java学习-http中get请求的非ascii参数如何编码解码探讨

    # 背景: 看着别人项目代码看到一个PathUtils工具类, 里面只有一个方法,String  rebuild(String Path),将路径进行URLDecoder.decode解码,避免路径中 ...

  8. mysql通信协议的半双工机制理解

    一.通信知识中的半双工概念 通信的方式分为:单工通信,半双工,全双工. 全双工的典型例子是:打电话.电话在接到声音的同时也会传递声音.在一个时刻,线路上允许两个方向上的数据传输.网卡也是双工模式.在接 ...

  9. Oracle Comment 获取并修改表或字段注释

    select * from dba_tables where owner = 'DINGYINGSI'; select * from user_col_comments where table_nam ...

  10. gitlab之gitlab-ci和gitlab-runner<二>

    1.使用 该版未接入k8s,下一篇会写接入k8s. 配置项目使用gitlab-ci和gitlab-runner,在项目的根目录中添加.gitlab-ci.yml文件,用于触发pipeline. .ho ...