SQL Server ->> 查找哪些表/索引用了文件组

下面的脚本查找哪些表/索引用了文件组,这种通常出现在我们需要把某个文件的数据迁移到另外一个文件的时候用,比如老磁盘快满或者太老了,新的磁盘替代,或者是迁移表数据到另外的表来替换旧表

SELECT t.object_id AS ObjectID,
       OBJECT_NAME(t.object_id) AS ObjectName,
       SUM(u.total_pages) * 8 AS Total_Reserved_kb,
       SUM(u.used_pages) * 8 AS Used_Space_kb,
       u.type_desc AS TypeDesc,
       MAX(p.rows) AS RowsCount,
       fg.name
FROM sys.allocation_units AS u
JOIN sys.partitions AS p ON u.container_id = p.hobt_id
JOIN sys.tables AS t ON p.object_id = t.object_id
JOIN sys.filegroups AS fg ON fg.data_space_id = u.data_space_id
WHERE fg.name IN ('')
GROUP BY t.object_id,
         OBJECT_NAME(t.object_id),
         u.type_desc,
       fg.name
ORDER BY Used_Space_kb DESC,
         ObjectName;

 

posted @ 2021-09-30 16:40  Jerry_Chen  阅读(118)  评论(0编辑  收藏  举报