数据库空间大小的查询语句

sp_spaceused
显示行数、保留的磁盘空间以及当前数据库中的表所使用的磁盘空间,或显示由整个数据库保留和使用的磁盘空间。

语法
sp_spaceused
[[@objname =] 'objname'
]
   
[,[@updateusage =] 'updateusage'
]

参数
[@objname =] 'objname'


是为其请求空间使用信息(保留和已分配的空间)的表名。objname 的数据类型是
nvarchar(776),默认设置为 NULL

[@updateusage =] 'updateusage'


表示应在数据库内(未指定 objname 时)还是在特定的对象上(指定 objname 时)运行
DBCC UPDATEUSAGE。值可以是 true 或 false。updateusage 的数据类型是 varchar(5),默认设置为 FALSE。

返回代码值
0(成功)或 1
(失败)

结果集
如果省略 objname,则返回两个结果集。

列名 数据类型 描述
database_name
varchar(18
) 当前数据库的名称。
database_size
varchar(18
) 当前数据库的大小。
unallocated
space varchar(18
) 数据库的未分配空间。

列名 数据类型 描述
reserved
varchar(18
) 保留的空间总量。
Data
varchar(18
) 数据使用的空间总量。
index_size
varchar(18
) 索引使用的空间。
Unused
varchar(18
) 未用的空间量。


如果指定参数,则返回下面的结果集。

列名 数据类型 描述
Name
nvarchar(20
) 为其请求空间使用信息的表名。
Rows
char(11
) objname 表中现有的行数。
reserved
varchar(18
) 为 objname 表保留的空间总量。
Data
varchar(18
) objname 表中的数据所使用的空间量。
index_size
varchar(18
) objname 表中的索引所使用的空间量。
Unused
varchar(18
) objname 表中未用的空间量。


注释
sp_spaceused 计算数据和索引使用的磁盘空间量以及当前数据库中的表所使用的磁盘空间量。如果没有给定 objname,sp_spaceused 则报告整个当前数据库所使用的空间。

当指定 updateusage 时,Microsoft® SQL Server™ 扫描数据库中的数据页,并就每个表使用的存储空间对 sysindexes 表作出任何必要的纠正。例如会出现这样一些情况:当除去索引后,表的 sysindexes 信息可能不是当前的。该进程在大表或数据库上可能要花一些时间运行。只有当怀疑所返回的值不正确,而且该进程对数据库中的其它用户或进程没有负面影响时,才应使用该进程。如果首选该进程,则可以单独运行
DBCC
UPDATEUSAGE。

权限
执行权限默认授予
public
角色。

示例
A. 有关表的空间信息
下例报告为 titles 表分配(保留)的空间量、数据使用的空间量、索引使用的空间量以及由数据库对象保留的未用空间量。

USE
pubs
EXEC sp_spaceused 'titles'


B. 有关整个数据库的已更新空间信息
下例概括当前数据库使用的空间并使用可选参数
@updateusage

USE
pubs
sp_spaceused
@updateusage = 'TRUE'


权限
执行权限默认授予
public 角色。

DBCC SQLPERF
提供有关所有数据库中的事务日志空间使用情况的统计信息。

语法
DBCC
SQLPERF ( LOGSPACE )

注释
事务日志积累每个数据库中数据的更改信息。由
DBCC
SQLPERF(LOGSPACE) 返回的信息可用于监视使用的空间大小,并指明何时对事务日志进行备份或截断。

结果集
下表描述结果集内的列。

列名 定义
Database
Name 数据库名称,为该数据库显示日志统计信息。
Log
Size (MB) 日志的可用空间的实际大小。该大小比当初为日志空间分配的要小,因为 Microsoft® SQL Server™ 保留一小部分磁盘空间用于内部头信息。
Log Space Used (%
) 事务日志信息当前所占用的日志文件的百分比。
Status 日志文件状态(总是包含
0
)。


权限
DBCC
SQLPERF 对任何用户默认权限。

示例
下例显示当前安装的所有数据库的 LOGSPACE 信息。

DBCC
SQLPERF(LOGSPACE)
GO


下面是结果集:

Database Name Log Size (MB) Log Space Used (%) Status     
------------- ------------- ------------------ -----------

pubs                1.99219            4.26471           0
msdb               
3.99219            17.0132           0

tempdb             
1.99219            1.64216           0

model                  
1.0            12.7953           0

master             
3.99219            14.3469           0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值