Microsoft 以一个可下载文件的形式分发 Microsoft SQL Server 2008 R2 修补程序。 由于修补程序是累积的,因此每个新版本都包含了以前的 SQL Server 2008 R2 修补程序版本附带的所有修补程序和所有安全修补程序。
症状
请考虑以下情况:
-
在 Microsoft SQL Server 2008 R2 实例上创建事务复制发布。
-
发布包含具有 XML 列的表。
-
初始化发布时,表中发生下列事件之一:
-
插入的行中包含 XML 列中的空字符串。
-
通过在 XML 列中插入一个空字符串来更新行。
-
在这种情况下,复制日志读取器代理崩溃,复制失败。注意 如果 XML 列的值为 NULL,则不会发生此问题。
解决方案
累积更新信息
SQL Server 2008 R2 Service Pack 1
此问题的修补程序首次在累积更新6中发布。有关如何为 SQL Server 2008 R2 Service Pack 1 获取此累积更新包的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2679367 SQL Server 2008 R2 Service Pack 1 的累积更新包6注意 由于这些版本是累积的,因此每个新的修复版本都包含了以前的 SQL Server 2008 R2 Service Pack 1 修复版本附带的所有修补程序和所有安全修补程序。 我们建议你考虑应用包含此修补程序的最新修复版本。 有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2567616 在发布 SQL Server 2008 R2 Service Pack 1 之后发布的 SQL Server 2008 R2 版本
解决方法
要解决此问题,请遵循以下指南:
-
不要在 XML 列中插入包含空字符串的行。
-
不要通过在 XML 列中插入空字符串来更新行。
状态
Microsoft 已确认这是在“适用范围”部分中列出的 Microsoft 产品存在的问题。
参考
有关复制日志读取器代理的详细信息,请访问以下 Microsoft 开发人员网络(MSDN)网站: