徵狀
假設您使用的是 Microsoft SQL Server 2012 Service Pack 1 (SP1)累積更新1(CU1)和更新版本或 SQL Server 2014 中的 子字串(expression、start、length) 函數。 當 expression 的長度大於8000且 start 大於 運算式的長度時,就會發生存取違規。 此外,您會收到下列錯誤:
目前的命令發生嚴重錯誤。 結果(如果有的話)應該捨棄。
解決方案
此問題最初是在 SQL Server 的後續累積更新中修正。 在套用熱修復程式後,如果 start 大於值運算式中的字元數,則會傳回零長度運算式。
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 的最新累計更新:
狀態
Microsoft 已確認本篇文章<適用於>一節所列之 Microsoft 產品確實有上述問題。