sql-server – 如何获取数据库中所有分区表的列表?

如何获取数据库中所有分区表的列表?

我应该关注哪些系统表/ DMV?

最佳答案
此查询应该为您提供所需内容:

select distinct t.name
from sys.partitions p
inner join sys.tables t
on p.object_id = t.object_id
where p.partition_number <> 1

sys.partitions目录视图提供了表和大多数索引的所有分区的列表.只需使用sys.tables来获取表格即可.

所有表至少有一个分区,因此如果您专门查看分区表,则必须根据sys.partitions.partition_number<>来过滤此查询. 1(对于非分区表,partition_number始终等于1).

转载注明原文:sql-server – 如何获取数据库中所有分区表的列表? - 代码日志