--查看4小时内的CPU变化值,1分钟统计一次

DECLARE @ts_now BIGINT;

SELECT  @ts_now = ms_ticks
FROM sys.dm_os_sys_info; --select * from sys.dm_os_sys_info SELECT record_id ,
DATEADD(ms, CONVERT(BIGINT, -1) * ( @ts_now - [timestamp] ), GETDATE()) AS EventTime ,
SQLProcessUtilization SQLServer占用CPU使用率 ,
SystemIdle System的占用CPU使用率 ,
100 - SystemIdle - SQLProcessUtilization AS 其他进程占用CPU使用率
FROM ( SELECT record.value('(./Record/@id)[1]', 'int') AS record_id ,
record.value('(./Record/SchedulerMonitorEvent/SystemHealth/SystemIdle)[1]',
'int') AS SystemIdle ,
record.value('(./Record/SchedulerMonitorEvent/SystemHealth/ProcessUtilization)[1]',
'int') AS SQLProcessUtilization ,
timestamp
FROM ( SELECT timestamp ,
CONVERT(XML, record) AS record
FROM sys.dm_os_ring_buffers
WHERE ring_buffer_type = N'RING_BUFFER_SCHEDULER_MONITOR'
AND record LIKE '%<SystemHealth>%'
) AS x
) AS y
ORDER BY record_id DESC;

--查看磁盘空间大小

CREATE TABLE #a
(
id INT IDENTITY(1, 1) ,
DiskName VARCHAR(50)
); INSERT INTO #a
( DiskName
)
EXEC xp_cmdshell 'wmic LOGICALDISK get name'; CREATE TABLE #b
(
id INT IDENTITY(1, 1) ,
freespace VARCHAR(50)
); INSERT INTO #b
( freespace
)
EXEC xp_cmdshell 'wmic LOGICALDISK get freespace'; CREATE TABLE #c
(
id INT IDENTITY(1, 1) ,
size VARCHAR(50)
); INSERT INTO #c
( size
)
EXEC xp_cmdshell 'wmic LOGICALDISK get size'; SELECT 服务器名称 = @@servername ,
DiskName 磁盘,
CONVERT(BIGINT, REPLACE(size, CHAR(13), '')) / 1024 / 1024 / 1024 AS 总大小_GB ,
CONVERT(BIGINT, REPLACE(#b.freespace, CHAR(13), '')) / 1024 / 1024
/ 1024 AS 剩余大小_GB ,
CONVERT(VARCHAR, CONVERT(DECIMAL(4, 2), ( CONVERT(DECIMAL(15, 2), CONVERT(DECIMAL(15,
2), REPLACE(#b.freespace,
CHAR(13), ''))
/ 1024 / 1024 / 1024 * 100)
/ CONVERT(DECIMAL(15, 2), CONVERT(DECIMAL(15,
2), REPLACE(size,
CHAR(13), ''))
/ 1024 / 1024 / 1024) )))
+ '%' AS 剩余率
FROM #a
JOIN #b ON #a.id = #b.id
JOIN #c ON #a.id = #c.id
WHERE #a.id > 1
AND #b.freespace IS NOT NULL
AND CHARINDEX(CHAR(13), REPLACE(#b.freespace, ' ', '')) <> 1;
DROP TABLE #a;
DROP TABLE #b;
DROP TABLE #c;

用SQL语句检查CPU和磁盘空间的更多相关文章

  1. [SQL] 用SQL语句检查CPU和磁盘空间

    在MS Sql Server中可以能过以下的方法查询出磁盘空间的使用情况及各数据库数据文件及日志文件的大小及使用利用率: 1.查询各个磁盘分区的剩余空间:Exec master.dbo.xp_fixe ...

  2. SQL语句导致cpu占用如此高

    一般我们可以使用sql server自带的性能分析追踪工具sql profiler分析数据库设计所产生问题的来源,进行有针对性的处理.但我们也可以通过自己写SQL语句来有针对性的进行性能方面的查询.通 ...

  3. 解决vs 编译的bug“请检查是否是磁盘空间不足、路径无效或权限不够”

    昨晚用vs编译遇到一个问题,编译一半发现硬盘没空间,一直重启vs,重启电脑, 删除pdb文件都没用,之后尝试重新生成解决方案,就解决了.这个是vs的一个bug

  4. fatal error LNK1201:写入程序数据库“***.pdb”时出错;请检查是否是磁盘空间不足、路径无效或权限不够

    问题很简单,是因为你的程序正在运行,或者windbg工具在执行dump文件,文件被占用,所以无法写入:

  5. 检查linux的磁盘空间占用

    先初步看看哪个目录占用最大$ df -h 然后细看遍历某目录的占用情况:$ sudo du -a /data  | sort -nr | less(单位是KB)

  6. Informix 11.5 SQL 语句性能监控方法及实现

    我们知道,在数据库应用系统中,SQL 语句的性能好坏至关重要.如果 SQL 语句性能很差,可能会导致整个数据库应用系统的性能也非常差.那么,如何监控数据库系统中 SQL 语句的性能,导致 SQL 语句 ...

  7. 在优化SQL语句中使用虚拟索引

    定义:虚拟索引(virtual index) 是指没有创建对应的物理段的索引. 虚拟索引的目的:是在不损耗主机CPU,IO,磁盘空间去实际创建索引的情况下,来判断一个索引是否能够对SQL优化起到作用. ...

  8. oracle 常用sql语句

    oracle 常用sql语句 1.查看表空间的名称及大小 select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_sizefrom d ...

  9. 一次ASM磁盘空间假装耗尽 ORA-15041: DISKGROUP SPACE EXHAUSTED

    给ASM磁盘新增一块盘进去,ASM_DISK2剩余空间四百多G: SQL> select * from v$asm_diskgroup;   GROUP_NUMBER NAME         ...

随机推荐

  1. python2.7中关于编码,json格式的中文输出显示

    当我们用requests请求一个返回json的接口时候, 语法是 result=requests.post(url,data).content print type(result),result 得到 ...

  2. 几张图轻松理解String.intern()

    https://blog.csdn.net/soonfly/article/details/70147205 在翻<深入理解Java虚拟机>的书时,又看到了2-7的 String.inte ...

  3. 使用Unity制作的一个望远镜特效,在狙击手游戏中非经常见

    仅仅须要编写一个脚本文件,然后就能随意设置放大缩小的速度.以及程度.

  4. 漫谈.Net关键字系列之一Sealed与Final(转)

    转自:http://www.cnblogs.com/isline/archive/2010/08/31/1813396.html Sealed与Final修饰符其实并不是一个语言平台的产物,他们有着各 ...

  5. shell基础篇(十)shell脚本的包含

    前记 写到这里:shell中基础差不多已经讲完了.希望你已经对shell有了一个基本了解.你可能跃跃欲试,要写一些程序练习一下.这会对你很有好处.建议大家去chinaunix去学习:我是li0924. ...

  6. partition的分配策略简单代码实现

    先说说partition的好处:Partition的好处是可以并发的获取同类数据,提高效率. 第一步需要实现Partitioner对象. public class ProducerPartitione ...

  7. Navicat无法启动,提示无法启动程序,因为计算机中丢失MSVCP140.dll

    .dll是一个动态链接库文件,Dynamic Link Library,是代码的封装,提供某种功能,可以被需要该功能的多个应用调用,提高代码的复用性 解决方法,下载并安装微软VC++2015版运行库 ...

  8. lua知识点整理

    1. lua全局环境和局部环境 local cf = loadstring(" local i=0 i=i+1 print(i) ") --从后面两个输出我们可以看出,生成的函数的 ...

  9. js array.filter实例(数组去重)

    语法: 循环对数组中的元素调用callback函数, 如果返回true 保留,如果返回false 过滤掉,  返回新数组,老数组不变 var new_array = source_array.filt ...

  10. XML 和 JSON 的使用场景

    我们都知道 JSON 和 XML 设计的初衷里都包含一点是对人类友好, 所以两者在这方面属于竞争关系. 而在 UI 描述上, 我觉得 XML 是比 JSON 要优异很多. 我们先来看一组简单的数据排版 ...