Sqlserver查詢出所有表的大小使用情況
第一種方法:
先查詢出源表資料:
select 'insert into @tmp exec sp_spaceused '+name From sys.tables with(nolock) order by create_date desc;
建立臨時表並把查詢出來的源表資料insert進入臨時表,再查詢出來最後臨時表裡面的資料:
declare @tmp table(tbname varchar(255),tbrows int,reserved varchar(255),datatb varchar(255),index_size varchar(255),unused varchar(255))
insert into @tmp exec sp_spaceused table1
insert into @tmp exec sp_spaceused table2
insert into @tmp exec sp_spaceused table3
insert into @tmp exec sp_spaceused table4
insert into @tmp exec sp_spaceused table5
insert into @tmp exec sp_spaceused table6
insert into @tmp exec sp_spaceused table7
insert into @tmp exec sp_spaceused table8
insert into @tmp exec sp_spaceused table9
insert into @tmp exec sp_spaceused table10
select * from @tmp order by cast(replace(reserved,' KB','') as bigint) desc
得出最後想要的資料結果。
第二種方法:
select
tb.name as tbname
,ps.reserved_page_count * 8 as KB
,ps.row_count
From
sys.dm_db_partition_stats ps with(nolock)
,sys.tables tb with(nolock)
where
ps.object_id=tb.object_id
and tb.create_date >= '2017-10-23 21:44:15.010'
order by
ps.reserved_page_count desc
先查詢出源表資料:
select 'insert into @tmp exec sp_spaceused '+name From sys.tables with(nolock) order by create_date desc;
建立臨時表並把查詢出來的源表資料insert進入臨時表,再查詢出來最後臨時表裡面的資料:
declare @tmp table(tbname varchar(255),tbrows int,reserved varchar(255),datatb varchar(255),index_size varchar(255),unused varchar(255))
insert into @tmp exec sp_spaceused table1
insert into @tmp exec sp_spaceused table2
insert into @tmp exec sp_spaceused table3
insert into @tmp exec sp_spaceused table4
insert into @tmp exec sp_spaceused table5
insert into @tmp exec sp_spaceused table6
insert into @tmp exec sp_spaceused table7
insert into @tmp exec sp_spaceused table8
insert into @tmp exec sp_spaceused table9
insert into @tmp exec sp_spaceused table10
select * from @tmp order by cast(replace(reserved,' KB','') as bigint) desc
得出最後想要的資料結果。
第二種方法:
select
tb.name as tbname
,ps.reserved_page_count * 8 as KB
,ps.row_count
From
sys.dm_db_partition_stats ps with(nolock)
,sys.tables tb with(nolock)
where
ps.object_id=tb.object_id
and tb.create_date >= '2017-10-23 21:44:15.010'
order by
ps.reserved_page_count desc
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22996654/viewspace-2146327/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ORACLE查詢所有表空間使用情況Oracle
- 查詢表的大小及表空間的使用情況
- 【sqlserver】查詢 表的大小SQLServer
- SQLServer查詢所有資料庫大小SQLServer資料庫
- 查詢表空間使用情況
- Oracle查詢表空間使用情況Oracle
- 查詢表空間使用情況的指令碼指令碼
- 表空間使用情況查詢慢的處理
- oracle查詢表空間的空間佔用情況Oracle
- 查詢sqlserver資料庫及各表格空間利用情況SQLServer資料庫
- 臨時表空間的空間使用情況查詢
- 查詢表空間使用情況的簡單檢視
- sqlserver查詢一個庫所有表的記錄數SQLServer
- sqlserver查詢資料的所有表名和行數SQLServer
- Oracle查詢表空間使用情況(經典篇)Oracle
- 查詢表的大小
- sql檢視所有表空間使用情況SQL
- 查詢Oracle資料檔案的使用情況Oracle
- 使MySQL查詢區分大小寫(轉)MySql
- oracle 查詢所有表的表名Oracle
- sqlserver新增查詢 表、欄位註釋,組合查詢所有的使用者、表名、表註釋SQLServer
- Mongodb記憶體管理和使用情況情況查詢MongoDB記憶體
- sqlserver表結構查詢SQLServer
- CentOS 系統的磁碟空間佔用情況查詢CentOS
- MySQL 庫大小、表大小、索引大小查詢命令MySql索引
- 表空間大小查詢
- ORCLE中ASM磁碟空間使用情況查詢ASM
- Oracle 查詢各表空間使用情況--完善篇Oracle
- 查詢表中所有列名
- 查詢指定目錄下所有子目錄的大小
- sqlserver查詢一個庫所有表的欄位名及欄位型別SQLServer型別
- oracle 查詢所有表的行數Oracle
- Sqlserver查詢alwayson同步情況指令碼(2)SQLServer指令碼
- Sqlserver查詢alwayson同步情況指令碼(1)SQLServer指令碼
- sqlServer的資料庫回縮與表大小檢查。SQLServer資料庫
- 查詢oracle 表的大小和表的建立時間Oracle
- sqlserver查詢一張表所有欄位是否含製表符、換行符、回車符SQLServer
- oracle10g表空間使用情況快速查詢Oracle