一尘不染

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

sql-server

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

我应该查看哪些系统表/DMV?


阅读 88

收藏
2022-11-09

共1个答案

一尘不染

这个查询应该给你你想要的:

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)。

2022-11-09