如何使用SQL查询枚举属于文件组的所有对象?

时间:2017-01-11 21:08:38

标签: sql-server tsql

如何使用SQL查询枚举属于文件组的所有对象?

我可以在每个表和其他对象上查找SSMS > Object Explorer > Properties > Storage以查看它们所属的文件组,但它可能不是数据库中有数百个对象的可行解决方案。

1 个答案:

答案 0 :(得分:3)

来自http://blog.sqlauthority.com/2009/06/01/sql-server-list-all-objects-created-on-all-filegroups-in-database/

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 i.data_space_id = f.data_space_id
AND o.type = 'U' -- User Created Tables

您可以更改o.type以控制返回的对象类型。