sp_spaceused (Transact-SQL)
来源:互联网 发布:java getinstance 编辑:程序博客网 时间:2024/05/01 16:49
显示行数、保留的磁盘空间以及当前数据库中的表、索引视图或 Service Broker 队列所使用的磁盘空间,或显示由整个数据库保留和使用的磁盘空间。
Transact-SQL 语法约定
sp_spaceused [[ @objname = ] 'objname' ] [,[ @updateusage = ] 'updateusage' ]
- [ @objname =] 'objname'
请求其空间使用信息的表、索引视图或队列的限定或非限定名称。仅当指定限定对象名称时,才需要使用引号。如果提供完全限定对象名称(包括数据库名称),则数据库名称必须是当前数据库的名称。
如果未指定 objname,则返回整个数据库的结果。
objname 的数据类型为 nvarchar(776),默认值为 NULL。
- [ @updateusage =] 'updateusage'
指示应运行 DBCC UPDATEUSAGE 以更新空间使用信息。当未指定 objname 时,将对整个数据库运行该语句;否则,将对 objname 运行该语句。值可以是 true 或 false。updateusage 的数据类型为 varchar(5),默认值为 false。
0(成功)或 1(失败)
如果省略 objname ,将返回以下结果集,以提供当前数据库大小信息。
database_name
nvarchar(128)
当前数据库的名称。
database_size
varchar(18)
当前数据库的大小 (MB)。database_size 包括数据和日志文件。
unallocated space
varchar(18)
未保留供数据库对象使用的数据库空间。
reserved
varchar(18)
由数据库中对象分配的空间总量。
数据
varchar(18)
数据使用的空间总量。
index_size
varchar(18)
索引使用的空间总量。
unused
varchar(18)
为数据库中的对象保留但尚未使用的空间总量。
如果指定 objname,则将为指定对象返回以下结果集。
name
nvarchar(128)
请求其空间使用信息的对象的名称。
不返回对象的架构名称。如果需要架构名称,请使用 sys.dm_db_partition_stats 或 sys.dm_db_index_physical_stats 动态管理视图获取等价大小信息。
rows
char(11)
表中现有的行数。如果指定的对象是 Service Broker 队列,该列将指示队列中的消息数。
reserved
varchar(18)
为 objname 保留的空间总量。
数据
varchar(18)
objname 中的数据所使用的空间总量。
index_size
varchar(18)
objname 中的索引所使用的空间总量。
unused
varchar(18)
为 objname 保留但尚未使用的空间总量。
database_size 将始终大于 reserved + unallocated_space 之和,因为该值包括日志文件的大小,而 reserved 和 unallocated_space 只考虑数据页。
在这两个结果集的 index_size 中,都包括了 XML 索引和全文索引使用的页。当指定 objname 时,对象的 XML 索引和全文索引所使用的页将计算在 reserved 和 index_size 结果中。
如果为具有空间索引的数据库或对象计算空间使用情况,则空间大小列(例如 database_size、reserved 和 index_size)将包含空间索引的大小。
指定 updateusage 时,SQL Server 数据库引擎将扫描数据库中的数据页,并根据每个表所使用的存储空间对 sys.allocation_units 和 sys.partitions 目录视图进行必要的更正。在某些情况下(例如删除索引后、表的空间信息不是当前信息时),需要执行该操作。updateusage 在大型表或数据库上运行会花费一些时间。只有当怀疑所返回的值不正确,而且该进程对数据库中的其他用户或进程没有负面影响时,才应使用 updateusage。如果首选该进程,则可以单独运行 DBCC UPDATEUSAGE。
执行 sp_spaceused 的权限授予 public 角色。只有 db_owner 固定数据库角色的成员可以指定 @updateusage 参数。
A. 显示表的磁盘空间信息
以下示例报告 Vendor
表及其索引的磁盘空间信息。
USE AdventureWorks;GOEXEC sp_spaceused N'Purchasing.Vendor';GO
B. 显示数据库的已更新空间信息
下例对当前数据库中使用的空间进行了汇总,并使用可选参数 @updateusage
确保返回当前值。
USE AdventureWorks;GOEXEC sp_spaceused @updateusage = N'TRUE';GO
- sp_spaceused (Transact-SQL)
- 【SQL-码农】sp_spaceused (Transact-SQL)
- sp_spaceused (Transact-SQL) SP中涉及哪些表
- SQL SERVER sp_spaceused解析
- sp_spaceused
- TRANSACT-SQL
- Transact SQL
- Transact-SQL
- Transact-sql
- SQL Server 2016 SP_SpaceUsed 新参数@OneResultSet
- Transact-SQL (T-SQL)
- SQL sp_help (Transact-SQL)
- 【SQL】 Transact -SQL 语句
- Transact-Sql 语法约定(Transact-Sql)
- Transact-SQL 语法约定 (Transact-SQL)
- 查询SQL表占用空间(sp_spaceused 表名)
- 查询SQL表占用空间(sp_spaceused 表名) 收藏
- Transact-SQL语句总汇
- Silverlight 的 Border 控件
- 使用 Blend 来创建一个不规则 Border
- Silverlight 图形的转换
- 102 种博客标题格式
- Windows的用户管理中的用户模拟 impersonate
- sp_spaceused (Transact-SQL)
- 一个通讯录代码。提供参考,写的既不像c,又不像c++
- fatal error LNK1112: module machine type 'THUMB' conflicts with target machine type 'ARM'
- windows 2003/2008 禁用关闭事件跟踪程序 自动登录 禁用 IE 增强的安全配置
- 我们公司的新产品-创建你所需要的应用系统。
- [Hadoop系列]Hadoop的安装-1.本地模式
- 兼容IE与FF的代码运行框
- taobao1
- YAFFS文件系统简介