我有一个发布用于事务复制的分区表。 即使在发布中选项allow_partition_switch = 1且replicate_partition_switch = 0,此表上的SWITCH操作似乎也会复制到订户。
当我尝试在发布者上执行以下示例脚本时…
ALTER TABLE [PartitionedTable] SWITCH PARTITION 21 TO [PartitionedTable_SWAP] PARTITION 21
将返回以下错误,并生成堆栈转储。
来自具有SPID 53的会话的用户请求产生了致命的exception。 SQL Server正在终止此会话。 联系产品支持服务与日志目录中产生的转储。
删除发布允许SWITCH PARTITION语句按预期执行。 但是,为什么事务复制要么明确地试图复制SWITCH操作,要么至less依赖于发布器上SWITCH操作的发生? 这是一个SQL Server的错误? (也许固定在以后的SP或CU版本??)
另一个问题是,如果我在文章上应用filter,这是否能解决问题?
肖恩·菲茨杰拉德
SQL Server 2008 Service Pack 2已于八月份发布,因此如果您有足够的时间来尝试自行解决问题,那么可能值得一试。 或者,你可以复制一个新的构build?
SQL Server 2008 Service Pack 2: http : //www.microsoft.com/download/en/details.aspx?id=12548