我有一个已发布的分区表,用于事务复制。尽管发布中的 allow_partition_switch = 1 和 replicate_partition_switch = 0 选项,但此表上的 SWITCH 操作似乎已复制到订阅服务器。
当我尝试在发布者上执行以下示例脚本时...
更改表 [PartitionedTable] 将分区 21 切换到 [PartitionedTable_SWAP] 分区 21
返回以下错误并生成堆栈转储。
来自 SPID 53 会话的用户请求生成了致命异常。SQL Server 正在终止此会话。请联系产品支持服务部门并提供日志目录中生成的转储。
删除发布允许 SWITCH PARTITION 语句按预期执行。但是,为什么事务复制显然要么尝试复制 SWITCH 操作,要么至少依赖于发布服务器上的 SWITCH 操作发生?这是 SQL Server 错误吗?(也许在以后的 SP 或 CU 版本中修复??)
另一个问题是,如果我对文章应用过滤器,这能解决问题吗?
肖恩·菲茨杰拉德
答案1
SQL Server 2008 Service Pack 2 于 8 月发布,因此如果您有时间尝试自己解决问题,可能值得一试。或者,您可以在全新版本中进行复制吗?
SQL Server 2008 服务包 2: http://www.microsoft.com/download/en/details.aspx?id=12548