`

监控 SQL Server 的运行状况/使用DMV和DMF分析数据库性能

 
阅读更多

Microsoft SQL Server 提供了一些工具来监控数据库。方法之一是动态管理视图。动态管理视图 (DMV) 和动态管理函数 (DMF) 返回的服务器状态信息可用于监控服务器实例的运行状况、诊断问题和优化性能。

常规服务器动态管理对象包括:

    dm_db_*:数据库和数据库对象
    dm_exec_*:执行用户代码和关联的连接
    dm_os_*:内存、锁定和时间安排
    dm_tran_*:事务和隔离
    dm_io_*:网络和磁盘的输入/输出

 

DMV可以解决哪些问题

看完了上面的简单的例子之后,相信朋友们对DMV有了一个感性的认识,下面,我们就来看看,利用DMV,我们可以解决哪些问题。

故障诊断

诊断就是要识别出问题的所在。有很多的方式和工具可以帮助我们达到这个目的,但是,有了DMV,可能效率会更快:没有什么比分析SQL Server内部的元数据来的更快。

很多时候,对问题的诊断也是性能调优的第一步,搞清楚了问题,才好对症下药。

利用DMV可以诊断出以下问题:最慢的查询语句,常见的等待与阻塞,没有用的索引,大量的I/O操作,利用率最低的执行计划。

正如之前所说,我们可以在不同的级别上面分析问题,例如从整个服务器级别,数据库级别,甚至是某个查询。我们可以通过在获取DMV信息时,设置获取 信息的条件来办到。例如,在上一小节的示例中,就是获取整个SQL Server中找出最慢的前20个查询,如果需要,我们完全可以将条件缩小到某个数据库。

很多时候,在识别问题的时候,不是那么容易,仅仅通过一个DMV就搞定了的,需要和DMF结合。甚至要和其他的DMV一起结合分析(在后续文章中,我们会理解的更加深刻)。

诊断出了问题,是一个方面,解决问题也尤为重要。

性能调优

性能调优主要是利用相关的技巧技术之前诊断中出现的问题,从而提升性能。我们后续会详细讲述,这里就不再赘述了。

状态监控

很多的DMV(特别是那些以 sys.dm_exec_开头的)都反映了数据库服务器执行的状态。通过查看这些DMV,我们可以清楚的知道数据库服务器的现在的状态和历史的状态(当 然,如何SQL Server服务被重启,那么之前的信息都丢失了,除非定期做了保存)。例如,数据库需要做批处理等长时间的操作,如果其中操作执行超时或运行的非常慢, 这个时候,我们就可以查询DMV来分析。如果采用Profiler或者相关的Profiler脚本跟踪,会对数据库服务器的压力相当大。再如,还可以分析 数据库中现在有哪些查询在运行,有多少请求在处理,打开多少连接等等,主要是对数据库的操作,都可以通过DMV查询到。



您可以运行以下查询来获取所有 DMV 和 DMF 名称:

SELECT * FROM sys.system_objects
WHERE name LIKE 'dm_%'
ORDER BY name
 

 

分享到:
评论

相关推荐

    使用DMV和DMF分析数据库性能.docx

    在SQL Server中,数据库性能分析是一项关键任务,用于优化数据库的运行效率和资源利用。本文档主要介绍了如何利用动态管理视图(DMV)和动态管理函数(DMF)来诊断和解决性能问题。以下是一些核心知识点: 1. **...

    监控 SQL Server 的运行状况

    动态管理视图(DMV)和动态管理函数(DMF)是 SQL Server 提供的一种机制,用于监控服务器实例的运行状况。DMV 和 DMF 返回的服务器状态信息可用于监控服务器实例的运行状况、诊断问题和优化性能。常规服务器动态...

    SQL Server DMV 使用

    SQL Server中的动态管理视图(DMV)和动态管理函数(DMF)是数据库管理员(DBA)用来监控和诊断SQL Server实例性能的有力工具。自从SQL Server 2005引入这些视图和函数之后,DBA能够使用系统提供的内置函数来获取关于...

    使用DMV对SQLServer进行性能调优

    在数据库性能调优领域,Microsoft SQL Server作为一个广泛使用的数据库管理系统,提供了一系列强大的工具和方法来分析和优化数据库性能。其中,动态管理视图(Dynamic Management Views,DMVs)和动态管理函数...

    SQL Server 2008内存及IO性能监控

    在SQL Server 2008中,内存管理和IO性能监控是数据库管理员进行系统优化和问题排查的关键环节。本文将深入探讨这两个方面的监控方法,帮助你更好地理解和管理SQL Server的资源利用。 一、内存管理 1. **内存架构**...

    Microsoft SQL Server Performance tunning with DMV

    我们需要了解的是SQL Server性能调优的精髓,以及如何利用动态管理视图(Dynamic Management Views,DMV)来监控和优化SQL Server数据库服务器的性能。 首先,我们要明确监控数据库的目的,这是为了评估服务器的...

    MSSQL性能监控SQL语句

    Microsoft SQL Server(MSSQL)作为一款广泛使用的数据库管理系统,提供了丰富的工具和方法来监控其性能。本文将深入探讨MSSQL性能监控中的几个关键SQL语句,帮助数据库管理员(DBA)和开发者更好地理解和管理MSSQL...

    通过SQL 2005 系统表监控 SQL Server 的运行状况

    接下来将详细介绍如何使用这些DMVs和DMFs来监控SQL Server的运行状况。 ### 示例查询 #### 获取所有DMV和DMF名称 ```sql SELECT * FROM sys.system_objects WHERE name LIKE 'dm_%' ORDER BY name; ``` 这条查询...

    oracle sqlserver 监控

    从会话状态和等待事件的角度,了解数据库的运行情况,供DBA和... 等待事件是基于“事实”和“数据”的,而非“推测”,结合Oracle AWR、ASH(Sqlserver DMV、Windows计数器),我们可以把性能分析变为可能的方法论。

    SQLSERVER性能调优

    7. **性能监控与诊断**:使用系统动态管理视图(DMVs)、性能计数器、SQL Server Profiler 和 Extended Events 追踪性能问题。理解这些工具的用法是定位和解决问题的基础。 8. **数据库维护**:定期执行数据库维护...

    监控_SQL_Server_2005_的运行状况

    本文将详细介绍如何使用SQL Server 2005提供的内置工具——动态管理视图(Dynamic Management Views, DMVs)和动态管理函数(Dynamic Management Functions, DMFs)来监控系统的运行状况。 #### 动态管理视图与动态管理...

    SQLServer网络数据库题

    7. **故障排查**:当遇到SQL Server网络问题时,日志分析、错误消息解读、性能计数器监控和动态管理视图(DMV)的使用都是排查问题的有效工具。 8. **高可用性与灾难恢复**:SQL Server提供多种高可用性解决方案,...

    sql server性能监控与调优一书的原代码

    SQL Server提供了许多内置工具进行监控,如SQL Server Management Studio (SSMS)中的性能计数器、动态管理视图(DMV)以及SQL Server Profiler。通过这些工具,我们可以实时查看查询执行情况,定位慢查询,分析锁...

    SQL Server 2012数据库技术与应用(微课版)-课后练习源代码.zip

    7. **性能调优**:学习索引的类型和优化,查询执行计划的分析,以及如何使用动态管理视图(DMV)监控和优化数据库性能。 8. **高可用性解决方案**:探索镜像、群集、数据库复制等技术,确保数据库服务的连续性和...

    sql server性能优化总结

    在SQL Server性能优化领域,有许多关键点和技术可以显著提升数据库系统的效率。以下是对"sql server性能优化总结"的详尽解读: 1. **查询优化**: - **索引优化**:索引是提高查询速度的关键。正确创建非聚簇和聚...

    SQL Server数据库技术大全.rar

    9. **性能监控与调优**:使用SQL Server Management Studio(SSMS)进行性能监视,识别和解决性能瓶颈,以及使用动态管理视图(DMV)进行诊断。 10. **大数据与云服务**:SQL Server与Azure集成,了解Azure SQL ...

    SQL Server数据库技术大全

    同时,SQL Server Analysis Services (SSAS) 和 Reporting Services (SSRS) 提供数据分析和报表生成能力。 10. **云服务与Azure SQL**:随着云计算的发展,SQL Server也能在Azure云平台上运行,成为Azure SQL ...

    SQL Server精华 (CHM)_sqlserver_SQLServer笔记_

    7. 性能监控与调优:通过查询分析器、动态管理视图(DMV)和性能计数器等工具,可以监控SQL Server的性能,并进行查询优化、索引调整和资源分配,以提高系统性能。 8. 安全管理:涉及用户、角色、权限的管理,以及...

Global site tag (gtag.js) - Google Analytics