查询SQL数据库中各数据表的空间使用情况
来源:互联网 发布:算法导论 ppt 编辑:程序博客网 时间:2024/06/10 05:47
--查询数据库中各数据表的空间使用情况
CREATE VIEW vTableDataUse
AS
SELECT TOP 1000
a3.name AS [schemaname],
a2.name AS [tablename],
a1.rows as row_count,
(a1.reserved + ISNULL(a4.reserved,0))* 8 AS [reserved(K)],
a1.data * 8 AS [data(k)],
(CASE WHEN (a1.used + ISNULL(a4.used,0)) > a1.data THEN (a1.used + ISNULL(a4.used,0)) - a1.data ELSE 0 END) * 8 AS [index_size(k)],
(CASE WHEN (a1.reserved + ISNULL(a4.reserved,0)) > a1.used THEN (a1.reserved + ISNULL(a4.reserved,0)) - a1.used ELSE 0 END) * 8 AS [unused(k)],
a1.data * 8*1024/(CASE WHEN a1.Rows=0 THEN 1 ELSE a1.Rows END) BytesPerRow
FROM (SELECT ps.object_id,
SUM (CASE WHEN (ps.index_id < 2) THEN row_count ELSE 0 END) AS [rows],
SUM (ps.reserved_page_count) AS reserved,
SUM (CASE WHEN (ps.index_id < 2) THEN (ps.in_row_data_page_count + ps.lob_used_page_count + ps.row_overflow_used_page_count)
ELSE (ps.lob_used_page_count + ps.row_overflow_used_page_count) END) AS data,
SUM (ps.used_page_count) AS used
FROM sys.dm_db_partition_stats ps GROUP BY ps.object_id) AS a1
LEFT OUTER JOIN(
SELECT it.parent_id,
SUM(ps.reserved_page_count) AS reserved,
SUM(ps.used_page_count) AS used
FROM sys.dm_db_partition_stats ps INNER JOIN sys.internal_tables it ON (it.object_id = ps.object_id
) WHERE it.internal_type IN (202,204)GROUP BY it.parent_id) AS a4
ON (a4.parent_id = a1.object_id)
INNER JOIN sys.all_objects a2 ON (a1.object_id = a2.object_id )
INNER JOIN sys.schemas a3 ON (a2.schema_id = a3.schema_id)
WHERE a2.type <> N'S' and a2.type <> N'IT' and a3.schema_id=1
ORDER BY [reserved(K)] DESC
CREATE VIEW vTableDataUse
AS
SELECT TOP 1000
a3.name AS [schemaname],
a2.name AS [tablename],
a1.rows as row_count,
(a1.reserved + ISNULL(a4.reserved,0))* 8 AS [reserved(K)],
a1.data * 8 AS [data(k)],
(CASE WHEN (a1.used + ISNULL(a4.used,0)) > a1.data THEN (a1.used + ISNULL(a4.used,0)) - a1.data ELSE 0 END) * 8 AS [index_size(k)],
(CASE WHEN (a1.reserved + ISNULL(a4.reserved,0)) > a1.used THEN (a1.reserved + ISNULL(a4.reserved,0)) - a1.used ELSE 0 END) * 8 AS [unused(k)],
a1.data * 8*1024/(CASE WHEN a1.Rows=0 THEN 1 ELSE a1.Rows END) BytesPerRow
FROM (SELECT ps.object_id,
SUM (CASE WHEN (ps.index_id < 2) THEN row_count ELSE 0 END) AS [rows],
SUM (ps.reserved_page_count) AS reserved,
SUM (CASE WHEN (ps.index_id < 2) THEN (ps.in_row_data_page_count + ps.lob_used_page_count + ps.row_overflow_used_page_count)
ELSE (ps.lob_used_page_count + ps.row_overflow_used_page_count) END) AS data,
SUM (ps.used_page_count) AS used
FROM sys.dm_db_partition_stats ps GROUP BY ps.object_id) AS a1
LEFT OUTER JOIN(
SELECT it.parent_id,
SUM(ps.reserved_page_count) AS reserved,
SUM(ps.used_page_count) AS used
FROM sys.dm_db_partition_stats ps INNER JOIN sys.internal_tables it ON (it.object_id = ps.object_id
) WHERE it.internal_type IN (202,204)GROUP BY it.parent_id) AS a4
ON (a4.parent_id = a1.object_id)
INNER JOIN sys.all_objects a2 ON (a1.object_id = a2.object_id )
INNER JOIN sys.schemas a3 ON (a2.schema_id = a3.schema_id)
WHERE a2.type <> N'S' and a2.type <> N'IT' and a3.schema_id=1
ORDER BY [reserved(K)] DESC
GO
Select * from vTableDataUse
0 0
- 查询SQL数据库中各数据表的空间使用情况
- Sql Server中查看数据表空间使用情况
- 查询数据库的空间使用情况
- 查询各数据库数据表的磁盘占用情况
- Scripts:查询数据库中表空间的情况汇总dba_tablespaces.sql
- MS SQL Server查看数据表空间使用情况
- 查询ORACLE用户表空间使用情况的SQL语句
- oracle关于查询空间使用情况的几个sql语句
- 查询数据库中所有表的占用空间情况
- 查询Oracle数据库中各对象占用空间情况
- Oracle 查询表空间使用情况SQL
- oracle数据库表空间使用情况查询
- SQL server数据库的数据表、字段查询
- SQL Server中查看数据库中各个数据表的大小(占用空间)
- 查看数据库中每个表的空间使用情况
- 遍历数据库中所有表的空间使用情况
- Oracle表空间的使用情况查询
- SQL语句查询数据库中所有表的空间
- BOM&DOM基础
- quartz 定时任务
- 2015 软件开发笔试和面试题
- 国内外从事CV相关的企业
- pageX,clientX,offsetX,layerX的区别
- 查询SQL数据库中各数据表的空间使用情况
- 解决Python 不识别汉字的问题
- window下安装Xamarin(手动安装)
- java删除空文件
- Python 核心编程笔记
- 【SQL】Oracle 数据库的绑定变量特性及应用
- Android:textAppearance用法详解
- 谈小米内忧外患的困境
- jvm性能调优 之 基础知识