应用对象
SQL Server 2008 Developer SQL Server 2008 Enterprise SQL Server 2008 Standard SQL Server 2008 Workgroup SQL Server 2008 R2 Datacenter SQL Server 2008 R2 Developer SQL Server 2008 R2 Enterprise SQL Server 2008 R2 Standard SQL Server 2008 R2 Workgroup

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

症状

请考虑 Microsoft SQL Server 2008 或 Microsoft SQL Server 2008 R2 中的以下方案:

  • 为数据库配置事务复制。

  • 数据库是使用read_committed_snapshot选项配置的。

  • 复制配置为使用本机sync_method。 然后,将初始化复制订阅服务器,并为复制生成快照。

在此方案中,分发代理失败并出现错误代码 20598。 此外,可能会收到以下错误消息之一:

  • <日期时间> 平淡<ID>Replication-Replication 分布 子系统:代理 <代理名称> 失败。 应用复制的命令时,订阅服务器上找不到该行。

  • <日期时间> 平淡<ID> 错误: 14151, 严重性: 18, 状态: 1。<日期时间> 平淡< ID>Replication-Replication 分布 子系统:代理 <代理名称> 失败。 违反 PRIMARY KEY 约束“<主键名称>”。 无法在 订阅服务器>的对象“<表”中插入重复键。

原因

出现此问题的原因是在为复制生成快照时缺少锁。

解决方法

累积更新信息

SQL Server 2008 Service Pack 1

此问题的修复首次在 2008 Service Pack 1 SQL Server累积更新 9 中发布。

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

970365 SQL Server 2008 Service Pack 1 发布后发布的 2008 SQL Server版本 Microsoft SQL Server 2008 修补程序是针对特定SQL Server服务包创建的。 必须将 SQL Server 2008 Service Pack 1 修补程序应用于安装 SQL Server 2008 Service Pack 1。 默认情况下,在SQL Server服务包中提供的任何修补程序都包含在下一个SQL Server服务包中。

SQL Server 2008 Service Pack 2

此问题的修补程序首次在 SQL Server 2008 Service Pack 2 的累积更新 1 中发布。 有关此累积更新包的详细信息,请单击以下文章编号以查看 Microsoft 知识库中的文章:

2289254 SQL Server 2008 Service Pack 2Note 的累积更新 1 由于生成是累积的,因此每个新修补程序版本都包含所有修补程序和上一SQL Server 2008 修复版本中包含的所有安全修补程序。 建议考虑应用包含此修补程序的最新修复版本。 有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

2402659 SQL Server 2008 Service Pack 2 发布后发布的 2008 SQL Server版本

SQL Server 2008 R2

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

2345451 SQL Server 2008 R2 说明的累积更新包 4 由于生成是累积的,因此每个新修补程序版本都包含所有修补程序和上一SQL Server 2008 R2 修复版本中包含的所有安全修补程序。 建议考虑应用包含此修补程序的最新修复版本。 有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

981356 SQL Server 2008 R2 发布后发布的 SQL Server 2008 R2 版本

状态

Microsoft 已确认这是在“适用范围”部分中列出的 Microsoft 产品存在的问题。

参考

有关SQL Server 复制的详细信息,请访问以下 Microsoft 开发人员网络 (MSDN) 网站:

SQL Server 复制有关快照隔离的详细信息,请访问以下 MSDN 网站:

快照隔离有关SQL Server的增量服务模型的详细信息,请单击以下文章编号以查看 Microsoft 知识库中的文章:  

935897 SQL Server团队提供了增量服务模型,用于为报告的问题提供修补程序 有关SQL Server更新的命名架构的详细信息,请单击以下文章编号,查看 Microsoft 知识库中的文章:  

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

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

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。