--建临时表
IF OBJECT_ID('tempdb..#used_temp') IS NOT NULL drop table #used_temp
Create TABLE #used_temp(
[name] [nchar](50) COLLATE Chinese_PRC_CI_AS NULL,
[rows] [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,
[reserved] [varchar](100) COLLATE Chinese_PRC_CI_AS NULL,
[data] [varchar](100) COLLATE Chinese_PRC_CI_AS NULL,
[index_size] [varchar](100) COLLATE Chinese_PRC_CI_AS NULL,
[unused] [varchar](100) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
--将库表数据大小导入临时表
declare @tname varchar(200)
DECLARE tablename CURSOR FOR
Select name FROM sysobjects where type='U'
OPEN tablename
FETCH NEXT FROM tablename INTO @tname
WHILE @@FETCH_STATUS = 0
BEGIN
insert into #used_temp exec sp_spaceused @tname
FETCH NEXT FROM tablename INTO @tname
END
CLOSE tablename
DEALLOCATE tablename
--查询
select * from #used_temp以上SQL语句在SQL Server2000/2005测试通过。

字段说明:
name:请求其空间使用信息的对象的名称。
rows:表中现有的行数。
reserved:为表保留的空间总量。
data:表中的数据所使用的空间总量。
index_size:表中的索引所使用的空间总量。
unused:为表保留但尚未使用的空间总量。
评论(0)
暂无评论。