none
sql server 2005如何查询得知某个文件组下具体有哪些表? RRS feed

  • 问题

  • 之前发帖询问了如何查询某张表属于哪个文件组。

    现在想问如何查询得知某个文件组下具体有哪些表?个人努力无果,请高手指点,谢谢。

    2010年11月23日 13:13

答案

  • SELECT o.[name], o.[type], i.[name], i.[index_id], f.[name]
    FROM sys.indexes i
    INNER JOIN sys.filegroups f
    ON i.data_space_id = f.data_space_id
    INNER JOIN sys.all_objects o
    ON i.[object_id] = o.[object_id]
    WHERE f.name = 'primary'
    GO
    • 已标记为答案 jarrodchen 2010年11月24日 3:29
    2010年11月23日 14:18

全部回复

  • SELECT o.[name], o.[type], i.[name], i.[index_id], f.[name]
    FROM sys.indexes i
    INNER JOIN sys.filegroups f
    ON i.data_space_id = f.data_space_id
    INNER JOIN sys.all_objects o
    ON i.[object_id] = o.[object_id]
    WHERE f.name = 'primary'
    GO
    • 已标记为答案 jarrodchen 2010年11月24日 3:29
    2010年11月23日 14:18
  • 谢谢答复

    经验证sql可行,还学了点知识:原来在sql server中,主键必须与表数据存放与同一个文件组中。

    2010年11月24日 3:30
  • Not really, should say clustered index is in same filegroup with data. Pkey is not always clustered.
    2010年11月24日 4:32