首页 > 数据库技术 > 详细

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

时间:2022-05-27 19:32:29      阅读:21      评论:0      收藏:0      [点我收藏+]

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

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;

 

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

原文:https://www.cnblogs.com/jenrrychen/p/15357434.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!