我正在寻找返回数据库中前 5 个最大值的列表的 SQL 查询。类似 SELECT TOP(5) * from Database
结果将是:
表名 |列名 |字段最大长度
Excise是找到导致问题超过最大数据大小的字段,可以从MSSQL加载到Excel中以对以下问题进行排序:
内存错误:遇到超过存储对象最大页面大小(65528 字节)的记录(66341 字节)
提前谢谢您
我有时使用这个查询来查看哪些表是“最大”的,也许不完全是你想要的,但你可以用它作为开始
select s.name as SchemaName,
t.NAME AS TableName,
i.name as indexName,
sum(p.rows) / count(a.total_pages) as RowCounts,
count(a.total_pages) as page_count,
sum(a.total_pages) as TotalPages,
sum(a.used_pages) as UsedPages,
sum(a.data_pages) as DataPages,
(sum(a.total_pages) * 8) / 1024 as TotalSpaceMB,
(sum(a.used_pages) * 8) / 1024 as UsedSpaceMB,
(sum(a.data_pages) * 8) / 1024 as DataSpaceMB
from sys.tables t
inner join sys.schemas s on t.schema_id = s.schema_id
inner join sys.indexes i ON t.OBJECT_ID = i.object_id
inner join sys.partitions p ON i.object_id = p.OBJECT_ID AND i.index_id = p.index_id
inner join sys.allocation_units a ON p.partition_id = a.container_id
where t.NAME NOT LIKE 'dt%'
and i.OBJECT_ID > 255
and i.index_id <= 1
--and i.name like '%[_][_]%'
group by s.name, t.NAME, i.object_id, i.index_id, i.name
order by sum(p.rows) / count(a.total_pages) DESC