顯示行數(shù)、保留的磁盤空間以及當前數(shù)據(jù)庫中的表所使用的磁盤空間,或顯示由整個數(shù)據(jù)庫保留和使用的磁盤空間。
sp_spaceused [[@objname =] 'objname']
[,[@updateusage =] 'updateusage']
[@objname =] 'objname'
是為其請求空間使用信息(保留和已分配的空間)的表名。objname 的數(shù)據(jù)類型是 nvarchar(776),默認設(shè)置為 NULL。
[@updateusage =] 'updateusage'
表示應(yīng)在數(shù)據(jù)庫內(nèi)(未指定 objname 時)還是在特定的對象上(指定 objname 時)運行 DBCC UPDATEUSAGE。值可以是 true 或 false。updateusage 的數(shù)據(jù)類型是 varchar(5),默認設(shè)置為 FALSE。
0(成功)或 1(失?。?/P>
如果省略 objname,則返回兩個結(jié)果集。
列名 | 數(shù)據(jù)類型 | 描述 |
---|---|---|
database_name | varchar(18) | 當前數(shù)據(jù)庫的名稱。 |
database_size | varchar(18) | 當前數(shù)據(jù)庫的大小。 |
unallocated space | varchar(18) | 數(shù)據(jù)庫的未分配空間。 |
列名 | 數(shù)據(jù)類型 | 描述 |
---|---|---|
reserved | varchar(18) | 保留的空間總量。 |
Data | varchar(18) | 數(shù)據(jù)使用的空間總量。 |
index_size | varchar(18) | 索引使用的空間。 |
Unused | varchar(18) | 未用的空間量。 |
如果指定參數(shù),則返回下面的結(jié)果集。
列名 | 數(shù)據(jù)類型 | 描述 |
---|---|---|
Name | nvarchar(20) | 為其請求空間使用信息的表名。 |
Rows | char(11) | objname 表中現(xiàn)有的行數(shù)。 |
reserved | varchar(18) | 為 objname 表保留的空間總量。 |
Data | varchar(18) | objname 表中的數(shù)據(jù)所使用的空間量。 |
index_size | varchar(18) | objname 表中的索引所使用的空間量。 |
Unused | varchar(18) | objname 表中未用的空間量。 |
sp_spaceused 計算數(shù)據(jù)和索引使用的磁盤空間量以及當前數(shù)據(jù)庫中的表所使用的磁盤空間量。如果沒有給定 objname,sp_spaceused 則報告整個當前數(shù)據(jù)庫所使用的空間。
當指定 updateusage 時,Microsoft® SQL Server™ 掃描數(shù)據(jù)庫中的數(shù)據(jù)頁,并就每個表使用的存儲空間對 sysindexes 表作出任何必要的糾正。例如會出現(xiàn)這樣一些情況:當除去索引后,表的 sysindexes 信息可能不是當前的。該進程在大表或數(shù)據(jù)庫上可能要花一些時間運行。只有當懷疑所返回的值不正確,而且該進程對數(shù)據(jù)庫中的其它用戶或進程沒有負面影響時,才應(yīng)使用該進程。如果首選該進程,則可以單獨運行 DBCC UPDATEUSAGE。
執(zhí)行權(quán)限默認授予 public 角色。
下例報告為 titles 表分配(保留)的空間量、數(shù)據(jù)使用的空間量、索引使用的空間量以及由數(shù)據(jù)庫對象保留的未用空間量。
USE pubs
EXEC sp_spaceused 'titles'
下例概括當前數(shù)據(jù)庫使用的空間并使用可選參數(shù) @updateusage。
USE pubs
sp_spaceused @updateusage = 'TRUE'
執(zhí)行權(quán)限默認授予 public 角色。
相關(guān)文章