症状
假设在分区表上具有对等 (P2P) 或事务复制Microsoft SQL Server。 执行分区切换或包含该分区中挂起的复制命令的合并操作时,在错误日志中SQL Server错误条目:
错误:608:在 database <DatabaseName中找不到分区 ID <ID>目录>。 元数据不一致。 运行 DBCC CHECKDB 以检查元数据损坏。
此外,日志读取器代理生成访问冲突转储。
状态
Microsoft 已经确认这是一个列于“适用范围”部分的 Microsoft 产品问题。
解决方法
以下累积更新中修复了此问题SQL Server:
备注 应用此修补程序后,如果在该分区中对挂起的复制命令执行分区切换或合并操作,仍可在 SQL Server 错误日志中观察到错误 608,但不存在访问冲突转储。
关于累积更新SQL Server:
每个新的累积更新SQL Server包含以前的累积更新中包含的所有修补程序和所有安全修补程序。 查看最新累积更新,了解SQL Server:
更多信息
如果通过当前版本在 SQL Server 2008 R2 上启用分区切换,则在不久的将来可能还需要执行拆分和合并操作。 在复制表上执行拆分或合并操作之前,请确保该分区没有任何挂起的复制命令。 还应确保在拆分和合并操作期间不会在分区上执行 DML 操作。 如果存在日志读取器尚未处理的事务,或者在执行拆分或合并操作时对复制表的分区执行 DML 操作 (涉及同一分区) ,则可能会导致日志读取器代理的处理错误。 若要更正错误,可能需要重新初始化订阅。
有关详细信息,请参阅"复制分区表和索引"。
警告
不应为对等发布启用分区切换,因为隐藏列用于检测和解决冲突。
参考
了解 Microsoft 用于描述软件更新的术语。