在Azure SQL DB/Azure托管实例里快速查询各数据库大小以及每个数据库下表的大小

如何在AzureSQL实例中查看数据库和表的大小
本文介绍了在AzureSQL托管实例环境下,如何通过SQL查询来查看每个数据库的空间大小以及特定数据库中每张表的行数、总空间、已使用空间和未使用空间。查询语句包括sys.master_files和sys.tables等相关系统视图。

目录

(一)前言

(二)正文

1. 环境:

2. 查看实例下每个数据库的空间大小

(1) SQL语法

(2)运行结果

3. 查看特定数据库下每张表的大小

(1)SQL语法

(2)运行结果


(一)前言

日常工作中对于各个数据库以及每一个数据库中下辖的表的大小,是我们日常监控以及分析问题的重要方向和依据。本文我将用一些例子,简单的介绍下如何查库和表的大小。

(二)正文

1. 环境:

本文采用的是Azure SQL托管实例环境,在一个实例上面下辖多个云上数据库。

2. 查看实例下每个数据库的空间大小

(1) SQL语法

SELECT DB_NAME(database_id) AS [Database Name],
[Name] AS [Logical Name],
[Physical_Name] AS [Physical Name],
((size * 8) / 1024) AS [Size(MB)],
[differential_base_time] AS [Differential Base Time] 
FROM sys.master_files 
order by 4 desc

 

(2)运行结果

重点关注Database Name/Logical Name/Size:

 

3. 查看特定数据库下每张表的大小

先切换到需要查看的数据库:

 

(1)SQL语法

SELECT
    t.NAME AS TableName,
    s.Name AS SchemaName,
    p.rows AS RowCounts,
    SUM(a.total_pages) * 8 AS TotalSpaceKB,
    CAST(ROUND(((SUM(a.total_pages) * 8) / 1024.00), 2) AS NUMERIC(36, 2)) AS TotalSpaceMB,
    SUM(a.used_pages) * 8 AS UsedSpaceKB,
    CAST(ROUND(((SUM(a.used_pages) * 8) / 1024.00), 2) AS NUMERIC(36, 2)) AS UsedSpaceMB,
    (SUM(a.total_pages) - SUM(a.used_pages)) * 8 AS UnusedSpaceKB,
    CAST(ROUND(((SUM(a.total_pages) - SUM(a.used_pages)) * 8) / 1024.00, 2) AS NUMERIC(36, 2)) 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
LEFT OUTER JOIN
    sys.schemas s ON t.schema_id = s.schema_id
WHERE
    t.NAME NOT LIKE 'dt%'
    AND t.is_ms_shipped = 0
    AND i.OBJECT_ID > 255
GROUP BY
    t.Name, s.Name, p.Rows
ORDER BY
    UsedSpaceMB desc,
    t.Name

(2)运行结果

结果包含每张表的行数统计,使用以及未使用空间大小统计等我们重点关注的方向。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值