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

如何在SQL Server中查询指定对称密钥加密的表和列?

反向查询对称密钥对应的加密表和列

可以直接通过系统视图关联查询,无需逐个排查表,就能确定每个对称密钥加密的表和列,包括指定密钥对应的所有加密对象。

查询指定对称密钥加密的所有表和列

替换语句中的'你的对称密钥名'为实际密钥名称即可:

SELECT 
    SCHEMA_NAME(t.schema_id) AS 架构名,
    t.name AS 表名,
    c.name AS 列名,
    k.name AS 对称密钥名
FROM 
    sys.tables t
JOIN 
    sys.columns c ON t.object_id = c.object_id
JOIN 
    sys.symmetric_keys k ON KEY_NAME(c.column_id, t.object_id) = k.name
WHERE 
    k.name = '你的对称密钥名'

查询所有对称密钥对应的加密表和列

如果需要统计全部密钥的加密对象,去掉WHERE条件即可:

SELECT 
    SCHEMA_NAME(t.schema_id) AS 架构名,
    t.name AS 表名,
    c.name AS 列名,
    k.name AS 对称密钥名
FROM 
    sys.tables t
JOIN 
    sys.columns c ON t.object_id = c.object_id
JOIN 
    sys.symmetric_keys k ON KEY_NAME(c.column_id, t.object_id) = k.name
ORDER BY 
    k.name, t.name, c.name

逻辑说明

通过sys.tables(表信息)、sys.columns(列信息)与sys.symmetric_keys(对称密钥信息)关联,利用KEY_NAME函数直接获取加密列绑定的密钥名称,进而反向匹配出指定密钥对应的所有加密列,全程无需逐个表手动排查。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 04:42:04