显示数据库的数据和日志空间信息
适用于: SQL Server Azure SQL 数据库 Azure SQL 托管实例 Azure Synapse Analytics 分析平台系统 (PDW)
本文介绍了如何使用 SQL Server Management Studio 或 Transact-SQL 在 SQL Server 中显示数据库的数据和日志空间信息。
开始之前
执行 sp_spaceused 的权限授予 public 角色。 只有 db_owner 固定数据库角色的成员可以指定 @updateusage 参数。
使用 SQL Server Management Studio
显示数据库的数据和日志空间信息
在对象资源管理器中,连接到某个 SQL Server 实例,然后展开该实例。
展开 “数据库” 。
右键单击某个数据库,依次指向“报表”和“标准报表”,然后选择“磁盘使用情况”。
使用 Transact-SQL
使用 sp_spaceused 显示数据库的数据和日志空间信息
连接到 数据库引擎。
在标准工具栏上,选择“新建查询”。
将以下示例粘贴到查询窗口中,然后选择“执行”。 该示例使用 sp_spaceused 系统存储过程报告整个数据库(表和索引)的磁盘空间信息。
USE AdventureWorks2022; GO EXEC sp_spaceused; GO
显示数据库的对象和分配单元使用的数据空间
连接到 数据库引擎。
在标准工具栏上,选择“新建查询”。
将以下示例粘贴到查询窗口中,然后选择“执行”。 此示例查询对象目录视图,以报告每个表和每个表内每个分配单元的磁盘空间使用情况。
SELECT t.object_id, OBJECT_NAME(t.object_id) ObjectName, sum(u.total_pages) * 8 Total_Reserved_kb, sum(u.used_pages) * 8 Used_Space_kb, u.type_desc, max(p.rows) RowsCount FROM sys.allocation_units u JOIN sys.partitions p on u.container_id = p.hobt_id JOIN sys.tables t on p.object_id = t.object_id GROUP BY t.object_id, OBJECT_NAME(t.object_id), u.type_desc ORDER BY Used_Space_kb desc, ObjectName;
通过查询 sys.database_files 显示数据库的数据和日志空间信息
连接到 数据库引擎。
在标准工具栏上,选择“新建查询”。
将以下示例粘贴到查询窗口中,然后选择“执行”。 此示例查询 sys.database_files 目录视图以便返回与
AdventureWorks2022
数据库中的数据和日志文件有关的特定信息。USE AdventureWorks2022; GO SELECT file_id, name, type_desc, physical_name, size, max_size FROM sys.database_files; GO