SqlServer檢視各個表所佔空間大小的sql

2021-09-08 22:21:48 字數 1871 閱讀 9082

create table [dbo].#tableinfo(

表名 [varchar](50) collate chinese_prc_ci_as null,

記錄數 [int] null,

預留空間 [varchar](50) collate chinese_prc_ci_as null,

使用空間 [varchar](50) collate chinese_prc_ci_as null,

索引占用空間 [varchar](50) collate chinese_prc_ci_as null,

未用空間 [varchar](50) collate chinese_prc_ci_as null

)insert into #tableinfo(表名, 記錄數, 預留空間, 使用空間, 索引占用空間, 未用空間)

exec sp_msforeachtable "exec sp_spaceused '?'"

select * from #tableinfo

order by 記錄數 desc

drop table #tableinfo

另外一種方法:

create

table #data(name varchar(100),row varchar(100),reserved varchar(100),data varchar(100),index_size varchar(100),unused varchar(100

))

declare

@name

varchar(100

) declare cur cursor

forselect name from sysobjects where xtype='u

'order

byname

open

cur

fetch

next

from cur into

@name

while

@@fetch_status=0

begin

insert

into

#data

exec sp_spaceused @name

print

@name

fetch

next

from cur into

@name

endclose

cur

deallocate

cur

create

table #datanew(name varchar(100),row int,reserved int,data int,index_size int,unused int)

insert

into

#datanew

select name,convert(int,row) as row,convert(int,replace(reserved,'

kb','')) as reserved,convert(int,replace(data,'

kb','')) as

data,

convert(int,replace(index_size,'

kb','')) as index_size,convert(int,replace(unused,'

kb','')) as unused from

#data

select

*from #datanew order

by data desc

drop

table

#data

drop

table #datanew

SqlServer檢視各個表所佔空間大小的sql

create table dbo tableinfo 表名 varchar 50 collate chinese prc ci as null,記錄數 int null,預留空間 varchar 50 collate chinese prc ci as null,使用空間 varchar 50 co...

檢視sql server系統表資訊

select from sys.sysaltfiles 主資料庫儲存資料庫的檔案 select from sys.syscharsets 主資料庫字符集與排序順序 select from sys.sysconfigures 主資料庫配置選項 select from sys.sysconstraint...

SQL Server中各個系統表的作用

sql server中有很多自帶的系統表,這些表都有各自的作用,下面的 則分別描述了這些系統表的所屬及其作用,僅供參考。sysaltfiles 主資料庫 儲存資料庫的檔案 syscharsets 主資料庫 字符集與排序順序 sysconfigures 主資料庫 配置選項 syscurconfigs ...