查看SQL Server数据空间分配情况

Victor_骁

Victor_骁

2016-01-29 16:25

查看SQL Server数据空间分配情况,查看SQL Server数据空间分配情况
 

   今天客户反映数据库文件空间增长过快 ,需要分析数据库表存放空间分配情况,临时写了以下过程,

与大家共享。


/********************************
功能:获取表的空间分布情况  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

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/sqlserver/)

  FETCH NEXT FROM Info_cursor
  INTO @tablename
END

CLOSE Info_cursor
DEALLOCATE Info_cursor
GO


--knowsky.com数据库信息
sp_spaceused @updateusage = 'TRUE' 

--表信息
select *
from tablespaceinfo 
order by cast(left(ltrim(rtrim(reserved)) , len(ltrim(rtrim(reserved)))-2) as int) desc

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/sqlserver/)

 

备注:
Namenvarchar(20)为其请求空间使用信息的表名。Rowschar(11)表中现有的行数。reservedvarchar(18)表保留的空间总量。Datavarchar(18)表中的数据所使用的空间量。index_sizevarchar(18)表中的索引所使用的空间量。Unusedvarchar(18)表中未用的空间量。

 
展开更多 50%)
分享

猜你喜欢

查看SQL Server数据空间分配情况

SQLServer
查看SQL Server数据空间分配情况

SQL Server磁带数据备份

SQLServer
SQL Server磁带数据备份

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

SQL Server中的动态和静态内存分配

SQLServer
SQL Server中的动态和静态内存分配

利用DBCC PAGE查看SQL Server中的表和索引数据

编程语言 网络编程
利用DBCC PAGE查看SQL Server中的表和索引数据

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

SQL Server导出导入数据方法

SQLServer
SQL Server导出导入数据方法

如何整理SQL Server输入数据

SQLServer
如何整理SQL Server输入数据

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

《大神》简单流程攻略(PS2 Wii)

《大神》简单流程攻略(PS2 Wii)

SQL Server的链接服务器技术小结

SQL Server的链接服务器技术小结
下拉加载更多内容 ↓