修正: 多数のクエリを簡易パラメーター化を使用して、SQL Server 2005 データベースに対してアプリケーションを送信するときにシステム パフォーマンスが低下する可能性があります。

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

目次

概要

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

現象

次のシナリオを検討してください。 アプリケーション Microsoft SQL Server 2005 データベースに対して多数のクエリを送信します。クエリと同じクエリ文字列が表示され、同じパラメーターを宣言します。ただし、クエリもパラメーター宣言文字列に有効桁数と小数点部桁数の数値データ型の値をさまざまに組み合わせたあります。SQL Server 2005 データベースは、簡易パラメーター化を使用します。このシナリオは、SQL Server 2005 システムのパフォーマンスが低下する可能性があります。さらに、CPU 使用率が高いことがあります。

SQL Server 2005 データベースのサイズが大きい高負荷のシナリオとより頻繁に発生します。

メモ SQL Server 2005 データベースの既定の動作は、簡易パラメーター化を使用します。

原因

この問題は、SQL Server の 1 つのクエリは、クエリ テキスト、パラメーター、パラメーター宣言の文字列に一致を検索するのには、多数のクエリを調べる必要がありますに発生します。

解決方法

修正プログラムの情報

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

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

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

前提条件

この修正プログラムを適用するには、SQL Server 2005 Service Pack がコンピューターにインストールされている 1 (SP1) する必要があります。
SQL Server 2005 Service Pack 1 の入手方法の詳細については、Knowledge Base の資料を参照するのには、次の資料番号をクリックしてください。
913089SQL Server 2005 の最新の service pack を入手する方法

情報を再起動します。

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

レジストリ情報

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

修正プログラムの置き換えに関する情報

この修正プログラムは、他の修正プログラムに置き換えられない。

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

この修正プログラムにはこの資料に記載されている問題を修正するために必要なファイルのみが含まれています。この修正プログラムは、製品を最新のビルドに更新するために必要なすべてのファイルの含めることはできません。
この修正プログラムの英語版がファイル属性 (またはそれ以降のファイル属性) が、次のとおり。日付および時刻これらのファイルを世界協定時刻 (UTC) が表示されます。ファイル情報を表示すると、ローカル時刻に変換します。UTC とローカル時刻との時差を確認するを使用して、 タイム ゾーン コントロール パネルの日付と時刻の項目に含まれる ◇
SQL Server 2005 の修正プログラムの 32 ビット
元に戻す全体を表示する
ファイル名ファイルのバージョンファイルのサイズ日付時間プラットフォーム
Microsoft.sqlserver.mgdsqldumper.dll2005.90.2164.075,5522006 年 6 月 14 日20: 29x 86
Microsoft.sqlserver.sqlenum.dll9.0.2164.0908,0642006 年 6 月 14 日20: 32x 86
Msgprox.dll2005.90.2164.0197,9202006 年 6 月 14 日20: 29x 86
Msmdlocal.dll9.0.2164.015,661,8562006 年 6 月 14 日20: 33x 86
Mssqlsystemresource.ldf該当なし524,2882006 年 6 月 14 日14: 23該当なし
Mssqlsystemresource.mdf該当なし39,911,4242006 年 6 月 14 日14: 23該当なし
Replprov.dll2005.90.2164.0547,6162006 年 6 月 14 日20: 31x 86
Replrec.dll2005.90.2164.0782,1122006 年 6 月 14 日20: 32x 86
Sqlaccess.dll2005.90.2164.0347,9362006 年 6 月 14 日20: 31x 86
Sqlservr.exe2005.90.2164.028,950,8722006 年 6 月 14 日20: 33x 86
SQL Server 2005 の修正プログラムを 64 ビット
元に戻す全体を表示する
ファイル名ファイルのバージョンファイルのサイズ日付時間プラットフォーム
Microsoft.sqlserver.mgdsqldumper.dll2005.90.2164.075,5522006 年 6 月 14 日20: 29x 86
Microsoft.sqlserver.mgdsqldumper.dll2005.90.2164.091,4242006 年 6 月 14 日21: 10x64
Microsoft.sqlserver.sqlenum.dll9.0.2164.0875,2962006 年 6 月 14 日21: 12x 86
Msgprox.dll2005.90.2164.0259,3602006 年 6 月 14 日21: 10x64
Msmdlocal.dll9.0.2164.015,661,8562006 年 6 月 14 日20: 33x 86
Mssqlsystemresource.ldf該当なし524,2882006 年 6 月 14 日14: 23該当なし
Mssqlsystemresource.mdf該当なし39,911,4242006 年 6 月 14 日14: 23該当なし
Replprov.dll2005.90.2164.0745,2482006 年 6 月 14 日21: 12x64
Replrec.dll2005.90.2164.01,008,4162006 年 6 月 14 日21: 12x64
Sqlaccess.dll2005.90.2164.0355,1042006 年 6 月 14 日21: 11x 86
Sqlservr.exe2005.90.2164.039,251,2322006 年 6 月 14 日21: 13x64
SQL Server 2005 の修正プログラムを 64 ビットの Itanium プロセッサ
元に戻す全体を表示する
ファイル名ファイルのバージョンファイルのサイズ日付時間プラットフォーム
Microsoft.sqlserver.mgdsqldumper.dll2005.90.2164.0163,1042006 年 6 月 14 日20: 29IA-64
Microsoft.sqlserver.mgdsqldumper.dll2005.90.2164.075,5522006 年 6 月 14 日20: 29x 86
Microsoft.sqlserver.sqlenum.dll9.0.2164.0875,2962006 年 6 月 14 日20: 29x 86
Msgprox.dll2005.90.2164.0542,4962006 年 6 月 14 日20: 28IA-64
Msmdlocal.dll9.0.2164.048,733,9842006 年 6 月 14 日20: 30IA-64
Mssqlsystemresource.ldf該当なし524,2882006 年 6 月 14 日14: 23該当なし
Mssqlsystemresource.mdf該当なし39,911,4242006 年 6 月 14 日14: 23該当なし
Replprov.dll2005.90.2164.01,617,1842006 年 6 月 14 日20: 29IA-64
Replrec.dll2005.90.2164.02,141,4722006 年 6 月 14 日20: 29IA-64
Sqlaccess.dll2005.90.2164.0349,4722006 年 6 月 14 日20: 28x 86
Sqlservr.exe2005.90.2164.072,208,6722006 年 6 月 14 日20: 30IA-64

状況

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

回避策

この問題を回避するには、クライアント アプリケーションで明示的なパラメーターを使用します。クライアント アプリケーションで明示的なパラメーターを使用すると、1 つだけの実行プランが作成され、プロシージャ キャッシュに格納します。この問題を回避するに、システムのパフォーマンスを SQL Server 2005 は正常に実行されます。

明示的なパラメーターと実行プランの詳細については再利用、次のマイクロソフト開発ネットワーク (MSDN) Web サイトを参照してください。
http://msdn2.microsoft.com/en-us/library/ms175580.aspx

詳細

アプリケーションは、SQL Server 2005 データベースに対して多数のクエリを送信すると、クエリが実行される前に、各クエリの実行プランがプロシージャ キャッシュ内に存在でなければなりません。

メモ 特定のクエリの実行プランがプロシージャ キャッシュ内にない場合は、SQL Server、クエリをコンパイルは、クエリの実行プランをプロシージャ キャッシュには、書き込みし、クエリが実行されます。

SQL Server 特定のクエリにキャッシュされている実行プランをプロシージャ キャッシュから SQL Server 2005 を取得すると、クエリがコンパイルされたときに派生元となった、ハッシュ キーを使用して、対応する実行プランを識別します。オリジナル リリース版の SQL Server 2005 クエリ テキストのみからハッシュ キーを派生し、パラメーター宣言の文字列をスキップします。SQL Server 2005 クエリ テキストのみからハッシュ キーを派生した場合、SQL Server 2005 の同一のクエリ文字列とパラメーターが同じ同じハッシュ バケット内にあるすべてのクエリのハッシュ キーが配置されます。この現象は、各クエリ パラメーター宣言文字列に有効桁数と、数値の小数点部桁数のさまざまな組み合わせを持っている場合でもに発生します。SQL Server 2005 は特定のクエリのプロシージャ キャッシュからキャッシュされたクエリ実行プランを取得しようとすると、SQL Server クエリ テキスト、パラメーター、パラメーター宣言の文字列に一致する 1 つのクエリの実行プランを検索するすべてのクエリ実行プランに、一致するハッシュ バケットを調べる必要があります。

この修正プログラムを適用した後、SQL Server 2005 のクエリ文字列とパラメーター宣言の文字列からハッシュ キーを派生させます。新しいクエリを別の既存のクエリと一致しないパラメーター宣言文字列に有効桁数と小数点の数値の値の組み合わせがある場合は、SQL Server 2005 の新しいクエリのハッシュ キー、新しいハッシュ バケットに配置します。新しいクエリを同一のクエリのテキストと同じパラメーターと共に、別の既存のクエリが SQL Server 2005 は、新しいハッシュ バケットに新しいクエリのハッシュ キーを配置します。そのため、SQL Server 2005 を使用して新しいクエリのプロシージャ キャッシュからキャッシュされた実行プランを取得しようとすると、一致するハッシュ バケットには SQL を確認するのには、サーバーは 1 つだけのクエリが含まれます。

この修正プログラムの解像度シナリオでは、SQL Server 2005 にも多くの実行プランがあります。パラメーター宣言文字列に有効桁数と、数値のスケールの新しい組み合わせを持つ各クエリは、別の実行プランが作成されるために発生します。各実行プランには、実行プランを作成するのには、SQL Server 2005 のシステム リソースが必要です。各実行プランには、実行プランをプロシージャ キャッシュに格納する SQL Server 2005 のシステム リソースが必要です。修正プログラムの解像度シナリオ多数の SQL Server 2005 のシステム リソースを必要とするため、SQL Server 2005 システムのパフォーマンスが予想以上に時間がかかることがあります。
詳細については、Knowledge Base の資料を参照するのには、次の資料番号をクリックしてください。
824684マイクロソフトのソフトウェア更新プログラムの説明に使用される一般的な用語の説明

プロパティ

文書番号: 920206 - 最終更新日: 2011年7月19日 - リビジョン: 3.0
キーワード:?
kbtshoot kbbug kbfix kbqfe kbpubtypekc kbhotfixserver kbautohotfix kbmt KB920206 KbMtja
機械翻訳の免責
重要: このサポート技術情報 (以下「KB」) は、翻訳者による翻訳の代わりに、マイクロソフト機械翻訳システムによって翻訳されたものです。マイクロソフトは、お客様に、マイクロソフトが提供している全ての KB を日本語でご利用いただけるように、翻訳者による翻訳 KB に加え機械翻訳 KB も提供しています。しかしながら、機械翻訳の品質は翻訳者による翻訳ほど十分ではありません。誤訳や、文法、言葉使い、その他、たとえば日本語を母国語としない方が日本語を話すときに間違えるようなミスを含んでいる可能性があります。マイクロソフトは、機械翻訳の品質、及び KB の内容の誤訳やお客様が KB を利用されたことによって生じた直接または間接的な問題や損害については、いかなる責任も負わないものとします。マイクロソフトは、機械翻訳システムの改善を継続的に行っています。
英語版 KB:920206
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