热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

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

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

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

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

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

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

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

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

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

DECLARE
	@TABLENM SYSNAME,
	@CNT INT,
	@TOPN INT
DECLARE TABLE_SPACE CURSOR FAST_FORWARD
	FOR 
		 SELECT
		 NAME
		 FROM SYSOBJECTS
		 WHERE XTYPE = 'U'
SELECT @CNT = 0, @TOPN = 0
CREATE TABLE #TMPUSAGE
	 (
		 NAME SYSNAME,
		 ROWS INT,
		 RESERVED VARCHAR(20),
		 DATA VARCHAR(20),
		 INDEX_SIZE VARCHAR(20),
		 UNUSED VARCHAR(20)
	 )
OPEN TABLE_SPACE
FETCH NEXT FROM TABLE_SPACE INTO @TABLENM
WHILE @@FETCH_STATUS = 0 AND @CNT <= @TOPN
BEGIN
	INSERT INTO #TMPUSAGE 
	EXEC SP_SPACEUSED @TABLENM, 'TRUE'
 IF
	@TOPN <> 0
	SELECT @CNT = @CNT +1
	FETCH NEXT FROM TABLE_SPACE INTO @TABLENM
 END
CLOSE TABLE_SPACE
DEALLOCATE TABLE_SPACE
SELECT 
 	*
FROM 
	#TMPUSAGE 
ORDER BY 
	CONVERT(INT,LEFT(RESERVED, LEN(RESERVED)- 3)) DESC

IF (SELECT OBJECT_ID('TEMPDB..#TMPUSAGE') ) IS NOT NULL
DROP TABLE #TMPUSAGE

推荐阅读
author-avatar
飞儿gxj_505
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有