現象
Microsoft SQL Server 2012 Service Pack 1 (SP1) 累積更新プログラム 1 (CU1) 以降のバージョンまたは SQL Server 2014 では、 Substring 関数 (expression、start、length) を使用することを前提としています。 Expressionの長さが8000よりも大きく、 startがexpressionの長さよりも大きい場合は、アクセス違反が発生します。 さらに、次のエラーが表示されます。
現在のコマンドで重大なエラーが発生しました。 結果は破棄する必要があります。
解決方法
この問題は、SQL Server の次の累積的な更新プログラムで最初に修正されました。 修正プログラムを適用した後、 start が value 式の文字数より大きい場合、長さ0の式が返されます。
SQL Server 2012 SP2 の累積更新プログラム1 /en-us/help/2976982
SQL Server 2014 の累積更新プログラム2 /en-us/help/2967546
SQL Server 2012 SP1 の累積更新プログラム10 /en-us/help/2954099
SQL Server 用の新しい累積更新プログラムには、以前の累積的な更新プログラムに含まれていたすべての修正プログラムとすべてのセキュリティ修正が含まれています。 SQL Server の最新の累積的な更新プログラムを確認します。
状態
マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。