用于查詢當(dāng)前數(shù)據(jù)庫中所有表格的記錄條數(shù)的腳本
2024-07-21 02:07:31
供稿:網(wǎng)友
--==========================================================================
-- 說明: 本腳本用于查詢當(dāng)前數(shù)據(jù)庫中所有表格的記錄條數(shù)
-- 并將結(jié)果存入tableinfo表中,不會刪除以備用戶再做處理與分析
-- 不過,最后請用戶刪除此表。
--==========================================================================
if exists (select * from dbo.sysobjects where id = object_id(n'[dbo].[tablespace]') and objectproperty(id, n'isusertable') = 1)
drop table [dbo].[tablespace]
go
create table tablespace
(
tablename varchar(20),
rowscount char(11),
reserved varchar(18),
data varchar(18),
index_size varchar(18),
unused varchar(18)
)
go
declare @sql varchar(500)
declare @tablename varchar(20)
declare cursor1 cursor
for
select name from sysobjects where xtype='u'
open cursor1
fetch next from cursor1 into @tablename
while @@fetch_status = 0
begin
set @sql = 'insert into tablespace '
set @sql = @sql + ' exec sp_spaceused '''+ @tablename + ''' '
exec (@sql)
fetch next from cursor1 into @tablename
end
close cursor1
deallocate cursor1
go
--顯示結(jié)果
select * from tablespace
--order by tablename
--order by tablename asc --按表名稱,用于統(tǒng)計表
--order by rowscount desc --按行數(shù)量,用于查看表行數(shù)
--order by reserved desc, data desc --按占用空間
--order by index_size desc, reserved desc --按索引空間查看
go
--查看庫的使用狀況,可以隨時執(zhí)行的。
--exec sp_spaceused
--go