0

我在设置复制(通过 HTTPS 的网络同步)时遇到了很大的麻烦。

如果我只发布表格,它们会很好地复制数据。

如果我添加视图和存储过程,那么它会失败并显示以下消息:

ComErrorException (0x80004005): The schema script 'xxx' could not be propagated to the subscriber

发布是 SQL 2008,订阅者是 SQL Express 2005。

这些视图都相对简单,例如:(SQL 在顶部添加了 DROP)。

删除视图 [dbo].[vAllUsers] 去

SET QUOTED_IDENTIFIER ON 开始 SET ANSI_NULLS ON 开始

CREATE VIEW [dbo].[vAllUsers] AS SELECT userid FROM staff WHERE userid IS NOT NULL UNION all SELECT userid FROM avenuestaff WHERE userid IS NOT NULL UNION all SELECT userid FROM Fleetmanagers WHERE userid IS NOT NULL go

我很困惑,基本上不知道我在做什么。有没有人有什么想法????

10 年 12 月 3 日更新

好吧,我一直在摆弄这个有点久了。它确实复制了表、数据和用户定义的函数,但不会出现存储过程或视图。这说明什么?

4

1 回答 1

0

好的,我希望这对其他人有所帮助,因为我发现了问题所在。

基本上,如果没有表,sprocs 和视图将不会复制(我在此处找到有关此链接文本的 MSDN 博客)。所以在我的例子中,我已经有了所有的表和数据,所以当我开始添加视图时,它们是唯一遇到的东西,它不起作用。

我还有一个函数引用了一个已被删除的列(所以当它在订阅者处创建时失败了)。

我们还需要复制大量数据(我们正在执行 HTTP Web 同步复制),因此必须调整服务器上代理中的设置,以减少每次命中发送的数据。有关信息链接文本,请参阅本文

于 2010-12-03T09:46:03.263 回答