【发布时间】: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