RDS SQL Server如何查看实例、数据库及表占用的空间大小呢?
查看实例空间的大小
登录RDS控制台,在基本信息页面查看实例空间情况。
查看数据库的大小
1、使用客户端连接实例,关于如何连接实例,请参见连接实例。
2、在SQL窗口中执行如下SQL语句。
use [$DB]
go
sp_spaceused @updateusage=N'true'
注:[$DB]为数据库的库名。
系统显示类似如下。
提示:字段介绍如下所示。
3、查看所有的数据库,则需要使用脚本来实现,脚本如下所示。
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
该输出结果包含日志文件的大小,查看日志文件的大小的SQL语句如下所示。
dbcc sqlperf(logspace)
系统显示类似如下。
查看数据库中表的大小
1、使用客户端连接实例,关于如何连接实例,请参见连接实例。
2、在SQL窗口中执行如下SQL语句。
use [$DB]
go
sp_spaceused N'[$Table]'
注:[$Table]为数据库的表名。
系统显示类似如下。
3、查看该库所有的表,则需要使用脚本来实现,脚本如下所示。
use [$DB]
go
declare @tabSize table(name nvarchar(100),rows char(20),reserved varchar(18) ,data varchar(18) ,index_size varchar(18) ,nnused varchar(18) )
insert into @tabSize exec sp_msforeachtable 'sp_spaceused ''?'''
select * from @tabSize order by convert(int,replace(data,'KB','')) desc,2 desc
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。