Go 语言实现,将 SQL Server 中每个表的大小信息传输到 Prometheus

use LQtex

SELECT

t.NAME AS TableName,

p.rows AS RowCounts,

SUM(a.total_pages) * 8/1024 AS TotalSpaceMB,

SUM(a.used_pages) * 8/1024 AS UsedSpaceMB,

(SUM(a.total_pages) - SUM(a.used_pages)) * 8/1024 AS UnusedSpaceMB

FROM

sys.tables t

INNER JOIN

sys.indexes i ON t.OBJECT_ID = i.object_id

INNER JOIN

sys.partitions p ON i.object_id = p.OBJECT_ID AND i.index_id = p.index_id

INNER JOIN

sys.allocation_units a ON p.partition_id = a.container_id

WHERE

t.is_ms_shipped = 0 AND i.object_id > 255 -- 排除系统表

GROUP BY

t.NAME, p.rows

ORDER BY

TotalSpaceMB DESC`

  

posted @   zhaoguanhao  阅读(9)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
历史上的今天:
2019-12-25 webhook
点击右上角即可分享
微信分享提示