加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

SqlServer 查询某数据库下的所有表的物理空间和行数 语句和存储

发布时间:2020-12-12 14:33:04 所属栏目:MsSql教程 来源:网络整理
导读:1方法查询的没有2方法结果集多. 1.select 表名=a.name,记录数=b.rows ? from sysobjects a,sysindexes b where a.id=b.id and b.status=2066 and ?a.type='U' order by 记录数 ? ?--654笔 2. ? ? --1274笔 --?SP_SQLSERVER_TABLE?@DATABASENAME CREATE PROCE

1方法查询的没有2方法结果集多.


1.select 表名=a.name,记录数=b.rows ?
from sysobjects a,sysindexes b
where a.id=b.id and b.status=2066
and ?a.type='U'
order by 记录数 ? ?--654笔


2. ? ? --1274笔

--?SP_SQLSERVER_TABLE?@DATABASENAME

CREATE PROCEDURE SP_SQLSERVER_TABLE @DATABASENAME ? NVARCHAR(20) AS BEGIN DECLARE @PAR ?NVARCHAR(50) DECLARE @Sql ?NVARCHAR(1000) SELECT @DATABASENAME=@DATABASENAME+'..SysObjects' IF EXISTS(SELECT * FROM TEMPDB..SYSOBJECTS WHERE ID=OBJECT_ID('tempdb..##TEMP_TBL')) DROP TABLE ##TEMP_TBL CREATE TABLE ##TEMP_TBL(TableName ?NVARCHAR(50)) IF EXISTS(SELECT * FROM TEMPDB..SYSOBJECTS WHERE ID=OBJECT_ID('tempdb..##TEMP_TAB')) DROP TABLE ##TEMP_TAB CREATE TABLE ##TEMP_TAB(NAME ?NVARCHAR(50),ROWS INT,RESERVED NVARCHAR(50),DATA NVARCHAR(50),INDEXSIZE NVARCHAR(50),UNUSED NVARCHAR(50) ) set @Sql ?= ?'SELECT Name ? FROM ?' ?+ @DATABASENAME + ' ?WHERE XType=''U'' ORDER BY Name ' INSERT INTO ##TEMP_TBL EXEC SP_EXECUTESQL @Sql DECLARE @NAME ?NVARCHAR(50) DECLARE P_CUR CURSOR FOR SELECT TableName FROM ##TEMP_TBL OPEN P_CUR FETCH NEXT FROM P_CUR INTO @NAME WHILE(@@FETCH_STATUS=0) BEGIN INSERT INTO ##TEMP_TAB EXEC sp_spaceused @NAME FETCH NEXT FROM P_CUR INTO @NAME END CLOSE P_CUR DEALLOCATE P_CUR SELECT * FROM ##TEMP_TAB ORDER BY ROWS DROP TABLE ##TEMP_TBL DROP TABLE ##TEMP_TAB END

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读