【问题标题】:SQL Server Management Studio description on foreignkey weirdnessSQL Server Management Studio 关于外键怪异的描述
【发布时间】:2023-04-05 16:27:01
【问题描述】:

SQL Server Management Studio 中,我们在此对话框中输入foreign key 的描述(修改表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

【问题讨论】:

  • 您是否尝试过使用不同版本的 SSMS 是否正确显示?也许 SSMS - 2012?从那以后您是否更新了 SSMS 2008 R2?

标签: sql-server sql-server-2008 ssms


【解决方案1】:

您必须刷新您的 IntelliSense:

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

  • Ctrl + Shift + R

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-14
    • 1970-01-01
    • 2011-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多