KB2778479 - 修复:在 SQL Server 2008 R2 或 SQL Server 2012 中执行与二进制大型对象相关操作的大型批次中运行 sp_refreshview 存储过程时出现 17066 和 3624 错误

应用对象
SQL Server 2008 R2 Service Pack 2 SQL Server 2008 R2 Datacenter SQL Server 2008 R2 Enterprise SQL Server 2008 R2 Developer SQL Server 2008 R2 Standard SQL Server 2008 R2 Workgroup SQL Server 2008 R2 Web SQL Server 2008 R2 Express SQL Server 2012 Enterprise Core SQL Server 2012 Web SQL Server 2012 Standard SQL Server 2012 Express SQL Server 2012 Enterprise SQL Server 2012 Developer

Microsoft 将 Microsoft SQL Server 2008 R2 Service Pack 2 修补程序作为一个可下载文件分发。 由于修补程序是累积的,因此每个新版本都包含之前 SQL Server 2008 R2 Service Pack 2 修补程序版本中包含的所有修补程序和安全修补程序。

症状

请考虑以下情形:

  • 您在 Microsoft SQL Server 2008 R2 或 Microsoft SQL Server 2012 中执行大量 SQL 语句。
  • SQL 语句执行大量二进制大型对象 (BLOB) 相关的操作。
  • SQL 语句调用批处理中的sp_refreshview存储过程。

在这种情况下,sp_refreshview存储过程可能会失败。 出现此问题时,SQL Server 错误日志中将记录以下错误:此外,发生此问题时,SQL Server 错误日志中可能会记录以下错误:注意

  • 在批处理外部调用 sp_refreshview 存储过程时,不会出现此问题。
  • 如果针对批处理中的同一视图调用 sp_refreshview 存储过程,则该过程将失败。
  • 与二进制大型对象相关的操作可能是隐式的。 因此,这个问题很难识别。 但是,可以通过使用错误消息来识别此问题。

解决方法

累积更新信息

SQL Server 2012 累积更新 6

                
此问题的修补程序首次在累积更新 6 中发布。 有关如何获取 SQL Server 2012 的此累积更新程序包的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

2728897 SQL Server 2012 累积更新程序包 6 注意 由于版本是累积的,因此每个新的修补程序版本都包含之前 SQL Server 2012 修补程序版本中包含的所有修补程序和所有安全修补程序。 建议应用包含此修补程序的最新修补程序版本。 有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

2692828 2012 SQL Server 发布之后发布的 SQL Server 2012 内部版本

SQL Server 2012 SP1 累积更新 2

此问题的修补程序在累积更新 2 中首次发布。 有关如何获取 SQL Server 2012 SP1 的此累积更新程序包的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

2790947 SQL Server 2012 Service Pack 1 累积更新包 2 注意 由于版本是累积的,因此每个新的修复版本都包含之前 SQL Server 2012 SP1 修复版本中包含的所有修补程序和所有安全修补程序。 建议应用包含此修补程序的最新修补程序版本。 有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

2772858 在 SQL Server 2012 Service Pack 1 发布之后发布的 SQL Server 2012 内部版本

SQL Server 2008 R2 SP2 的累积更新 4

此问题的修补程序已在累积更新 4 中首次发布。 有关如何获取 SQL Server 2008 R2 SP 2 的此累积更新程序包的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

2777358 SQL Server 2008 R2 Service Pack 2 的累积更新包 4 注意 由于版本是累积的,因此每个新的修复版本都包含之前 SQL Server 2008 R2 SP 2 修复版本中包含的所有修补程序和所有安全修补程序。 建议应用包含此修补程序的最新修补程序版本。 有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

2730301 在 2008 R2 Service Pack 2 发布之后发布的 SQL Server 2008 R2 内部版本SQL Server

状态

Microsoft 已确认在 "适用于" 部分中所列的 Microsoft 产品中存在问题。

参考资料

有关 SQL Server 增量服务模型的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

935897 可从 SQL Server 团队获取增量服务模型以提供可以解决所报告问题的修补程序 有关SQL Server更新的命名架构的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

822499 Microsoft SQL Server 软件更新包的命名架构 有关软件更新术语的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

824684 用于描述Microsoft软件更新的标准术语说明