我必须在SQL服务器中查询哪个表具有最大数据,哪个表具有最小数据。
请告诉我我该怎么做..
我是runninf SQL server 2005。
答案 0 :(得分:2)
看一下sp_spaceused,你可以在所有表格的循环中运行它
如果您想为所有可以运行的表(未记录的快捷方式)获取空间使用量:
CREATE TABLE #t
(
[name] NVARCHAR(128),
[rows] CHAR(11),
reserved VARCHAR(18),
data VARCHAR(18),
index_size VARCHAR(18),
unused VARCHAR(18)
)
INSERT #t
EXEC sp_MSforeachtable 'EXEC sp_spaceused ''?'',''TRUE'' '
然后在#t中搜索结果
答案 1 :(得分:2)
如果您要查找元数据关于数据结构,请使用:
select * from sys.objects
select * from sys.columns
否则,请澄清。
答案 2 :(得分:2)
这是一个查询,它返回当前数据库中每个表的所有数据结构中的页数:
select object_name([object_id]) as obj_name, sum(page_count) as page_num
from sys.dm_db_index_physical_stats(DB_ID(), NULL, NULL, NULL, NULL)
group by [object_id]
order by sum(page_count) desc
Dynamic management views提供了大量有关数据库的数据。