查询SQL SERVER中某个数据库的每个表的数据量和每行记录所占用空间
类别:数据库 浏览量:1829
时间:2016-5-13 查询SQL SERVER中某个数据库的每个表的数据量和每行记录所占用空间
查询SQL SERVER中某个数据库的每个表的数据量和每行记录所占用空间一、执行如下SQL语句
CREATE TABLE #tablespaceinfo
(
nameinfo VARCHAR(500) ,
rowsinfo BIGINT ,
reserved VARCHAR(20) ,
datainfo VARCHAR(20) ,
index_size VARCHAR(20) ,
unused VARCHAR(20)
)
DECLARE @tablename VARCHAR(255);
DECLARE Info_cursor CURSOR
FOR
SELECT '[' + s.[name] +']' +'.' + '[' + t.[name] + ']'
FROM sys.tables t
INNER JOIN sys.schemas s ON t.schema_id = s.schema_id
WHERE type = 'U';
OPEN Info_cursor
FETCH NEXT FROM Info_cursor INTO @tablename
WHILE @@FETCH_STATUS = 0
BEGIN
INSERT INTO #tablespaceinfo
EXEC sp_spaceused @tablename
FETCH NEXT FROM Info_cursor
INTO @tablename
END
CLOSE Info_cursor
DEALLOCATE Info_cursor
--创建临时表
CREATE TABLE [#tmptb]
(
TableName VARCHAR(50) ,
DataInfo BIGINT ,
RowsInfo BIGINT ,
Spaceperrow AS ( CASE RowsInfo
WHEN 0 THEN 0
ELSE CAST(DataInfo AS decimal(18,2))/CAST(RowsInfo AS decimal(18,2))
END ) PERSISTED
)
--插入数据到临时表
INSERT INTO [#tmptb]
( [TableName] ,
[DataInfo] ,
[RowsInfo]
)
SELECT [nameinfo] ,
CAST(REPLACE([datainfo], 'KB', '') AS BIGINT) AS 'datainfo' ,
[rowsinfo]
FROM #tablespaceinfo
ORDER BY CAST(REPLACE(reserved, 'KB', '') AS INT) DESC
--汇总记录
SELECT [tbspinfo].* ,
[tmptb].[Spaceperrow] AS '每行记录大概占用空间(KB)'
FROM [#tablespaceinfo] AS tbspinfo ,
[#tmptb] AS tmptb
WHERE [tbspinfo].[nameinfo] = [tmptb].[TableName]
ORDER BY CAST(REPLACE([tbspinfo].[reserved], 'KB', '') AS INT) DESC
DROP TABLE [#tablespaceinfo]
DROP TABLE [#tmptb]
二、例如查询 SQL SERVER2014 安装的实例数据库 (ReportServer$MSSQLSERVER2014)
结果如图
标签:SQL SERVER
您可能感兴趣
- zabbix监控sql server集群(zabbix 监控mysql的方法)
- sqlserver2012海量数据查询(SQL Server 2012 多表连接查询功能实例代码)
- sqlserver 怎么建立触发器(SQL Server:触发器实例详解)
- sqlserver字符串格式化(SQL server中字符串逗号分隔函数分享)
- SQL Server中GROUPING SETS
- Sql Server事件探查器的作用
- sqlserver数据库基本操作(SQL Server四个系统表的知识讲解)
- 查询SQL SERVER中某个数据库的每个表的数据量和每行记录所占用空间
- sqlserverselect选择两个参数(SQL SERVER中SELECT和SET赋值相同点与不同点推荐)
- microsoftsqlserver官网(Microsoft SQL Server数据库各版本下载地址集合)
- sql server2019无法连接到服务器(SQL Server常见问题及解决方法分享)
- SQL SERVER中查看一个数据库的表结构及字段
- sqlserver怎么写判断条件(SQL Server之SELECT INTO 和 INSERT INTO SELECT案例详解)
- sql server支持两种登录验证方式(远程登陆SQL Server 2014数据库的方法)
- sql server证书配置(SQL Server Alwayson创建代理作业的注意事项详解)
- sqlserver如何生成xml文件(实现SQL Server 原生数据从XML生成JSON数据的实例代码)
- 小米音乐与 QQ 音乐合作,便捷迁移会员(小米音乐与QQ音乐合作)
- 小米推出米兔儿童电话手表奥特曼版,799 元,支持微信 QQ(小米推出米兔儿童电话手表奥特曼版)
- 贾怀胤唱《白龙马》 炸场 了 没想到京剧还能这么玩(贾怀胤唱白龙马)
- 白龙马的改编学生版,快来看看(白龙马的改编学生版)
- 萌娃唱《白龙马》走红,那生动的小表情,网友直呼 简直是戏精(萌娃唱白龙马走红)
- 朱鹤松被不断认可,凤凰传奇玲花喊话岳云鹏,索要老朱演出门票(朱鹤松被不断认可)
热门推荐
- 最低成本搭建云服务器(云服务器搭建难不难?企业云服务器搭建流程)
- mysql记录binlog的方式(MySQL使用binlog日志做数据恢复的实现)
- sql中where和having可以同时用吗(SQL where条件和jion on条件的详解及区别)
- 使用canvas画个正方形(canvas绘制树形结构可视图形的实现)
- docker离线安装步骤(Windows下Docker安装各种软件的详细过程)
- sqlserver 存储过程(SQL Server解析XML数据的方法详解)
- wampserver怎么使用(wampserver怎么用?如何使用wampserver来配置本地php环境)
- python的静态方法和类方法(深入解析python中的实例方法、类方法和静态方法)
- docker查看管理配置信息(Docker Secret的管理和使用详解)
- django学生管理系统搭建(Django实现学员管理系统)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9