查询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
您可能感兴趣
- sqlservercount函数的用法(SQL Server中row_number函数的常见用法示例详解)
- SQL Server ltrimrtrim函数的用法(SQL Server ltrimrtrim 去不掉空格的原因分析)
- sql server2008无法连接怎么办(SQL Server 2008 R2登录失败的解决方法)
- sql server作业的调度信息中各列的含义
- vs和sql安装顺序(VS2015安装之后加装Sql server2014详细步骤)
- sqlserver访问远程数据库(SQL Server实现跨库跨服务器访问的方法)
- sqlserver设置自动备份的注意事项(SQL server 定时自动备份数据库的图文方法)
- sql server 自定义函数
- sqlserver如何设置定时备份(SQL Server使用脚本实现自动备份的思路详解)
- sql server提供的聚合函数(SQLServer行列互转实现思路聚合函数)
- sql server中check约束
- sqlserver数据库实时同步(SQL Server实时同步更新远程数据库遇到的问题小结)
- docker部署高性能服务器(Docker部署SQL Server 2019 Always On集群的实现)
- sqlserver自增长id重置(SQL server 自增ID--序号自动增加的字段操作)
- sql server 报错(sql server利用不同语种语言显示报错错误消息的方法示例)
- sql server 2014配置文件路径(SQL Server 2012 FileTable 新特性详解)
- 银泰集团董事长沈国军获评 北京影响力 十大企业家(银泰集团董事长沈国军获评)
- 15帅气男士发型,清爽时尚很有型,喜欢就试试(清爽时尚很有型)
- 哪几个历史人物被影协主席李雪健演的活灵活现(哪几个历史人物被影协主席李雪健演的活灵活现)
- 王伦狭隘,晁盖霸道,宋江奸诈骨头软,只有鲁智深才适合当寨主(王伦狭隘晁盖霸道)
- 他是梁山最早的头目,江湖人称 旱地忽律 ,宋江几乎将其遗忘(他是梁山最早的头目)
- 梁山创始人杜迁,为何不受宋江待见,只排名83位(梁山创始人杜迁)
热门推荐
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9