用SQL语句检查CPU和磁盘空间
--查看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; |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具