如何在SSMS中脚本化Azure SQL Server表的列描述?
解决SSMS脚本化表时无法导出列Description的问题
我之前也碰到过完全一样的情况!SSMS默认的脚本生成配置不会包含列的扩展属性(也就是你在表设计器里填的列Description),只需要调整一下脚本选项就能解决,下面给你两种可行的方法:
方法一:单次脚本生成时临时启用扩展属性
如果只是偶尔需要生成包含列描述的脚本,可以按以下步骤操作:
- 在SSMS的对象资源管理器中,右键目标表
[dbo].[Assignment],选择 Script Table as -> CREATE To -> New Query Editor Window(或者你需要的输出位置,比如本地文件) - 在弹出的Script Table对话框中,点击右下角的 Advanced 按钮
- 在高级脚本选项列表里,找到 Include Extended Properties,将它的取值从
False改为True - 点击OK关闭高级选项窗口,再点击OK生成脚本,此时生成的SQL里就会包含表和所有列的
MS_Description扩展属性了
方法二:修改SSMS全局默认设置(永久生效)
如果希望以后所有脚本生成都自动包含列描述,可以修改全局设置:
- 点击SSMS顶部菜单栏的 Tools -> Options
- 在左侧导航栏展开 SQL Server Object Explorer,选择 Scripting
- 在右侧找到 Include extended properties,勾选这个选项(不同SSMS版本可能显示为下拉框,设置为
True即可) - 点击OK保存设置,之后右键生成表脚本时,默认就会包含列的Description了
验证效果
调整设置后生成的脚本里,会看到针对每个列的扩展属性语句,类似这样:
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'唯一标识作业的ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Assignment', @level2type=N'COLUMN',@level2name=N'AssignmentId' GO
内容的提问来源于stack exchange,提问作者Emre Sevinç
相关产品推荐
相关产品推荐

