SQL查看数据库所用用户表数量和使用的空间

SQL Server 数据库 管理员通常硬盘 空间 奋斗,不断努力清理表,撰写许多查询,发现该表 使用 的硬盘 空间 。 本文介绍了如何查询系统表的 空间 使用 情况,帮助 数据库 管理员识别正在 使用 最多的 空间 ,以便存档旧数据和清除非必要的数据表。 1。登录到S

SQL Server数据库管理员通常硬盘空间奋斗,不断努力清理“表”,撰写许多查询,发现该表使用的硬盘空间

本文介绍了如何查询系统表的空间使用情况,帮助数据库管理员识别正在使用最多的空间,以便存档旧数据和清除非必要的数据表。

1。登录到SQL Server实例的[SQL Server 2005或SQL Server的2008]。

2。浏览到你想获得空间信息数据库

3。复制并粘贴到您的查询窗口的代码,并执行它。

4。检查的结果,并查看选定的数据库内的表空间

DECLARE	@TABLENM SYSNAME,	@CNT INT,	@TOPN INTDECLARE TABLE_SPACE CURSOR FAST_FORWARD	FOR 		 SELECT		 NAME		 FROM SYSOBJECTS		 WHERE XTYPE = 'U'SELECT @CNT = 0, @TOPN = 0CREATE TABLE #TMPUSAGE	 (		 NAME SYSNAME,		 ROWS INT,		 RESERVED VARCHAR(20),		 DATA VARCHAR(20),		 INDEX_SIZE VARCHAR(20),		 UNUSED VARCHAR(20)	 )OPEN TABLE_SPACEFETCH NEXT FROM TABLE_SPACE INTO @TABLENMWHILE @@FETCH_STATUS = 0 AND @CNT <= @TOPNBEGIN	INSERT INTO #TMPUSAGE 	EXEC SP_SPACEUSED @TABLENM, 'TRUE' IF	@TOPN <> 0	SELECT @CNT = @CNT +1	FETCH NEXT FROM TABLE_SPACE INTO @TABLENM ENDCLOSE TABLE_SPACEDEALLOCATE TABLE_SPACESELECT  	*FROM 	#TMPUSAGE ORDER BY 	CONVERT(INT,LEFT(RESERVED, LEN(RESERVED)- 3)) DESCIF (SELECT OBJECT_ID('TEMPDB..#TMPUSAGE') ) IS NOT NULLDROP TABLE #TMPUSAGE

郑重声明:本文版权包含图片归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们(delete@yzlfxy.com)修改或删除,多谢。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

留言与评论(共有 0 条评论)
昵称:
匿名发表
   
验证码: