📜  mssql 显示数据库大小 - SQL (1)

📅  最后修改于: 2023-12-03 15:33:00.002000             🧑  作者: Mango

SQL:如何显示数据库大小

在SQL Server中,可以使用以下几种方法来显示数据库大小。

1. 通过Management Studio查看

SQL Server Management Studio(SSMS)提供了一种简单的方式来查看数据库大小。

  1. 打开SSMS,并连接到相应的SQL Server实例。
  2. 在“Object Explorer”窗格中,展开“Databases”文件夹。
  3. 右键单击要查看大小的数据库,然后选择“Properties”。
  4. 在“Database Properties”对话框中,选择“Storage”选项卡,即可查看该数据库的大小和空间使用情况。
2. 查询sys.master_files系统视图

可以使用sys.master_files系统视图来查看数据库的大小和空间使用情况。

SELECT
   DB_NAME(database_id) AS DatabaseName,
   Name AS LogicalName,
   Physical_Name AS PhysicalName,
   Size / 128 AS TotalSizeMB,
   CAST(FILEPROPERTY(name, 'SpaceUsed') AS INT) / 128 AS UsedSpaceMB,
   (Size / 128) - ((CAST(FILEPROPERTY(name, 'SpaceUsed') AS INT) / 128)) AS FreeSpaceMB
FROM sys.master_files
ORDER BY TotalSizeMB DESC;

此查询将返回一个包含所有数据库文件的列表,包括数据库的逻辑名称、物理名称、总大小、已使用的空间和未使用的空间。结果将按总大小降序排列。

3. 查询sys.dm_db_partition_stats动态管理视图

可以使用sys.dm_db_partition_stats动态管理视图来查看数据库中每个表和索引的大小。

SELECT 
    OBJECT_NAME(OBJECT_ID) as TableName, 
    SUM(reserved_page_count) * 8.0 / 1024 as TotalSizeMB, 
    SUM(used_page_count) * 8.0 / 1024 as UsedSpaceMB, 
    SUM((reserved_page_count - used_page_count) * 8.0) / 1024 as FreeSpaceMB
FROM 
    sys.dm_db_partition_stats
GROUP BY 
    OBJECT_ID
ORDER BY 
    TotalSizeMB DESC;

此查询将返回所有用户表和索引的列表,包括总大小、已使用的空间和未使用的空间。结果将按总大小降序排列。

以上就是在SQL Server中显示数据库大小的三种方法。