添加表时,SQL 2008合并复制无法更新相关项

时间:2010-05-24 17:18:16

标签: sql-server-2008 replication merge-replication

设置:现有的SQL2008合并复制方案。将大型服务器数据库(包括视图和存储过程)复制到客户端计算机。

我在做什么:

  • 向数据库添加新表
  • 将新表标记为要复制(使用SP_AddMergeArticle
  • 更改视图(已经是已复制内容的一部分)已更新为包含此新表中的字段(已连接到现有视图中的表)。存储过程也会同样更新。

问题:表被复制到客户端计算机,但视图未更新。存储过程也不会更新。

无用的解决方法:如果我在更新视图/ SP 之前调用SP_AddMergeArticle之后运行快照代理,那么视图和存储过程都是如此更改正确复制到客户端。

更大的问题:我正在运行一个事务中的数据库脚本列表,作为更大进程的一部分。快照代理无法在事务期间运行,如果我中断事务(例如,通过在多个事务中运行脚本),如果出现故障,我将无法回滚更改。

有没有人有任何建议?看起来我必须遗漏一些显而易见的东西,因为我不明白为什么对view / sproc的更改不会复制无论如何,无论新表发生了什么。

2 个答案:

答案 0 :(得分:1)

您是否使用ALTER VIEW |进行架构更改更改程序?文章“在发布数据库上进行架构更改”意味着这是必要的,并且使用Management Studio是不可能的。

本文详细讨论了架构更改,特别是有关兼容级别的合并复制和架构更改的部分。

答案 1 :(得分:0)

我离开时快速提示:

检查联机丛书帮助中的 疑难解答(复制) ...

验证您在每个系统上的安全性

使用一些工具来帮助了解正在发生的事情

打开每个方框上的Profiler跟踪