0

私たちのアプリケーションは、多くのストアド プロシージャを備えた 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'

私たちのコードは、このプロパティを作成したり参照したりしません。どこから来たのか、当惑しています。

この拡張プロパティを作成および使用するソフトウェアと、設定の意味を知っている人はいますか? Google 検索は役に立ちませんでした。検索結果から、このプロパティは Microsoft Access と関係があると思いますが、それはどういう意味ですか?

4

1 に答える 1

1

これは MS Access からのものです。

KB275085 は、拡張プロパティ MS_SubdataSheetName 設定が、ADP の SQL VIEW または TABLE の最初のオープン時に SYSREFENCES または INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS がキャッシュされるかどうかに影響することを説明しています。この記事では、MDB のみに適用されると述べていますが、ADP にも適用されます。

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

また、プロパティは既に作成されているため、次を使用して回避できます。sp_UpdateExtendedProperty

于 2009-11-02T14:58:31.607 に答える