在SQL Server Management Studio中,我们在此对话框中输入外键Campus
描述(修改表中的外键):
如您所见,描述似乎是空的。
但是,如果我运行此查询:
select object_name([major_id]), [ep].[name], [value]
from sys.extended_properties ep
INNER join sys.objects o on o.object_id = major_id
where o.[type] = 'F'
结果是:
FK_Campus_School MS_Description foobar
如果我在描述字段中输入文本(因为我认为该字段尚未设置),我会覆盖原始值。
我知道我可以使用此存储过程从脚本添加/更新扩展属性:
EXEC sys.sp_addextendedproperty /* sp_updateextendedproperty */
@name = N'MS_Description',
@value = N'is this saved again?',
@level0type = N'SCHEMA',
@level0name = N'Data',
@level1type = N'TABLE',
@level1name = N'Campus',
@level2type = N'CONSTRAINT',
@level2name = N'FK_Campus_School';
请注意,如果属性已经定义,调用sp_addextendedproperty
确实会引发异常。该对话框似乎总是进行更新。
我试过什么
如果我在引用的表上打开外键对话框,则会显示文本。该对话框还显示 FK_Campus_School 键,选择该键后,将显示描述。回到 Campus 表,然后显示外键描述。但是,在执行一个查询后,我又在同一条船上。
点击刷新按钮和/或上下文菜单选项无法解决此问题。
我还能做些什么来让 SQL Server Management Studio 在外键修改对话框中可靠地显示描述?
版本信息:
| Microsoft SQL Server Management Studio | 10.50.1617.0
| Microsoft Data Access Components (MDAC) | 6.1.7601.17514
| Microsoft MSXML | 3.0 4.0 5.0 6.0
| Microsoft Internet ExploreR | 8.0.7601.17514
| Microsoft .NET Framework | 2.0.50727.5472
| Operating SysteM | 6.1.7601
目标:SQL Server 2008 R2