分区表的SQL Server 2008 SP1事务复制生成StackDump

我有一个发布用于事务复制的分区表。 即使在发布中选项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