[FIX] ストアド プロシージャ sp_OAMethod、sp_OAGetProperty をストアド プロシージャまたは SQL Server 2005 での COM オブジェクトのメソッドを呼び出す場合使用すると、メモリ リークが発生します。

文書翻訳 文書翻訳
文書番号: 937277
Microsoft Microsoft SQL Server 2005年修正プログラム 1 つのダウンロード ファイルとして配布しています。修正プログラムは累積的であるため、各新しいリリースすべての修正プログラムが含まれているし、以前の SQL Server 2005 に含まれていたすべてのセキュリティ修正プログラム リリースを修正します。
すべて展開する | すべて折りたたむ

目次

ここにはこの修正プログラムのリリースに関する次について説明します。
  • この修正プログラム パッケージで修正される問題
  • この修正プログラム パッケージをインストールするための必要条件
  • この修正プログラム パッケージをインストールした後、コンピューターを再起動する必要がありますか
  • 修正プログラム パッケージが他の修正プログラム パッケージによって置き換えられますかどうか
  • レジストリの変更が必要かどうか
  • この修正プログラム パッケージに含まれているファイル

現象

Microsoft SQL Server を使用して、コンポーネント オブジェクト モデル (COM) オブジェクトのメソッドを呼び出すと 2005 年には sp_OAMethod ストアド プロシージャまたは sp_OAGetProperty ストアド プロシージャでメモリ リークが発生します。は、 sp_OAMethod ストアド プロシージャは、この問題が発生する場合は、結果が返されます、 出力 メソッドのパラメーターを指定します。は、 sp_OAGetProperty ストアド プロシージャは、この問題が発生するストアド プロシージャは、プロパティの値が返された場合、 出力 パラメーターです。

さらに、枯渇がないバッファー プール メモリの領域は、メモリ リークが発生する場合は、次のエラー メッセージが SQL Server のエラー ログ ファイルに記録されます。
2008-05-01 08:35:07.80 spid535 Downgrading バックアップ ログ バッファー値は 1024 k から 64 KB
2008-05-06 09:35:22.55 spid77 でした仮想バイトを割り当てられません: FAIL_VIRTUAL_RESERVE 1048576
2008-05-06 10:48:04.85 spid593 エラー: 701、レベル: 17、状態: 123。
2008-05-06 10:48:04.85 の spid593 がこのクエリを実行するが不足しているシステム メモリです。

原因

この問題は、SQL Server 2005 は、出力パラメーターの値を保持する変数に割り当てられているメモリを解放しないために発生します。

解決方法

累積的な更新プログラムの情報

この問題に対する修正は累積的な更新プログラム 2 に初めてリリースされました。この累積的な更新プログラム パッケージを SQL Server 2005 Service Pack 2 を入手する方法の詳細については、Knowledge Base の資料を参照するのには、次の資料番号をクリックしてください。
936305 SQL Server 2005 Service Pack 2 用の累積的な更新プログラム パッケージ 2
メモ ビルドは累積的であるため、新しい修正プログラム リリースすべての修正プログラムが含まれているし、以前の SQL Server 2005 に含まれていたすべてのセキュリティ修正プログラム リリースを修正します。マイクロソフトはこの修正プログラムを含む最新の修正プログラム リリースを適用を検討することをお勧めします。詳細については、Knowledge Base の資料を参照するのには、次の資料番号をクリックしてください。
937137 SQL Server 2005 Service Pack 2 のリリース以降後にリリースされた、SQL Server 2005 のビルドします。
特定の SQL Server のサービス パックの Microsoft SQL Server 2005年の修正プログラムが作成されます。SQL Server 2005 Service Pack 2 のインストールに SQL Server 2005 Service Pack 2 修正プログラムを適用する必要があります。既定では、SQL Server サービス パックで提供されている修正プログラム SQL Server の次の service pack に含まれてです。

修正プログラムの情報

サポートされている修正プログラムがマイクロソフトから入手可能です。ただし、この修正プログラムはこの資料に記載されている問題のみを修正するものです。この修正プログラムはこの問題が発生しているシステムにのみ適用されます。この修正プログラムは、今後さらにテストを受け取ることがあります。したがって、この問題で深刻な影響をされていない場合は、この修正プログラムを含む次のソフトウェア更新プログラムのリリースを待つことをお勧めします。

この修正プログラムがダウンロードできないか場合は、この記事の上部に「修正プログラムのダウンロード」セクションです。このセクションが表示されない場合は、マイクロソフト カスタマー サービス & サポート修正プログラムを入手するに問い合わせてください。

メモ その他の問題が発生した場合、またはトラブルシューティングが必要な場合は、別のサービス リクエストを作成する必要があります。追加の質問およびこの特定の修正プログラムの対象とならない問題については、通常のサポート料金が適用されます。一覧マイクロソフト カスタマー サービス & サポートの電話番号のまたは別のサービス リクエストを作成するには、次のマイクロソフト Web サイトを参照してください。
http://support.microsoft.com/contactus/?ws=support
メモ 「修正プログラムのダウンロード」フォームに修正プログラムが提供されている言語を表示します。お使いの言語が表示されない場合は、修正プログラムがその言語の利用できないためにです。

前提条件

Microsoft SQL Server 2005年サービス パック インストールこの修正プログラムを適用する 1 (SP1) が必要です。

SQL Server 2005 Service Pack 1 の入手方法の詳細については、Knowledge Base の資料を参照するのには、次の資料番号をクリックしてください。
913089SQL Server 2005 の最新の service pack を入手する方法

情報を再起動します。

この修正プログラムを適用した後コンピューターを再起動するはありません。

レジストリ情報

レジストリを変更するはありません。

修正プログラムのファイル情報

この修正プログラムにはこの資料に記載されている問題を修正するために必要なファイルのみが含まれています。この修正プログラムは、製品を最新のビルドに更新するために必要なすべてのファイルがありません。この修正プログラムの英語版がファイル属性 (またはそれ以降のファイル属性) が、次のとおり。日付および時刻これらのファイルを世界協定時刻 (UTC) が表示されます。ファイル情報を表示すると、ローカル時刻に変換します。UTC とローカル時刻との時差を確認するを使用して、 タイム ゾーン タブには 日付と時刻 コントロール パネルの項目。
SQL Server 2005 の 32年ビット バージョン
元に戻す全体を表示する
ファイル名ファイルのバージョンファイルのサイズ日付時間プラットフォーム
Bcp.exe2005.90.2232.069,4882007 年 5 月 09 日19: 36x 86
Databasemailengine.dll9.0.2232.075,1202007 年 5 月 09 日19: 36x 86
Logread.exe2005.90.2232.0400,7522007 年 5 月 09 日19: 37x 86
Microsoft.analysisservices.adomdclient.dll9.0.2232.0546,1602007 年 5 月 09 日19: 37x 86
Microsoft.analysisservices.deploymentengine.dll9.0.2232.0140,6562007 年 5 月 09 日19: 37x 86
Microsoft.analysisservices.dll9.0.2232.01,217,9042007 年 5 月 09 日19: 37x 86
Microsoft.sqlserver.mgdsqldumper.dll2005.90.2232.078,1922007 年 5 月 09 日19: 37x 86
Microsoft.sqlserver.sqlenum.dll9.0.2232.0910,7042007 年 5 月 09 日19: 37x 86
Msasxpress.dll9.0.2232.024,9442007 年 5 月 09 日19: 37x 86
Msgprox.dll2005.90.2232.0200,5602007 年 5 月 09 日19: 37x 86
Msmdlocal.dll9.0.2232.015,646,0642007 年 5 月 09 日19: 37x 86
Msmdredir.dll9.0.2232.03,993,9682007 年 5 月 09 日19: 37x 86
Odsole70.dll2005.90.2232.059,7602007 年 5 月 09 日19: 37x 86
Qrdrsvc.exe2005.90.2232.0369,5202007 年 5 月 09 日19: 37x 86
Rdistcom.dll2005.90.2232.0643,4402007 年 5 月 09 日19: 37x 86
Repldp.dll2005.90.2232.0187,2482007 年 5 月 09 日19: 37x 86
Replmerg.exe2005.90.2232.0320,8802007 年 5 月 09 日19: 37x 86
Replprov.dll2005.90.2232.0550,2562007 年 5 月 09 日19: 37x 86
Replrec.dll2005.90.2232.0784,7522007 年 5 月 09 日19: 37x 86
Replsub.dll2005.90.2232.0407,4082007 年 5 月 09 日19: 37x 86
Spresolv.dll2005.90.2232.0177,0082007 年 5 月 09 日19: 37x 86
Sqlaccess.dll2005.90.2232.0350,5762007 年 5 月 09 日19: 37x 86
Sqlagent90.exe2005.90.2232.0321,3922007 年 5 月 09 日19: 37x 86
Sqlservr.exe2005.90.2232.028,979,1122007 年 5 月 09 日19: 37x 86
Sqsrvres.dll2005.90.2232.066,4162007 年 5 月 09 日19: 37x 86
Xmlsub.dll2005.90.2232.0195,4402007 年 5 月 09 日19: 37x 86
Xpstar90.dll2005.90.2232.0295,2802007 年 5 月 09 日19: 37x 86
Xpstar90.rll2005.90.2232.0155,5042007 年 5 月 09 日19: 37x 86
SQL Server 2005 x 64 ベース版
元に戻す全体を表示する
ファイル名ファイルのバージョンファイルのサイズ日付時間プラットフォーム
Bcp.exe2005.90.2232.088,9442007 年 5 月 09 日16: 46x64
Databasemailengine.dll9.0.2232.075,1202007 年 5 月 09 日16: 46x 86
Logread.exe2005.90.2232.0525,1682007 年 5 月 09 日16: 46x64
Microsoft.analysisservices.adomdclient.dll9.0.2232.0546,1602007 年 5 月 09 日16: 46x 86
Microsoft.analysisservices.adomdclient.dll9.0.2232.0546,1602007 年 5 月 09 日19: 37x 86
Microsoft.analysisservices.deploymentengine.dll9.0.2232.0140,6562007 年 5 月 09 日19: 37x 86
Microsoft.analysisservices.dll9.0.2232.01,217,9042007 年 5 月 09 日19: 37x 86
Microsoft.sqlserver.mgdsqldumper.dll2005.90.2232.094,0642007 年 5 月 09 日16: 46x64
Microsoft.sqlserver.mgdsqldumper.dll2005.90.2232.078,1922007 年 5 月 09 日19: 37x 86
Microsoft.sqlserver.sqlenum.dll9.0.2232.0877,9362007 年 5 月 09 日16: 46x 86
Msasxpress.dll9.0.2232.030,0642007 年 5 月 09 日16: 46x64
Msasxpress.dll9.0.2232.024,9442007 年 5 月 09 日19: 37x 86
Msgprox.dll2005.90.2232.0262,0002007 年 5 月 09 日16: 46x64
Msmdlocal.dll9.0.2232.015,646,0642007 年 5 月 09 日19: 37x 86
Msmdredir.dll9.0.2232.03,993,9682007 年 5 月 09 日19: 37x 86
Odsole70.dll2005.90.2232.090,9922007 年 5 月 09 日16: 46x64
Qrdrsvc.exe2005.90.2232.0434,0322007 年 5 月 09 日16: 46x64
Rdistcom.dll2005.90.2232.0836,4642007 年 5 月 09 日16: 46x64
Repldp.dll2005.90.2232.0237,9362007 年 5 月 09 日16: 46x64
Repldp.dll2005.90.2232.0187,2482007 年 5 月 09 日19: 37x 86
Replmerg.exe2005.90.2232.0417,6482007 年 5 月 09 日16: 46x64
Replprov.dll2005.90.2232.0747,8882007 年 5 月 09 日16: 46x64
Replrec.dll2005.90.2232.01,010,5442007 年 5 月 09 日16: 46x64
Replsub.dll2005.90.2232.0528,2402007 年 5 月 09 日16: 46x64
Spresolv.dll2005.90.2232.0225,6482007 年 5 月 09 日16: 46x64
Sqlaccess.dll2005.90.2232.0357,7442007 年 5 月 09 日16: 46x 86
Sqlagent90.exe2005.90.2232.0392,5602007 年 5 月 09 日16: 46x64
Sqlservr.exe2005.90.2232.039,373,1682007 年 5 月 09 日16: 46x64
Sqsrvres.dll2005.90.2232.078,1922007 年 5 月 09 日16: 46x64
Xmlsub.dll2005.90.2232.0319,8562007 年 5 月 09 日16: 46x64
Xpstar90.dll2005.90.2232.0543,6002007 年 5 月 09 日16: 46x64
Xpstar90.rll2005.90.2232.0156,0162007 年 5 月 09 日16: 46x64

状況

マイクロソフトでは、この「対象」に記載されているマイクロソフト製品の問題として認識しています。

関連情報

Microsoft SQL Server 2000年における同様の問題の詳細については、Knowledge Base の資料を参照するのには、次の資料番号をクリックしてください。
816937FIX] ストアド プロシージャ sp_OAMethod を使用して、COM オブジェクトのメソッドを呼び出すと、メモリ リークが発生します。
SQL Server 更新プログラムの名前付けスキーマの詳細については、Knowledge Base の資料を参照するのには、次の資料番号をクリックしてください。
822499Microsoft SQL Server のソフトウェア更新プログラム パッケージの新しい命名方式は
ソフトウェアの更新の用語の詳細については、Knowledge Base の資料を参照するのには、次の資料番号をクリックしてください。
824684マイクロソフトのソフトウェア更新プログラムの説明に使用される一般的な用語の説明

詳細

次のサンプル スクリプトでは、使用して、 sp_OAMethod ストアド プロシージャとは sp_OAGetProperty ストアド プロシージャを使用して結果を取得する、 出力 パラメーターです。このスクリプト繰り返しに新しい接続を SQL Server 2005 を実行する場合は、毎回メモリ リークに発生します。
DECLARE @object int;
DECLARE @hr int;
DECLARE @src varchar(255), @desc varchar(255);
EXEC @hr = sp_OACreate 'SQLDMO.SQLServer', @object OUT;
IF @hr <> 0 BEGIN
EXEC sp_OAGetErrorInfo @object, @src OUT, @desc OUT
RETURN 
END
EXEC @hr = sp_OASetProperty @object, 'LoginSecure', 'TRUE'
IF @hr <> 0 BEGIN
EXEC sp_OAGetErrorInfo @object
RETURN
END
EXEC @hr = sp_OAMethod @object, 'Connect', NULL, '<ComputerName>\<InstanceName>'
IF @hr <> 0 BEGIN
EXEC sp_OAGetErrorInfo @object
RETURN
END
DECLARE @property varchar(255)
EXEC @hr = sp_OAMethod @object, 'HostName', @property OUT
IF @hr <> 0 BEGIN
EXEC sp_OAGetErrorInfo @object
RETURN
END
PRINT @property
EXEC @hr = sp_OAGetProperty @object, 'HostName', @property OUT
IF @hr <> 0 BEGIN
EXEC sp_OAGetErrorInfo @object
RETURN
END
PRINT @property
EXEC @hr = sp_OADestroy @object
IF @hr <> 0 BEGIN
EXEC sp_OAGetErrorInfo @object
RETURN
END
さらに、「現象」に記載されている問題が発生するため、アクセス違反ことがあります。SQL エラー ・ ログ ・ ファイルは、次の情報が含まれます。
2008-03-24 10:03:09.51 spid51      Using 'odsole70.dll' version '2005.90.1399' to execute extended stored procedure 'sp_OACreate'. This is an informational message only; no user action is required.
2008-03-24 10:03:13.43 spid51      Using 'dbghelp.dll' version '4.0.5'
2008-03-24 10:03:13.51 spid51      ***Stack Dump being sent to C:\Program Files\Microsoft SQL Server\MSSQL.2\MSSQL\LOG\SQLDump0001.txt
2008-03-24 10:03:13.53 spid51      SqlDumpExceptionHandler: Process 51 generated fatal exception c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server is terminating this process.
2008-03-24 10:03:13.53 spid51      * *******************************************************************************
2008-03-24 10:03:13.53 spid51      *
2008-03-24 10:03:13.53 spid51      * BEGIN STACK DUMP:
2008-03-24 10:03:13.53 spid51      *   03/24/08 10:03:13 spid 51
2008-03-24 10:03:13.53 spid51      *
2008-03-24 10:03:13.54 spid51      *
2008-03-24 10:03:13.54 spid51      *   Exception Address = 0000000033387164 Module(odsole70+0000000000007164)
2008-03-24 10:03:13.54 spid51      *   Exception Code    = c0000005 EXCEPTION_ACCESS_VIOLATION
2008-03-24 10:03:13.54 spid51      *   Access Violation occurred reading address 0000000006264FF8
この問題に対する修正は Odsole70.dll ファイルです。バイナリの最初の修正済みのバージョンは 2005.90.2232.0 です。

Microsoft SQL Server 2005 Service Pack 2 (SP2) は、この修正済みのバイナリを含みません。SQL Server 2005 SP2 でこの問題が発生する場合は、この問題を解決するのには、累積的な更新をインストールしてください。

この修正プログラムが含まれています。 最初の累積的な更新を SQL Server 2005 SP2 の累積的な更新プログラム パッケージ 2 です。この更新プログラムのビルド 09.00.3175 です。そのため、最新の累積的な更新を SQL Server 2005 または 2007 この問題を解決するのには、6 月以降後にリリースされた累積的な更新をインストールできます。

SQL Server 2005 Service Pack 2 用の累積的な更新プログラムの詳細については、Knowledge Base の資料を参照するのには、次の資料番号をクリックしてください。
937137SQL Server 2005 Service Pack 2 のリリース以降後にリリースされた、SQL Server 2005 のビルドします。

プロパティ

文書番号: 937277 - 最終更新日: 2011年8月9日 - リビジョン: 8.0
キーワード:?
kbfix kbqfe kbpubtypekc kbexpertiseadvanced kbhotfixserver kbautohotfix kbmt KB937277 KbMtja
機械翻訳の免責
重要: このサポート技術情報 (以下「KB」) は、翻訳者による翻訳の代わりに、マイクロソフト機械翻訳システムによって翻訳されたものです。マイクロソフトは、お客様に、マイクロソフトが提供している全ての KB を日本語でご利用いただけるように、翻訳者による翻訳 KB に加え機械翻訳 KB も提供しています。しかしながら、機械翻訳の品質は翻訳者による翻訳ほど十分ではありません。誤訳や、文法、言葉使い、その他、たとえば日本語を母国語としない方が日本語を話すときに間違えるようなミスを含んでいる可能性があります。マイクロソフトは、機械翻訳の品質、及び KB の内容の誤訳やお客様が KB を利用されたことによって生じた直接または間接的な問題や損害については、いかなる責任も負わないものとします。マイクロソフトは、機械翻訳システムの改善を継続的に行っています。
英語版 KB:937277
Microsoft Knowledge Base の免責: Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。

フィードバック

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com