現象
次のような状況で問題が発生します。
-
"確定的" として宣言されている SQLCLR 関数があり、この関数を使用して、"定数の代わりとなる" 最適化を行うことができます。
-
SQLCLR 関数を指すシノニムがあります。
-
テーブル値関数 (TVF) は、シノニムを通じて SQLCLR 関数を参照します。
このシナリオでは、アプリケーションがこの TVF を照会すると、アクセス違反が発生し、 次のようなエラーメッセージが表示されることがあります。
メッセージ0、レベル11、状態0、行14
現在のコマンドで重大なエラーが発生しました。 結果は破棄する必要があります。
さらに、エラーメッセージが SQL Server のエラーログに記録されます。
解決方法
SQL Server の Service pack 情報
この問題は、SQL Server 用の次の service pack で修正されています。
サービスパックは累積されます。 Service Pack は累積的であり、 最新の Service Pack には新しい修正プログラムと共に、それ以前の Service Pack に含まれていたすべての修正プログラムが含まれています。 このサービスパックの最新の service pack と最新の累積的な更新プログラムを適用することをお勧めします。 最新の service pack をインストールする前に、以前のサービスパックをインストールする必要はありません。 最新の service pack と最新の累積的な更新プログラムの詳細については、次の記事の表1を参照してください。
状態
マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。
関連情報
ソフトウェアの更新を説明するために Microsoft が使用する 用語について説明します。