0

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

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 有关,但它是什么意思?

4

1 回答 1

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

于 2009-11-02T14:58:31.607 回答