4

SQL Server Management Studio中,我们在此对话框中输入外键Campus描述(修改表中的外键):

SQL Server Management Studio 对话框

如您所见,描述似乎是空的。

但是,如果我运行此查询:

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

4

1 回答 1

2

您必须刷新 IntelliSense:

  • 在 SQL Server Management Studio 中,菜单编辑-> IntelliSense ->刷新本地缓存

或者

  • Ctrl+ Shift+R

它在 SQL Server 2012 中运行。我还在 SQL Server 2008 R2 中测试了我的解决方案,但它不起作用。

于 2014-05-03T08:13:08.420 回答