显示数据库的数据和日志空间信息
适用于:SQL ServerAzure SQL 数据库Azure SQL 托管实例Azure Synapse AnalyticsAnalytics Platform System (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
另请参阅
SELECT (Transact-SQL)
sys.database_files (Transact-SQL)
sp_spaceused (Transact-SQL)
向数据库中添加数据文件或日志文件
删除数据库中的数据文件或日志文件
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈