You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQL Server中如何查询分区架构、分区列及TEXTIMAGE相关信息?

多表分区与TEXTIMAGE属性查询方案

以下是可一次性查询你创建的四类表,同时返回分区架构、分区列、TEXTIMAGE指定存储信息的SQL语句:

SELECT
    t.name AS table_name,
    -- 分区架构名称
    ps.name AS partition_schema_name,
    -- 分区列(多列时用逗号分隔)
    STRING_AGG(c.name, ', ') AS partition_columns,
    -- 主数据文件组
    fg.name AS primary_filegroup,
    -- TEXTIMAGE类型数据存储的文件组
    tifg.name AS text_image_filegroup,
    -- 是否为分区表标记
    CASE WHEN ps.name IS NOT NULL THEN '是' ELSE '否' END AS is_partitioned
FROM sys.tables t
LEFT JOIN sys.indexes i 
    ON t.object_id = i.object_id 
    AND i.type <= 1 -- 匹配聚集索引或堆表的分区关联记录
LEFT JOIN sys.partition_schemes ps 
    ON i.data_space_id = ps.data_space_id
LEFT JOIN sys.index_columns ic 
    ON i.object_id = ic.object_id 
    AND i.index_id = ic.index_id 
    AND ic.partition_ordinal > 0 -- 仅筛选分区列
LEFT JOIN sys.columns c 
    ON ic.object_id = c.object_id 
    AND ic.column_id = c.column_id
LEFT JOIN sys.filegroups fg 
    ON t.data_space_id = fg.data_space_id
LEFT JOIN sys.filegroups tifg 
    ON t.text_image_filegroup_id = tifg.data_space_id
WHERE t.name IN ('TB_PARTITION_SCHEMA', 'TB_ONLYFG', 'TB_TEXTIMAGE', 'TB_FILEGROUP')
GROUP BY t.name, ps.name, fg.name, tifg.name, t.text_image_filegroup_id, ps.data_space_id
ORDER BY t.name;

关键字段说明:

  • partition_schema_name:返回表绑定的分区架构名,非分区表显示NULL
  • partition_columns:列出表的分区列(多列时自动拼接),非分区表显示NULL
  • text_image_filegroup:显示TEXTIMAGE类型数据指定存储的文件组,未指定则显示NULL
  • is_partitioned:直观标记该表是否为分区表

兼容低版本SQL Server说明:

若使用SQL Server 2017以下版本,STRING_AGG函数不可用,可将分区列查询替换为以下写法:

STUFF(
    (SELECT ', ' + c.name 
     FROM sys.index_columns ic 
     JOIN sys.columns c ON ic.object_id = c.object_id AND ic.column_id = c.column_id
     WHERE ic.object_id = t.object_id AND ic.index_id = i.index_id AND ic.partition_ordinal >0
     FOR XML PATH('')), 1, 2, ''
) AS partition_columns

内容的提问来源于stack exchange,提问作者user13746660

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 11:45:36