代码之家  ›  专栏  ›  技术社区  ›  Amit Kumar Gupta

SQL server,是否有任何中心表来获取所有表的元数据?

  •  1
  • Amit Kumar Gupta  · 技术社区  · 15 年前

    我必须在SQLServer中查询哪个表的数据量最大,哪个表的数据量最小。

    请告诉我怎么做。。

    3 回复  |  直到 15 年前
        1
  •  2
  •   Tim M.    15 年前

    如果您正在查找元数据 关于 数据结构,使用:

    select * from sys.objects
    select * from sys.columns
    

        2
  •  2
  •   Sam Saffron James Allen    15 年前

    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'' '
    

        3
  •  2
  •   VladV    15 年前

    以下是一个查询,返回当前数据库中每个表的所有数据结构中的页数:

    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

    推荐文章