欢迎光临中国护送网
详情描述

1. 使用系统存储过程 sp_spaceused

查询特定数据库的大小

USE [数据库名]
EXEC sp_spaceused

查询所有数据库的大小

EXEC sp_msforeachdb 'USE [?]; EXEC sp_spaceused'

2. 查询系统视图 sys.database_files

查看当前数据库的详细文件信息

USE [数据库名]
SELECT 
    name AS [文件名],
    type_desc AS [文件类型],
    physical_name AS [物理路径],
    size/128.0 AS [文件大小(MB)],
    FILEPROPERTY(name, 'SpaceUsed')/128.0 AS [已用空间(MB)],
    size/128.0 - FILEPROPERTY(name, 'SpaceUsed')/128.0 AS [可用空间(MB)],
    growth/128 AS [自动增长(MB)]
FROM sys.database_files

3. 查询系统视图 sys.master_files

查看所有数据库的文件信息

SELECT 
    DB_NAME(database_id) AS [数据库名],
    name AS [逻辑文件名],
    type_desc AS [文件类型],
    physical_name AS [物理路径],
    size/128.0 AS [文件大小(MB)],
    CASE max_size 
        WHEN 0 THEN '不自动增长'
        WHEN -1 THEN '增长到磁盘满'
        ELSE CAST(max_size/128.0 AS VARCHAR) + ' MB'
    END AS [最大大小]
FROM sys.master_files
ORDER BY database_id, file_id

4. 综合查询所有数据库大小

查询所有数据库的总大小

SELECT 
    name AS [数据库名],
    SUM(size)/128.0 AS [总大小(MB)],
    SUM(CASE type WHEN 0 THEN size ELSE 0 END)/128.0 AS [数据文件大小(MB)],
    SUM(CASE type WHEN 1 THEN size ELSE 0 END)/128.0 AS [日志文件大小(MB)]
FROM sys.master_files
GROUP BY database_id, name
ORDER BY [总大小(MB)] DESC

5. 查看数据库空间使用详情

详细的空间使用分析

SELECT 
    DB_NAME() AS [数据库名],
    (SELECT SUM(size)/128.0 FROM sys.database_files WHERE type = 0) AS [数据文件总大小(MB)],
    (SELECT SUM(FILEPROPERTY(name, 'SpaceUsed'))/128.0 
     FROM sys.database_files WHERE type = 0) AS [数据文件已用空间(MB)],
    (SELECT SUM(size)/128.0 FROM sys.database_files WHERE type = 1) AS [日志文件总大小(MB)],
    (SELECT SUM(FILEPROPERTY(name, 'SpaceUsed'))/128.0 
     FROM sys.database_files WHERE type = 1) AS [日志文件已用空间(MB)]

6. 使用动态管理视图 (DMV)

监控数据库文件增长

SELECT 
    DB_NAME(database_id) AS [数据库名],
    file_id,
    num_of_reads,
    num_of_writes,
    size_on_disk_bytes/1024/1024 AS [磁盘大小(MB)],
    io_stall_read_ms,
    io_stall_write_ms
FROM sys.dm_io_virtual_file_stats(NULL, NULL)

7. 实用脚本 - 生成数据库大小报告

SELECT 
    db.name AS [数据库名],
    mf.name AS [文件逻辑名],
    mf.physical_name AS [物理文件路径],
    CAST(mf.size/128.0 AS DECIMAL(10,2)) AS [当前大小(MB)],
    CAST(mf.size/128.0 - CAST(FILEPROPERTY(mf.name, 'SpaceUsed') AS INT)/128.0 
         AS DECIMAL(10,2)) AS [可用空间(MB)],
    CASE mf.is_percent_growth 
        WHEN 1 THEN CAST(mf.growth AS VARCHAR) + '%'
        ELSE CAST(mf.growth/128 AS VARCHAR) + ' MB'
    END AS [增长方式],
    CASE mf.max_size 
        WHEN 0 THEN '不增长'
        WHEN -1 THEN '无限制'
        ELSE CAST(mf.max_size/128 AS VARCHAR) + ' MB'
    END AS [最大大小]
FROM sys.databases db
INNER JOIN sys.master_files mf ON db.database_id = mf.database_id
WHERE db.name NOT IN ('master', 'model', 'msdb', 'tempdb')
ORDER BY db.name, mf.type

8. 使用 SSMS 图形界面查看

在 SSMS 中右键点击数据库 选择"属性" → "文件" 查看初始大小、自动增长设置等信息

注意事项:

单位换算:SQL Server 中的 size 字段以 8KB 页为单位,除以 128 转换为 MB 已用空间:使用 FILEPROPERTY(name, 'SpaceUsed') 获取实际使用空间 日志文件:日志文件可能会显示较大但实际使用较少 系统数据库:查询时通常排除系统数据库(master, model, msdb, tempdb)

这些方法可以根据需要选择使用,通常建议使用 sys.master_files 视图查询所有数据库信息,使用 sys.database_files 查询特定数据库的详细信息。

相关帖子
焦作市120救护车出租-长途医疗转运车出租,按公里收费
焦作市120救护车出租-长途医疗转运车出租,按公里收费
作为自由设计师或撰稿人,哪些支出可以合法列为经营成本进行扣除?
作为自由设计师或撰稿人,哪些支出可以合法列为经营成本进行扣除?
如何计算在产假期间同时符合领取工资和津贴的具体金额?
如何计算在产假期间同时符合领取工资和津贴的具体金额?
焦作市小视频制作#专业网站建设优化,多年专业建站经验
焦作市小视频制作#专业网站建设优化,多年专业建站经验
NumPy的hstack函数详细教程
NumPy的hstack函数详细教程
平顶山市房产网站建设@专业网站开发制作,模板建站
平顶山市房产网站建设@专业网站开发制作,模板建站
个人在点餐、购物和储存食物时,如何轻松践行反食品浪费法精神?
个人在点餐、购物和储存食物时,如何轻松践行反食品浪费法精神?
2026年北方地区的冬季取暖费缴费,是否有提前缴费享受折扣的相关政策?
2026年北方地区的冬季取暖费缴费,是否有提前缴费享受折扣的相关政策?
吕梁市病人长途转运救护车出租电话-长途医疗转运车出租
吕梁市病人长途转运救护车出租电话-长途医疗转运车出租
厦门市AI数字人制作短视频#专业网站设计服务,专业建站公司
厦门市AI数字人制作短视频#专业网站设计服务,专业建站公司
荆州市安卓系统app开发@开源网站二次开发,专业开发团队
荆州市安卓系统app开发@开源网站二次开发,专业开发团队
网上办理社保转移,如何查询和确认自己的缴费年限是否合并成功?
网上办理社保转移,如何查询和确认自己的缴费年限是否合并成功?
若发现信用报告上的逾期记录存在错误,正确的异议申请流程是怎样的?
若发现信用报告上的逾期记录存在错误,正确的异议申请流程是怎样的?
社会对职业教育的传统看法正在改变,2026年职场中技能人才的职业认同感如何?
社会对职业教育的传统看法正在改变,2026年职场中技能人才的职业认同感如何?
在2026年的通胀环境下,数字游民该如何规划预算和实现财务可持续?
在2026年的通胀环境下,数字游民该如何规划预算和实现财务可持续?
企业推行弹性工作制时,应如何同步建立相应的职业安全管理制度?
企业推行弹性工作制时,应如何同步建立相应的职业安全管理制度?
不同性质的工作单位(如国企、机关、集体企业)在认定标准上有何异同?
不同性质的工作单位(如国企、机关、集体企业)在认定标准上有何异同?
安阳市病人转院租救护车-长途救护车租车服务
安阳市病人转院租救护车-长途救护车租车服务
委托他人代办重要事务,如何办理一份规范有效的委托公证书?
委托他人代办重要事务,如何办理一份规范有效的委托公证书?