症状
假设你在 Microsoft SQL Server 2012 Service Pack 1 (SP1)累积更新1(CU1)和更高版本或 SQL Server 2014 中使用 子字符串(表达式、start、length) 函数。 当 表达式 的长度大于8000且 开头 大于 表达式的长度时,将发生访问冲突。 此外,你会收到以下错误:
当前命令出现严重错误。 应丢弃结果(如果有)。
解决方案
在 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 产品存在的问题。