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

MS SQL Server如何添加表备注填充sp_tables返回的remark字段

SQL Server 不支持标准SQL的COMMENT ON TABLE语法,它通过扩展属性来存储表、字段等对象的备注信息,sp_tables返回的remark字段读取的就是表的MS_Description扩展属性值。

添加表备注的操作方法

你可以使用系统存储过程sp_addextendedproperty添加表备注,示例代码如下:

EXEC sp_addextendedproperty 
    @name = N'MS_Description', -- 固定属性名,用于标识对象备注
    @value = N'TEST', -- 你要添加的备注内容
    @level0type = N'SCHEMA', -- 一级对象类型为schema
    @level0name = N'dbo', -- 表所属的schema,默认是dbo,根据实际情况修改
    @level1type = N'TABLE', -- 二级对象类型为表
    @level1name = N'mytable'; -- 目标表名

修改已有备注的方法

如果表已经添加过备注,使用sp_updateextendedproperty修改:

EXEC sp_updateextendedproperty 
    @name = N'MS_Description',
    @value = N'修改后的备注内容',
    @level0type = N'SCHEMA',
    @level0name = N'dbo',
    @level1type = N'TABLE',
    @level1name = N'mytable';

通用覆盖写法

如果不确定备注是否已存在,想直接覆盖写入,可以先判断删除再新增:

-- 判断备注已存在则先删除
IF EXISTS (
    SELECT 1 FROM sys.extended_properties 
    WHERE 
        major_id = OBJECT_ID(N'dbo.mytable')
        AND minor_id = 0
        AND name = N'MS_Description'
)
EXEC sp_dropextendedproperty 
    @name = N'MS_Description',
    @level0type = N'SCHEMA',
    @level0name = N'dbo',
    @level1type = N'TABLE',
    @level1name = N'mytable';

-- 新增备注
EXEC sp_addextendedproperty 
    @name = N'MS_Description',
    @value = N'TEST',
    @level0type = N'SCHEMA',
    @level0name = N'dbo',
    @level1type = N'TABLE',
    @level1name = N'mytable';

操作完成后再执行exec sp_tables 'mytable',就能在remark字段看到你写入的备注内容,不需要额外创建数据字典表维护。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 22:51:00