KB2715312-FIX: SQL Server 2008 R2 または SQL Server 2012 の PATH モードで FOR XML 句を使用するクエリを実行すると、エラーが発生する

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

現象

次のような状況で問題が発生します。

  • Microsoft SQL Server 2008 R2 または Microsoft SQL Server 2012 でクエリを実行するクライアントアプリケーションがある。

  • このクエリでは、 PATHモードでFOR XML句が使われています。

  • クエリによって [NO_BROWSETABLE の設定 ] コマンドが実行され、 NO_BROWSETABLE 設定が有効になります。

このシナリオでは、クエリは実行されません。 さらに、クライアントアプリケーションで次のエラーメッセージが表示され、ミニダンプファイルが SQL エラーログに生成されます。

Msg 0、Level 11、State 0、Line 0A 重大なエラーが現在のコマンドで発生しました。 結果は破棄する必要があります。Msg 0、Level 20、State 0、Line 0A 重大なエラーが現在のコマンドで発生しました。 結果は破棄する必要があります。

注意事項

  • クエリを実行するために使用されるクエリプランはコンパイルされません。

  • SQL Server プロファイルを開始したときに、失敗したクエリに関するプロファイラーイベントはありません。

  • この問題が発生すると、SQL Server サービスが断続的にシャットダウンします。

原因

この問題は、SQL Server algebrizer の内部エラーが原因で発生します。 この問題は、結合演算子ノードの一方側から結合演算子ノードの反対側にプルされた列を SQL Server が追加しようとしたときに発生します。 そのため、結合演算子ノードの一方の側で定義されている列が結合演算子ノードの反対側に表示されないため、無効な algebrizer ツリーが作成されます。

解決方法

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

SQL Server 2012

この問題の修正プログラムは、SQL Server 2012 の累積更新プログラム3で最初にリリースされました。この累積的な更新プログラムパッケージの詳細については、次の記事番号をクリックして、Microsoft サポート技術情報の記事を参照してください。

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

2692828 SQL Server 2012 がリリースされた後にリリースされた SQL Server 2012 ビルド Sql server 2012 のインストールには、SQL Server 2012 修正プログラムを適用する必要があります。

SQL Server 2008 R2 Service Pack 2

この問題の修正プログラムは、SQL Server 2008 R2 Service Pack 2 の累積更新プログラム1で最初にリリースされました。この累積的な更新プログラムパッケージの入手方法の詳細については、次の記事番号をクリックして、Microsoft サポート技術情報の記事を参照してください。

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

2730301 SQL Server 2008 R2 Service Pack 2 がリリースされた後にリリースされた SQL Server 2008 R2 ビルド

累積的な更新プログラムパッケージ 7 (SQL Server 2008 R2 SP1)

この問題の修正プログラムは、SQL Server 2008 R2 Service Pack 1 の累積更新プログラム7で最初にリリースされました。この累積的な更新プログラムパッケージの詳細については、次の記事番号をクリックして、Microsoft サポート技術情報の記事を参照してください。

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

2567616 SQL Server 2008 R2 SP1 がリリースされた後にリリースされた SQL Server 2008 R2 ビルド Microsoft SQL Server 2008 R2 の修正プログラムは、特定の SQL Server サービスパック用に作成されます。 Sql server 2008 R2 service pack 1 のインストールには、SQL Server 2008 R2 Service Pack 1 ホットフィックスを適用する必要があります。 既定では、SQL Server service pack に含まれているすべての修正プログラムは、次の SQL Server service pack に含まれています。

状態

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

回避策

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

方法 1

PATHモードでは、 FOR XML句は使用しないでください。

方法 2

次のコマンドを実行して NO_BROWSETABLE 設定を無効にします。

設定 NO_BROWSETABLE オフ

参照情報

参照モードの詳細については、次の MSDN web サイトを参照してください。

参照モードに関する一般的な情報PATH モードで FOR XML 句を使用する方法の詳細については、次の MSDN web サイトを参照してください。

FOR XML 句で PATH モードを使用する方法

ヘルプを表示

スキルを磨く
トレーニングの探索
新機能を最初に入手
Microsoft Insider に参加する

この情報は役に立ちましたか?

フィードバックをお送りいただきありがとうございます!

フィードバックをお寄せいただき、ありがとうございます。Office サポートの担当者におつなぎいたします。

×