1.获取有关按平均CPU 时间排在最前面的五个查询的信息

  1. SELECT TOP 5 total_worker_time/execution_count AS [Avg CPU Time],
  2. SUBSTRING(st.text, (qs.statement_start_offset/2)+1,
  3. ((CASE qs.statement_end_offset
  4. WHEN -1 THEN DATALENGTH(st.text)
  5. ELSE qs.statement_end_offset
  6. END - qs.statement_start_offset)/2) + 1) AS statement_text
  7. FROM sys.dm_exec_query_stats AS qs
  8. CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) AS st
  9. ORDER BY total_worker_time/execution_count DESC;

1.获取有关按平均CPU 时间排在最前面的五个查询的信息

2.返回按批执行的SQL 查询的文本,并提供有关它们的统计信息。

  1. SELECT top 20
  2. s2.dbid,
  3. (SELECT TOP 1 SUBSTRING(s2.text,statement_start_offset / 2+1 ,
  4. ( (CASE WHEN statement_end_offset = -1
  5. THEN (LEN(CONVERT(nvarchar(max),s2.text)) * 2)
  6. ELSE statement_end_offset END) - statement_start_offset) / 2+1)) AS sql_statement,
  7. execution_count,
  8. plan_generation_num,
  9. last_execution_time,
  10. total_worker_time,
  11. last_worker_time,
  12. min_worker_time,
  13. max_worker_time,
  14. total_physical_reads,
  15. last_physical_reads,
  16. min_physical_reads,
  17. max_physical_reads,
  18. total_logical_writes,
  19. last_logical_writes,
  20. min_logical_writes,
  21. max_logical_writes
  22. FROM sys.dm_exec_query_stats AS s1
  23. CROSS APPLY sys.dm_exec_sql_text(sql_handle) AS s2
  24. WHERE s2.objectid is null
  25. ORDER BY (total_worker_time/execution_count) desc,execution_count desc;

2.返回按批执行的SQL 查询的文本,并提供有关它们的统计信息

3.为变更数据捕获日志扫描会话中遇到的每个错误返回一行

  1. select * from sys.dm_cdc_errors

为变更数据捕获日志扫描会话中遇到的每个错误返回一行

4.返回有关在服务器上打开时间超过指定时间(小时)的游标的信息

  1. SELECT creation_time, cursor_id, name, c.session_id, login_name
  2. FROM sys.dm_exec_cursors(0) AS c
  3. JOIN sys.dm_exec_sessions AS s ON c.session_id = s.session_id
  4. WHERE DATEDIFF(hh, c.creation_time, GETDATE()) > 36;

4.返回有关在服务器上打开时间超过指定时间(小时)的游标的信息

5.查找连接到服务器的用户

  1. SELECT login_name ,COUNT(session_id) AS session_count
  2. FROM sys.dm_exec_sessions
  3. GROUP BY login_name;

查找连接到服务器的用户

6.查找长时间运行的游标

  1. USE master;
  2. GO
  3. SELECT creation_time ,cursor_id
  4. ,name ,c.session_id ,login_name
  5. FROM sys.dm_exec_cursors(0) AS c
  6. JOIN sys.dm_exec_sessions AS s
  7. ON c.session_id = s.session_id
  8. WHERE DATEDIFF(mi, c.creation_time, GETDATE()) > 5;

6.查找长时间运行的游标

7.查找具有已打开事务的空闲会话

  1. SELECT s.*
  2. FROM sys.dm_exec_sessions AS s
  3. WHERE EXISTS
  4. (
  5. SELECT *
  6. FROM sys.dm_tran_session_transactions AS t
  7. WHERE t.session_id = s.session_id
  8. )
  9. AND NOT EXISTS
  10. (
  11. SELECT *
  12. FROM sys.dm_exec_requests AS r
  13. WHERE r.session_id = s.session_id
  14. );

查找具有已打开事务的空闲会话

8.返回前五个查询的SQL 语句文本和平均CPU 时间

  1. SELECT TOP 5 total_worker_time/execution_count AS [Avg CPU Time],
  2. SUBSTRING(st.text, (qs.statement_start_offset/2)+1,
  3. ((CASE qs.statement_end_offset
  4. WHEN -1 THEN DATALENGTH(st.text)
  5. ELSE qs.statement_end_offset
  6. END - qs.statement_start_offset)/2) + 1) AS statement_text
  7. FROM sys.dm_exec_query_stats AS qs
  8. CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) AS st
  9. ORDER BY total_worker_time/execution_count DESC;

8.返回前五个查询的SQL 语句文本和平均CPU 时间

9.显示锁信息

  1. SELECT spid,
  2. blocked,
  3. waitresource,
  4. lastwaittype,
  5. a.[Text] AS [TextData],
  6. SUBSTRING(A.text, sp.stmt_start / 2,
  7. (CASE WHEN sp.stmt_end = -1
  8. THEN DATALENGTH(A.text)
  9. ELSE sp.stmt_end END - sp.stmt_start) / 2
  10. ) AS [current_cmd],
  11. DB_NAME(sp.dbid) AS DBName,
  12. program_name,
  13. sp.loginame,
  14. sp.hostname
  15. FROM
  16. (
  17. select *
  18. from sys.sysprocesses b
  19. where exists (select 1
  20. from sys.sysprocesses s
  21. where b.spid = s.blocked
  22. and s.blocked > 0)
  23. union
  24. select *
  25. from sys.sysprocesses s
  26. where s.blocked > 0
  27. ) AS sp OUTER APPLY sys.dm_exec_sql_text (sp.sql_handle) AS A
  28. ORDER BY blocked DESC, DB_NAME(sp.dbid) ASC, a.[text];

9.1查询锁与Sql语句

  1. SELECT resource_type, resource_associated_entity_id,
  2. request_status, request_mode,request_session_id,
  3. resource_description
  4. FROM sys.dm_tran_locks
  5. --WHERE resource_database_id = 6

9.2显示锁信息

  1. select request_session_id spid,
  2. OBJECT_NAME(resource_associated_entity_id) tableName
  3. from sys.dm_tran_locks
  4. where resource_type='OBJECT'
  5. ;

9.3查询被锁对象

  1. declare @spid int
  2. Set @spid = 57 --锁表进程
  3. declare @sql varchar(1000)
  4. set @sql='kill '+cast(@spid as varchar)
  5. exec(@sql)

9.4解锁:

10.显示阻塞信息

  1. SELECT
  2. t1.resource_type,
  3. t1.resource_database_id,
  4. t1.resource_associated_entity_id,
  5. t1.request_mode,
  6. t1.request_session_id,
  7. t2.blocking_session_id
  8. FROM sys.dm_tran_locks as t1
  9. INNER JOIN sys.dm_os_waiting_tasks as t2
  10. ON t1.lock_owner_address = t2.resource_address;

10.显示阻塞信息

11.查询SQL与进程

  1. SELECT spid,
  2. blocked,
  3. DB_NAME(sp.dbid) AS DBName,
  4. program_name,
  5. waitresource,
  6. lastwaittype,
  7. sp.loginame,
  8. sp.hostname,
  9. a.[Text] AS [TextData],
  10. SUBSTRING(A.text, sp.stmt_start / 2,
  11. (CASE WHEN sp.stmt_end = -1 THEN DATALENGTH(A.text) ELSE sp.stmt_end
  12. END - sp.stmt_start) / 2) AS [current_cmd]
  13. FROM sys.sysprocesses AS sp OUTER APPLY sys.dm_exec_sql_text (sp.sql_handle) AS A
  14. WHERE spid > 50
  15. ORDER BY blocked DESC, DB_NAME(sp.dbid) ASC, a.[text];

查询SQL与进程

12.清理缓存与查询执行计划

  1. dbcc freeproccache
  2. select * from sys.dm_exec_query_stats
  3. select * from sys.dm_exec_cached_plans

3.清理缓存与查询执行计划

DBCC用来清空执行计划缓存,后面两个查询语句主要用来确定执行计划缓存是不是清空

SQL Server DBA日常查询视图_数据库性能视图的更多相关文章

  1. SQL Server DBA日常查询视图_数据库对象视图

    1.数据库 use master; exec sp_helpdb 1.1查询数据库大小 1.2查询数据库状态 use msdb select name, user_access_desc, --用户访 ...

  2. SQL Server DBA日常运维语句

    1.检查数据库完整性 dbcc checkdb(Portal) 检查数据库完整性checkdb Portal的 DBCC 结果. Service Broker 消息 9675,状态 1: 已分析的消息 ...

  3. 【SQL Server DBA】日常巡检语句3:特定监控(阻塞、top语句、索引、作业)

    原文:[SQL Server DBA]日常巡检语句3:特定监控(阻塞.top语句.索引.作业) 1.查询阻塞信息.锁定了哪些资源 --1.查看阻塞信息 select spid,loginame,wai ...

  4. 一名小小的SQL Server DBA想谈一下SQL Server的能力

    一名小小的SQL Server DBA想谈一下SQL Server的能力 百度上暂时还没有搜索到相关的个人写的比较有价值的文章,至少在中文网络的世界里面没有 但是在微软的网站有这样一篇文章:<比 ...

  5. 第三篇——第二部分——第五文 配置SQL Server镜像——域环境SQL Server镜像日常维护

    本文接上面两篇搭建镜像的文章: 第三篇--第二部分--第三文 配置SQL Server镜像--域环境:http://blog.csdn.net/dba_huangzj/article/details/ ...

  6. SQL Server 2012:SQL Server体系结构——一个查询的生命周期(第3部分)(完结)

    一个简单的更新查询 现在应该知道只读取数据的查询生命周期,下一步来认定当你需要更新数据时会发生什么.这个部分通过看一个简单的UPDATE查询,修改刚才例子里读取的数据,来回答. 庆幸的是,直到存取方法 ...

  7. 【转】SQL Server T-SQL高级查询

    SQL Server T-SQL高级查询 高级查询在数据库中用得是最频繁的,也是应用最广泛的. Ø 基本常用查询 --select select * from student; //查询student ...

  8. 2年SQL Server DBA调优方面总结

    原文:2年SQL Server DBA调优方面总结 2年SQL Server DBA调优方面总结 当2年dba 我觉得,有些东西需要和大家分享探讨,先书单. 书单 1.<深入解析SQL Serv ...

  9. Sql Server 存储过程中查询数据无法使用 Union(All)

    原文:Sql Server 存储过程中查询数据无法使用 Union(All) 微软Sql Server数据库中,书写存储过程时,关于查询数据,无法使用Union(All)关联多个查询. 1.先看一段正 ...

随机推荐

  1. 【ros】rplidar Hector Slam

    想用rplidar跑一下hector slam,在网上发现了几个教程写的都不错,但是亲测发现都有点不足,综合了一下,进行补充. 1. 安装ros 和 创建工作空间 http://blog.csdn.n ...

  2. ruby bundle config 镜像映射配置

    新增映射 : bundle config mirror.https://rubygems.org/ http://ruby.taobao.com #所有对source https://rubygems ...

  3. 详解应对平台高并发的分布式调度框架TBSchedule

    转载: 详解应对平台高并发的分布式调度框架TBSchedule

  4. JDE 增加合计列

  5. 完美实现跨域Iframe高度自适应【Iframe跨域高度自适应解决方案】

    Iframe的强大功能偶就不多说了,它不但被开发人员经常运用,而且黑客们也常常使用它,总之用过的人知道它的强大之处,但是Iframe有个致命的“BUG”就是iframe的高度无法自动适应,这一点让很多 ...

  6. [转]Jenkins Xcode打包ipa

    本地打包. 如果Mac 上没有安装brew.先安装:ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/ins ...

  7. WCF初探-4:WCF消息交换模式之请求与答复模式

    请求与答复模式( Request/Reply) 这种交换模式是使用最多的一中,它有如下特征: 调用服务方法后需要等待服务的消息返回,即便该方法返回 void 类型 相比Duplex来讲,这种模式强调的 ...

  8. RHCE 系列(一):如何设置和测试静态网络路由

    RHCE(Red Hat Certified Engineer,红帽认证工程师)是红帽公司的一个认证,红帽向企业社区贡献开源操作系统和软件,同时它还给公司提供训练.支持和咨询服务. 这个 RHCE 是 ...

  9. 关于this,super的来源猜想

    this:this可以在成员函数中引用,调用成员函数函数,一般都是 obj.fun(): 这个成员函数的执行者就是当前类的对象, 所以,this应该是由此传递的. super:相对于this, 却不应 ...

  10. DDOS的攻击原理和防护指南(转)

    DDOS的攻击原理和防护指南 作者:冰盾防火墙 网站:www.bingdun.com 日期:2008-01-07   我们现在来分析DDOS的攻击原理.     首先,DDOS是英文Distribut ...