SQL Server 扩展属性 MS_SubdatasheetName

Posted

技术标签:

【中文标题】SQL Server 扩展属性 MS_SubdatasheetName【英文标题】:SQL Server Extended Property MS_SubdatasheetName 【发布时间】:2009-11-02 14:30:14 【问题描述】:

我们的应用程序使用带有许多存储过程的 SQL Server 后端。最近,在尝试修复一个不相关的问题时,我们编写了一个存储过程脚本到一个 ALTER 语句到一个 SQL 窗口来尝试一些事情。出于测试目的重命名我们的 proc,我们运行了脚本,得到了这个令人困惑的错误:

Msg 15233, Level 16, State 1, Procedure sp_addextendedproperty, Line 37
    Property cannot be added. 
    Property 'MS_SubdatasheetName' already exists for 'dbo.sp_One_Of_Our_Stored_Procedures'.

ALTER 语句包含设置扩展属性的代码:

EXEC sys.sp_addextendedproperty @name=N'MS_SubdatasheetName', @value=N'[None]' , 
    @level0type=N'SCHEMA',@level0name=N'dbo', 
    @level1type=N'PROCEDURE',@level1name=N'sp_One_Of_Our_Stored_Procedures'

我们的代码不会在任何地方创建或引用此属性。我们对它的来源感到困惑。

有谁知道是哪个软件创建和使用了这个扩展属性以及这个设置意味着什么?谷歌搜索没有帮助。从搜索结果来看,我猜该属性与Microsoft Access有关,但它是什么意思?

【问题讨论】:

这里有一些内容可以帮助您了解您正在搜索的内容pcreview.co.uk/forums/thread-3832564.php 【参考方案1】:

这确实来自 MS Access。

KB275085 解释了扩展属性 MS_SubdataSheetName 设置 影响 SYSREFENCES 还是 INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS 在第一次打开 ADP 的 SQL VIEW 或 TABLE 时缓存。文章 说它仅适用于 MDB,但也适用于 ADP。

http://support.microsoft.com/kb/275085

此外,由于该属性已创建,您可以使用 sp_UpdateExtendedProperty 解决它

【讨论】:

以上是关于SQL Server 扩展属性 MS_SubdatasheetName的主要内容,如果未能解决你的问题,请参考以下文章

是否可以在 SQL Server 中查询空扩展属性?

如何摆脱 SQL Server 2000 中的扩展表属性?

SQL Server 扩展属性 MS_SubdatasheetName

SQL Server扩展属性的增删改查

SQL SERVER sys.sp_addextendedproperty 添加扩展属性

SQL Server 数据库中使用扩展属性的动态行级安全性