KB2520808 - 修正: SQL プロファイラまたは SQL Server 拡張イベントを使用している場合に、SQL Server 2008 または SQL Server 2008 R2 で TVP を使用するクエリを実行すると、スケジューラエラーが生成されない

適用先
SQL Server 2008 Developer SQL Server 2008 Enterprise SQL Server 2008 Express SQL Server 2008 Express with Advanced Services SQL Server 2008 R2 Developer SQL Server 2008 R2 Enterprise SQL Server 2008 R2 Express SQL Server 2008 R2 Express with Advanced Services SQL Server 2008 R2 Standard

マイクロソフトでは、Microsoft SQL Server 2008 R2 の修正を 1 つのダウンロード可能なファイルとして配布しています。 修正は累積的であるため、新しいリリースの修正には、以前のリリースの SQL Server 2008 R2 の修正に含まれていたすべての修正プログラムおよびセキュリティ更新プログラムが含まれています。

現象

たとえば次のようなシナリオを考えてみます。

  • Microsoft SQL Server 2008 または Microsoft SQL Server 2008 R2 を実行しているコンピューターで、多数の行を含むテーブル値パラメータ (TVP) を使用します。
  • サーバー上で SQL プロファイラーまたは SQL Server 拡張イベントを使用します。
  • TVP を使用するクエリを一緒に実行します。

このシナリオでは、非生成スケジューラ エラーが発生し、同じスケジューラで既に実行されているクエリの実行速度が遅くなります。 さらに、ミニダンプ ファイルが SQL Server ログ フォルダーに生成されます。

原因

この問題は、SQL Server データベース エンジンのエラーが原因で発生します。 TVP のテキスト列は挿入文字列またはバッファとして実装され、行数を増やすとバッファ数が増加します。 ただし、バッファーを解放するプロセスには時間がかかります。 そのため、リリース操作と圧縮操作が発生すると、非生成スケジューラ エラーが生成されます。

解決策

SQL Server 2008 R2 でこの問題を解決するには、次のいずれかの方法を使用します。

  • SQL Server 2008 R2 の累積的な更新プログラム パッケージ 7 をインストールします。
  • 次の修正プログラム パッケージをインストールします。

SQL Server 2008 R2 または SQL Server 2008 でこの問題を回避するには、「回避策」セクションを参照してください。

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

SQL Server 2008 R2

                
この問題の修正プログラムは、累積的な更新プログラム 7 で最初にリリースされました。 SQL Server 2008 R2 用のこの累積的な更新プログラム パッケージを入手する方法の詳細については、以下のサポート技術情報番号をクリックしてください。

2507770 SQL Server 2008 R2 の累積的な更新プログラム パッケージ 7 注: ビルドは累積的であるため、新しい修正プログラムの各リリースには、以前の SQL Server 2008 R2 更新プログラムのリリースに含まれていたすべての修正プログラムおよびセキュリティ更新プログラムが含まれています。 この修正プログラムが含まれている最新リリースの修正の適用を検討することを推奨します。 詳細については、次のマイクロソフト サポート技術情報番号をクリックしてください。

981356 SQL Server 2008 R2 のリリース以降にリリースされた SQL Server 2008 R2 のビルド

修正プログラムの情報

            
 マイクロソフトでは、この問題を修正する修正プログラムを提供しています。 ただし、この修正プログラムは、ここで説明する問題のみを修正することを目的としたものです。 この修正プログラムは、ここで説明する問題が発生しているシステムにのみ適用してください。 この修正プログラムは、今後さらにテストを行う場合があります。 したがって、この問題で深刻な影響を受けていない場合は、この修正プログラムが含まれる次のソフトウェア更新プログラムがリリースされるまで待つことを推奨します。

修正プログラムをダウンロードできる場合は、このサポート技術情報の資料の上部に「修正プログラムのダウンロード」セクションがあります。 このセクションが表示されていない場合は、Microsoft カスタマー サービス & サポート にお問い合わせのうえ、修正プログラムを入手してください。

注: 別の問題が発生した場合、またはトラブルシューティングが必要な場合には、別のサービス リクエストを作成することが必要になる場合があります。 特定の修正プログラムの対象とならない追加の質問および問題については、通常のサポート料金が適用されます。 マイクロソフト カスタマー サービス サポートの電話番号一覧を参照、または別のサービス リクエストを作成するには、次のマイクロソフト Web サイトを参照してください。

/contactus/?ws=support 注: [修正プログラムのダウンロードが利用可能] フォームには、修正プログラムを使用できる言語が表示されます。 使用している言語が表示されない場合は、その言語の修正プログラムが存在しないことになります。

前提条件

この修正プログラムを適用するには、Microsoft SQL Server 2008 R2 がインストールされている必要があります。

再起動の必要性

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

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

この修正プログラムを適用しても、以前にリリースされた修正プログラムが置き換えられることはありません。

ファイル情報

このバージョンのファイル属性 (または、これより新しいファイル属性) は次表のとおりです。 これらのファイルの日付と時刻は世界協定時 (UTC) で記載されています。 ファイル情報に表示される時刻は、ローカル時刻に変換されています。 UTC とローカル時刻との時差を確認するには、[コントロール パネル] の [日付と時刻] の [タイム ゾーン] タブを使用してください。

サポートされているすべての x86 バージョンの SQL Server 2008 R2

ファイル名 ファイルのバージョン ファイル サイズ 日付 時刻 プラットフォーム
Sqlservr.exe 2009.100.1769.0 42,919,776 2011 年 3 月 22 日 1,937 x86

サポートされているすべての x64 バージョンの SQL Server 2008 R2

ファイル名 ファイルのバージョン ファイル サイズ 日付 時刻 プラットフォーム
Sqlservr.exe 2009.100.1769.0 61,974,880 2011 年 3 月 22 日 18:46 x64

サポートされているすべての IA-64 バージョンの SQL Server 2008 R2

ファイル名 ファイルのバージョン ファイル サイズ 日付 時刻 プラットフォーム
Sqlservr.exe 2009.100.1769.0 121,813,856 2011 年 3 月 22 日 1,814 IA-64

              

              

回避策

この問題を回避するには、以下のいずれかの方法を使用します。

  • SQL プロファイラまたは SQL Server 拡張イベントは使用しないでください。
  • トレース定義の [RPC:開始] と [RPC:完了] チェック ボックスをオフにします。

状態

Microsoft は、これが "適用対象" セクションに記載されている Microsoft 製品の問題であることを確認しました。

追加情報

TVP の詳細については、次の MSDN Web サイトを参照してください。

TVP に関する一般情報 SQL プロファイラーの詳細については、次の MSDN Web サイトを参照してください。

SQL プロファイラに関する一般情報