查看 MSSQL 数据空间分配情况
2005-07-18 15:34
357 查看
/*************************************************
功能:获取表的空间分布情况 ycsoft 2005-07-13
************************************************/
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
--数据库信息
sp_spaceused @updateusage = 'TRUE'
--表信息
select *
from tablespaceinfo
order by cast(left(ltrim(rtrim(reserved)) , len(ltrim(rtrim(reserved)))-2) as int) desc
备注:
作者Blog:http://blog.csdn.net/skywebnet/
功能:获取表的空间分布情况 ycsoft 2005-07-13
************************************************/
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
--数据库信息
sp_spaceused @updateusage = 'TRUE'
--表信息
select *
from tablespaceinfo
order by cast(left(ltrim(rtrim(reserved)) , len(ltrim(rtrim(reserved)))-2) as int) desc
备注:
Name | nvarchar(20) | 为其请求空间使用信息的表名。 |
Rows | char(11) | 表中现有的行数。 |
reserved | varchar(18) | 表保留的空间总量。 |
Data | varchar(18) | 表中的数据所使用的空间量。 |
index_size | varchar(18) | 表中的索引所使用的空间量。 |
Unused | varchar(18) | 表中未用的空间量。 |
相关文章推荐
- 查看SQL Server数据空间分配情况
- SQL Server 查看数据库空间分配情况的 2 种方法
- MSSQL中查看某一数据库中表空间占用情况,按占用空间从大到小排序显示
- 信息、数据-查看MSSQL 数据库 用户每个表 占用的空间大小-by小雨
- 创建表空间以及用户,授予权限,查看表空间名称及大小,物理文件的名称及大小,数据库的创建日期和归档方式,数据库的版本,数据库库对象,表空间的使用情况,表空间读写
- SQL Server 维护脚本分享(12)查看数据库空间分配情况(准确)
- orcle查看表空间数据文件使用情况
- oracle查看表空间数据文件使用情况
- 【查看数据占用空间】查看hbase表占用的磁盘情况
- Sql Server中查看数据表空间使用情况
- unix自动登录Telnet,实现查看多台服务器硬盘及数据表空间使用情况
- 查看mysql 数据表的真实大小空间情况
- unix自动登录Telnet,实现查看多台服务器硬盘及数据表空间使用情况
- Oracle 查看表空间、数据文件的大小及使用情况
- 查看数据空间使用情况
- Oracle查看所有表空间的数据使用情况
- 4种 查看数据空间使用情况 的方法
- 查看MSSQL数据库表占用的空间
- Atitit.Gui控件and面板----数据库区-mssql 2008 权限 配置 报表查看成员
- 查看MSSQL数据库每个表占用的空间大小