1. 查看空间使用的 SQL
RDS For SQL Server 查看所有数据库使用空间的方法。
使用SQL Server R2 中的 SQL Server Management Studio工具连接到RDS。
新建查询,执行如下sql。
USE master
go
DECLARE @insSize TABLE(dbName sysname,checkTime VARCHAR(19),dbSize VARCHAR(50),logSize VARCHAR(50))
INSERT INTO @insSize ( dbName, checkTime, dbSize, logSize )
EXEC sp_msforeachdb 'select ''?'' dbName,CONVERT(VARCHAR(19),GETDATE(),120) checkTime,LTRIM(STR(SUM(CASE WHEN RIGHT(FILENAME,3)<>''ldf'' THEN convert (dec (15,2),size) * 8 / 1024 ELSE 0 END),15,2)+'' MB'') dbSize,
LTRIM(STR(SUM(CASE WHEN RIGHT(FILENAME,3)=''ldf'' THEN convert (dec (15,2),size) * 8 / 1024 ELSE 0 END),15,2)+'' MB'') logSize from ?.dbo.sysfiles'
SELECT * FROM @insSize ORDER BY CONVERT(DECIMAL,LTRIM(RTRIM(SUBSTRING(dbSize,1,LEN(dbSize)-2)))) DESC
2. 查询结果说明
数据库的大小是 dbSize + logSize 即数据大小与日志大小的总和。
如果问题还未能解决,请联系
售后技术支持
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
在RDS for SQL Server环境中,要查看所有数据库的使用空间,您可以利用T-SQL脚本通过SQL Server Management Studio (SSMS) 工具执行以下查询:
USE master;
GO
DECLARE @insSize TABLE(
dbName sysname,
checkTime VARCHAR(19),
dbSize VARCHAR(50),
logSize VARCHAR(50)
);
INSERT INTO @insSize (dbName, checkTime, dbSize, logSize)
EXEC sp_msforeachdb '
SELECT ''?'' AS dbName,
CONVERT(VARCHAR(19), GETDATE(), 120) AS checkTime,
LTRIM(STR(SUM(CASE WHEN RIGHT(FILENAME, 3) <> ''ldf'' THEN convert(dec(15, 2), size) * 8 / 1024 ELSE 0 END), 15, 2) + '' MB'') AS dbSize,
LTRIM(STR(SUM(CASE WHEN RIGHT(FILENAME, 3) = ''ldf'' THEN convert(dec(15, 2), size) * 8 / 1024 ELSE 0 END), 15, 2) + '' MB'') AS logSize
FROM ?.dbo.sysfiles';
SELECT * FROM @insSize
ORDER BY CONVERT(DECIMAL, LTRIM(RTRIM(SUBSTRING(dbSize, 1, LEN(dbSize) - 2)))) DESC;
此脚本首先声明了一个临时表@insSize
来存储每个数据库的名称、检查时间、数据大小(dbSize
)和日志大小(logSize
)。接着,它使用系统存储过程sp_msforeachdb
遍历所有数据库,并从sysfiles
系统表中汇总每个数据库的数据文件和日志文件大小,最后按数据大小降序排序并展示结果。
查询结果说明
dbName
: 数据库名称。
checkTime
: 查询执行的时间。dbSize
: 数据库的数据文件总大小(不包括日志),以MB为单位。logSize
: 数据库的日志文件总大小,以MB为单位。数据库的总大小可以通过将dbSize
与logSize
相加得到,这表示了该数据库占用的总磁盘空间,包括数据和日志部分。
如果在执行上述步骤后仍有疑问或问题未解决,请联系售后技术支持获取进一步的帮助。