我们的应用程序使用带有许多存储过程的SQL Server后端。最近,在尝试修复不相关的问题时,我们将存储过程编写到SQL窗口的ALTER语句中以尝试某些操作。为了测试目的重命名我们的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有关,但这是什么意思?
答案 0 :(得分:1)
这确实来自MS Access。
KB275085解释了扩展属性MS_SubdataSheetName的设置 影响是SYSREFENCES还是INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS 在SQL VIEW或TABLE的第一次打开时缓存ADP。这篇文章 它表示它仅适用于MDB,但它也适用于ADP。
http://support.microsoft.com/kb/275085
此外,由于该属性已创建,您可以使用sp_UpdateExtendedProperty