查看SQL Server中某数据库下每个表占用的空间大小
2009-11-27 11:09
549 查看
很神奇,很伟大,朱很惊奇
if not exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[tablespaceinfo]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
create table tablespaceinfo --创建结果存储表
(nameinfo varchar(50) ,
rowsinfo int , reserved varchar(20) ,
datainfo varchar(20) ,
index_size varchar(20) ,
unused varchar(20) )
delete from tablespaceinfo --清空数据表
declare @tablename varchar(255) --表名称
declare @cmdsql varchar(500)
DECLARE Info_cursor CURSOR FOR
select o.name
from dbo.sysobjects o where OBJECTPROPERTY(o.id, N'IsTable') = 1
and o.name not like N'#%%' order by o.name
OPEN Info_cursor
FETCH NEXT FROM Info_cursor
INTO @tablename
WHILE @@FETCH_STATUS = 0
BEGIN
if exists (select * from dbo.sysobjects where id = object_id(@tablename) and OBJECTPROPERTY(id, N'IsUserTable') = 1)
execute sp_executesql
N'insert into tablespaceinfo exec sp_spaceused @tbname',
N'@tbname varchar(255)',
@tbname = @tablename
FETCH NEXT FROM Info_cursor
INTO @tablename
END
CLOSE Info_cursor
DEALLOCATE Info_cursor
GO
--itlearner注:显示数据库信息
sp_spaceused @updateusage = 'TRUE'
--itlearner注:显示表信息
select *
from tablespaceinfo
order by cast(left(ltrim(rtrim(reserved)) , len(ltrim(rtrim(reserved)))-2) as int) desc
Drop tablespaceinfo
if not exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[tablespaceinfo]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
create table tablespaceinfo --创建结果存储表
(nameinfo varchar(50) ,
rowsinfo int , reserved varchar(20) ,
datainfo varchar(20) ,
index_size varchar(20) ,
unused varchar(20) )
delete from tablespaceinfo --清空数据表
declare @tablename varchar(255) --表名称
declare @cmdsql varchar(500)
DECLARE Info_cursor CURSOR FOR
select o.name
from dbo.sysobjects o where OBJECTPROPERTY(o.id, N'IsTable') = 1
and o.name not like N'#%%' order by o.name
OPEN Info_cursor
FETCH NEXT FROM Info_cursor
INTO @tablename
WHILE @@FETCH_STATUS = 0
BEGIN
if exists (select * from dbo.sysobjects where id = object_id(@tablename) and OBJECTPROPERTY(id, N'IsUserTable') = 1)
execute sp_executesql
N'insert into tablespaceinfo exec sp_spaceused @tbname',
N'@tbname varchar(255)',
@tbname = @tablename
FETCH NEXT FROM Info_cursor
INTO @tablename
END
CLOSE Info_cursor
DEALLOCATE Info_cursor
GO
--itlearner注:显示数据库信息
sp_spaceused @updateusage = 'TRUE'
--itlearner注:显示表信息
select *
from tablespaceinfo
order by cast(left(ltrim(rtrim(reserved)) , len(ltrim(rtrim(reserved)))-2) as int) desc
Drop tablespaceinfo
相关文章推荐
- 查看SQL Server中某数据库下每个表占用的空间大小
- 查看 MySQL 数据库中每个表占用的空间大小
- 查看sql server每个表占用的空间大小
- 查看 MySQL 数据库中每个表占用的空间大小
- 查看 MySQL 数据库中每个表占用的空间大小
- 查看 MySQL 数据库中每个表占用的空间大小
- 【转载】查看MSSQL数据库每个表占用的空间大小的方法
- 查看 MySQL 数据库中每个表占用的空间大小
- 查看MSSQL 数据库 用户每个表 占用的空间大小
- 查看 MySQL 数据库中每个表占用的空间大小
- 如何查看SQL Server 2000数据库每个表占用的磁盘空间。
- 查看 MySQL 数据库中每个表占用的空间大小
- 查看MSSQL数据库每个表占用的空间大小
- mysql管理 ------查看 MySQL 数据库中每个表占用的空间大小
- 查看MSSQL数据库每个表占用的空间大小
- mysql管理 ------查看 MySQL 数据库中每个表占用的空间大小
- 查看 MySQL 数据库中每个表占用的空间大小
- 查看 MySQL 数据库中每个表占用的空间大小
- 查看MSSQL 数据库 用户每个表 占用的空间大小
- 信息、数据-查看MSSQL 数据库 用户每个表 占用的空间大小-by小雨