RDS-SQL SERVER用户控制台监控信息详解

简介:

功能详解

一. 工具

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

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

dm_db_*:数据库和数据库对象

dm_exec_*:执行用户代码和关联的连接

dm_os_*:内存、锁定和时间安排

dm_tran_*:事务和隔离

dm_io_*:网络和磁盘的输入/输出

二. Metrics

用户控制台所看到的metrics

getTfsFile (1)

磁盘空间

命令: 总空间 = 数据空间 + 日志空间 + 其它文件空间(temp)

解释: 页面显示了磁盘空间的使用量单位是GB

IOPS

命令: iopsflt.exe(自主开发)

解释: IOPS (Input/Output Operations Per Second),即每秒进行读写(I/O)操作的次数

CPU使用率

命令:利用进程pid获得此进程的cpu使用率,再用获得的cpu使用率比上用户申请的得到一个百分比

解释: IOPS (Input/Output Operations Per Second),即每秒进行读写(I/O)操作的次数

连接数

命令
select count(*) from sys.dm_exec_sessions
where is_user_process=1

and login_name not in (‘***’)

and login_name not like ‘***’
and status not in (‘Preconnect’, ‘Dormant‘)

解释
sys.dm_exec_sessions      是服务器范围的视图,显示了有关所有活动用户连接和内部任务的信息。

login_name 当前执行的会话所使用的 SQL Server 登录名。

is_user_process   用于判断是否是系统连接。

status    会话的状态。 可能的值:

Running - 当前正在运行一个或多个请求

Sleeping - 当前没有运行任何请求

Dormant – 会话因连接池而被重置,并且现在处于登录前状态。

Preconnect - 会话在资源调控器分类器中。

分类资源调控器支持对传入会话的分类。分类基于函数中包含的一组用户编写的条件。

函数逻辑的结果使资源调控器可以将会话归入现有工作负荷组类。

会话传入链接——分类(分类器函数)——路由到工作负荷组——工作负荷组使用相关联的资源池——资源池提供同时限制应用程序资源

网络流量

命令
SELECT round(SUM(net_packet_size * 1.0 * num_reads / 1024), 0) AS read_kb, round(SUM(net_packet_size * 1.0 * num_writes / 1024), 0) AS write_kb
FROM sys.dm_exec_connections
WHERE session_id IN (

SELECT session_id

FROM sys.dm_exec_sessions

WHERE is_user_process = 1

)

理解
dm_exec_connections     返回与 SQL Server 实例建立的连接有关的信息以及每个连接的详细信息。

net_packet_size  用于信息和数据的网络包的大小。可为 Null 值。

num_reads   此连接中已发生的读包次数。可为 Null 值。

num_writes  此连接中已发生的写数据包次数。可为 Null 值。

session_id    标识与此连接关联的会话。可为 Null 值。

is_user_process   用于判断是否是系统连接。

TPS

命令
SELECT cntr_value
FROM sys.dm_os_performance_counters
WHERE object_name LIKE ‘MSSQL$MS3001:database%%’
AND instance_name = ‘_Total’
AND counter_name LIKE ‘Transactions/sec%%’

理解
Database 对象提供了计数器,来监视大容量复制操作、备份和还原吞吐量以及事务日志活动。

_Total     有的计数器的instance_name中有值为_Total的实例,它是对该计数器所有实例的聚合值(SUM)。

Transactions/sec       每秒为数据库启动的事务数

QPS

命令
SELECT cntr_value
FROM sys.dm_os_performance_counters
WHERE object_name = ‘MSSQL$MS3001:SQL Statistics’
AND counter_name = ‘Batch Requests/sec’

理解
SQL Statistics      对象提供计数器来监视编译和发送到 SQL Server 实例的请求类型。通过监视查询编译和重新编译的次数以及 SQL Server 实例收到的批数,可了解 SQL Server 处理用户查询的速度,以及查询 优化器处理查询的效率。

Batch Requests/sec  每秒收到的 Transact-SQL 命令批数。

 

缓存命中率

命令
SELECT a.cntr_value * 1.0 / b.cntr_value * 100.0 AS BufferCacheHitRatio
FROM sys.dm_os_performance_counters a
JOIN (SELECT cntr_value, OBJECT_NAME
FROM sys.dm_os_performance_counters
WHERE counter_name = ‘Buffer cache hit ratio base’
AND OBJECT_NAME = ‘MSSQL$MS3001:Buffer Manager’
) b ON a.OBJECT_NAME = b.OBJECT_NAME
WHERE a.counter_name = ‘Buffer cache hit ratio’
AND a.OBJECT_NAME = ‘MSSQL$MS3001:Buffer Manager’

理解
sys.dm_os_performance_counters       为服务器维护的每个性能计数器返回一行。

counter_name    计数器的名称

OBJECT_NAME          计数器的所属类别

Buffer Manager 对象提供了计数器,用于监视 SQL Server 如何使用:内存存储数据页、内部数据结构和过程缓存; 计数器监视 SQL Server 读取和写入数据库页时的物理 I/O。

Buffer Manager中的Buffer cache hit ratio base和Buffer cache hit ratio

Buffer cache hit ratio 官方解释在缓冲区高速缓存中找到而不需要从磁盘中读取的页的百分比。

平均每秒全表扫描数

命令
SELECT cntr_value
FROM sys.dm_os_performance_counters
WHERE object_name = ‘MSSQL$MS3001:Access Methods’
AND counter_name = ‘Full Scans/sec’

理解
Access Methods       对象提供用于监视如何访问数据库中的逻辑数据的计数器。

Full Scans/sec    每秒不受限制的完全扫描数。这些扫描可以是基表扫描,也可以是全文索引扫描。

每秒SQL编译

命令
SELECT cntr_value
FROM sys.dm_os_performance_counters
WHERE object_name = ‘MSSQL$MS3001:SQL Statistics’
AND counter_name = ‘SQL Compilations/sec’

理解
每秒的 SQL 编译数。 表示编译代码路径被进入的次数。 包括 SQL Server 中语句级重新编译导致的编译。 当 SQL Server 用户活动稳定后,该值将达到稳定状态。

每秒检查点写入Page数

命令
SELECT cntr_value
FROM sys.dm_os_performance_counters
WHERE object_name = ‘MSSQL$MS3001:Buffer Manager’
AND counter_name = ‘Checkpoint pages/sec’

理解

由要求刷新所有脏页的检查点或其他操作每秒刷新到磁盘的页数。

每秒登陆次数

命令
SELECT cntr_value
FROM sys.dm_os_performance_counters
WHERE object_name = ‘MSSQL$MS3001:General Statistics’
AND counter_name = ‘Logins/sec’

理解
General Statistics 对象提供计数器,用于监视服务器范围内的常规活动

Logins/sec   每秒启动的登录数。 这不包括已入池连接。

每秒锁超时

命令
SELECT cntr_value
FROM sys.dm_os_performance_counters
WHERE object_name = ‘MSSQL$MS3001:Locks’
AND counter_name = ‘Lock Timeouts/sec’
AND instance_name = ‘_Total’

理解
Locks 对象提供了有关各种资源类型的 SQL Server 锁的信息

Lock Timeouts/sec    每秒超时的锁请求数,包括对 NOWAIT 锁的请求。

每秒死锁

命令
SELECT cntr_value
FROM sys.dm_os_performance_counters
WHERE object_name = ‘MSSQL$MS3001:Locks’
AND counter_name = ‘Number of Deadlocks/sec’
AND instance_name = ‘_Total’

理解
Number of Deadlocks/sec     每秒导致死锁的锁请求数。

每秒锁等待

命令
SELECT cntr_value
FROM sys.dm_os_performance_counters
WHERE object_name = ‘MSSQL$MS3001:Locks’
AND counter_name = ‘Lock Waits/sec’
AND instance_name = ‘_Total’

解释
Lock Waits/sec   每秒要求调用者等待的锁请求数。

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
监控 Linux 调度
Veeam ONE 13 之初见 - Web 控制台和 Veeam 监控的未来
Veeam ONE 13 之初见 - Web 控制台和 Veeam 监控的未来
341 1
Veeam ONE 13 之初见 - Web 控制台和 Veeam 监控的未来
|
人工智能 运维 关系型数据库
|
10月前
|
存储 弹性计算 关系型数据库
如何通过控制台创建RDS MySQL实例
本文介绍了通过控制台创建RDS MySQL实例的详细步骤,包括准备工作、选择计费方式、地域、实例规格、存储空间等关键配置,并指导用户完成下单与实例查看。
|
10月前
|
SQL Web App开发 安全
SQL Server 2025 年 9 月更新 - 修复 CVE-2025-47997 SQL Server 信息泄露漏洞
SQL Server 2025 年 9 月更新 - 修复 CVE-2025-47997 SQL Server 信息泄露漏洞
687 0
SQL Server 2025 年 9 月更新 - 修复 CVE-2025-47997 SQL Server 信息泄露漏洞
|
SQL Web App开发 安全
SQL Server 2025年7月更新 - 修复 CVE-2025-49718 Microsoft SQL Server 信息泄露漏洞
SQL Server 2025年7月更新 - 修复 CVE-2025-49718 Microsoft SQL Server 信息泄露漏洞
1141 0
SQL Server 2025年7月更新 - 修复 CVE-2025-49718 Microsoft SQL Server 信息泄露漏洞
|
弹性计算 人工智能 运维
阿里云操作系统控制台实战评测:提升云资源管理与监控效率
阿里云操作系统控制台是一款集成了可视化管理、问题分析和智能助手等功能的运维工具,适用于企业和个人用户。它通过统一界面监控和优化系统运行,结合AI与自动化技术,提升操作系统的使用效率和稳定性。用户无需专业运维知识即可完成系统维护和故障诊断。主要功能包括进程热度追踪、系统诊断等,提供直观的数据展示和详细的分析报告,帮助用户快速定位并解决问题。建议进一步完善操作文档和优化数据可视化效果,以提升用户体验。
371 0
|
SQL Java
使用java在未知表字段情况下通过sql查询信息
使用java在未知表字段情况下通过sql查询信息
297 8
|
SQL 监控 关系型数据库
SQL语句当前及历史信息查询-performance schema的使用
本文介绍了如何使用MySQL的Performance Schema来获取SQL语句的当前和历史执行信息。Performance Schema默认在MySQL 8.0中启用,可以通过查询相关表来获取详细的SQL执行信息,包括当前执行的SQL、历史执行记录和统计汇总信息,从而快速定位和解决性能瓶颈。
1229 1
|
存储 SQL 关系型数据库
MySQL 存储过程错误信息不打印在控制台
MySQL 存储过程错误信息不打印在控制台
395 1
|
SQL Java
使用java在未知表字段情况下通过sql查询信息
使用java在未知表字段情况下通过sql查询信息
217 1

热门文章

最新文章