[FIX] 複数の拡張プロパティを設定したオブジェクトのスクリプト生成で例外

この記事は、以前は次の ID で公開されていました: JP279183
この資料は、アーカイブされました。これは "現状のまま" で提供され、更新されることはありません。
現象
拡張プロパティの値フィールドに多数の長い文字列が含まれているオブジェクトのスクリプトを生成しようとすると、アクセス違反の例外が発生して、スクリプトの生成に失敗することがあります。この問題は、スクリプト生成時にオブジェクトの拡張プロパティのスクリプトを生成するように要求した場合にのみ発生します。

次のようなエラー メッセージが表示されます。
[SQL-DMO]コード実行例外:EXCEPTION_ACCESS_VIOLATION
この問題は、SQL Server Enterprise Manager または SQL クエリ アナライザのオブジェクト ブラウザを使ってオブジェクトのスクリプトを生成しようとした場合か、SQL DMO (Distributed Management Objects) アプリケーションで Script メソッドを使用した場合に発生します。
原因
拡張プロパティの値として入力されたテキストが長すぎるため、スクリプト テキストの作成に使用される内部バッファでオーバーランが発生することが原因です。
解決方法
このプログラムはクライアント側の修正プログラムですので、拡張プロパティを使用するオブジェクトのスクリプトを生成するすべてのワークステーションにインストールする必要があります。
回避策
スクリプトを生成する前に、オブジェクトの拡張プロパティのスクリプトを生成するオプションをオフにします。オブジェクトの拡張プロパティを確認したい場合は、システム関数 fn_listextendedproperty を使用して情報を取得します。取得した情報を編集して、同じプロパティを作成するスクリプトを再生成することができます。
状況
弊社では、これを Microsoft SQL Server version 2000 の問題として確認しています。
この問題は、Microsoft SQL Server version 2000 Service Pack 1 で修正されています。
関連情報
この資料は米国 Microsoft Corporation から提供されている Knowledge Base の Article ID 279183 (最終更新日 2001-06-15) をもとに作成したものです。

sp_addextendedproperty
プロパティ

文書番号:279183 - 最終更新日: 01/16/2015 21:04:30 - リビジョン: 2.1

Microsoft SQL Server 2000 Standard Edition

  • kbnosurvey kbarchive _ik kbbug kbfix kbsqlserv2000bug kbsqlserv2000sp1fix KB279183
フィードバック