问题标签 [merge-replication]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
314 浏览

sql-server-2008 - 手动同步 SQL Server 之谜

我在通过 Internet 连接的两个站点中安装了两个 SQL Server 2008,并且在它们之间安装了合并复制,但是其中一个站点的断开时间很长,客户要求我们进行手动同步(基于文件)所以他们可以在这种情况下使服务器同步。

我的简单问题是:
从两个数据库生成更改并将结果应用于两个数据库的最佳工具是什么?

0 投票
1 回答
1220 浏览

visual-studio-2010 - 用于复制表的 VS 2010 数据库部署

我开始使用 Visual Studio 中的数据库项目来更好地跟踪架构和存储过程的更改。我喜欢它的想法,但我遇到了一点小问题。在开发中,我的数据库中的表没有被复制,因为没有必要。但是,测试和生产环境需要具有合并复制。这当然会在我的所有表格中添加一个 rowguid 列和所有爵士乐。

所以我想我的问题可以分解为:

  • 如何利用在数据库项目中使用部署生成的架构更改脚本,但在我的测试(或生产)环境中设置了复制?
  • 有什么方法可以忽略这个 rowguid 列吗?
  • 如果是这样,我是否必须担心在部署时会破坏复制?(我知道对模式的一些更改可能会导致复制中断,但在正常情况下是这样)

我假设其他人遇到过这种情况,他们的单独开发环境不需要诸如复制设置之类的东西(或者如果您使用 SQL express 之类的东西,则无法设置它)然后想要利用工具,例如架构比较或数据库部署选项。感谢您的所有帮助。

0 投票
1 回答
549 浏览

sql-server - 允许在合并复制中不跟踪单个列

使用合并复制,我有一个大部分情况下正常同步的表。但是,该表包含一列用于存储临时的客户端数据,这些数据仅在客户端进行有意义的编辑和使用,并且我不希望将其复制回服务器。例如:

在这种情况下,即使订阅者对表中的 ClientCode 列进行了更改,我也不希望这些更改返回到服务器。合并复制是否提供任何方法来实现这一点?

我可能会依赖的另一种方法是发布一个附加表,并将其配置为“仅下载给订阅者,允许订阅者更改”,然后在该表中引用 MyTable.ID 以及 ClientCode . 但如果我不是绝对需要的话,我宁愿不必发布额外的表格。

谢谢,

-担

0 投票
2 回答
1152 浏览

sql-server - 用于 Web 同步、合并复制的 IIS 服务器的要求

简短的问题:谁能告诉我用作合并复制的 Web 同步的 Web 服务器的要求(尤其是在 SQL 组件方面)是什么?

背景:

我有一个解决方案,它使用合并复制与解决方案的客户端应用程序进行单向数据同步。

服务器使用 SQL Server 2008,客户端 SQL Server 2008 Express 并使用 RMO 启动拉取订阅。该请求通过 Web Sync。当 IIS 和 DB 在同一台服务器上时,一切都很好 - 当 IIS 位于独立的 Web 服务器上时会出现问题。

从错误日志来看,Web 服务器上似乎需要某些 SQL 组件才能完成这项工作——但我无法找到哪些组件。我尝试在此服务器上安装 SQL Server 2008 Express,但没有成功。

所以:谁能告诉我对于用作合并复制的网络同步的网络服务器有什么要求(尤其是在涉及 SQL 组件时)?

编辑:

我尝试安装本机客户端,但没有运气。也许我在解释日志错误?这里是:

CReplicationListenerWorker , 2012/02/27 09:55:24.901, 1060, 174, S2, INFO: =============== 开始处理请求 =========== === CReplicationListenerWorker , 2012/02/27 09:55:24.901, 1060, 212, S1, 错误:CoCreateInstance 因 CLSID_SQLReplErrors 失败,hr = 0x00000000。CReplicationListenerWorker , 2012/02/27 09:55:24.901, 1060, 298, S2, INFO:处理的请求类型:MESSAGE_TYPE_UploadEmpty。CReplicationListenerWorker , 2012/02/27 09:55:24.901, 1060, 396, S2, INFO: =============== DONE PROCESSING REQUEST =========== ==== CReplicationListenerWorker , 2012/02/27 09:55:24.964, 1060, 174, S2, INFO: =============== 开始处理请求 ======= ======= CReplicationListenerWorker , 2012/02/27 09:55:24.964, 1060, 212, S1, 错误: CLSID_SQLReplErrors 的 CoCreateInstance 失败,小时 = 0x00000000。CReplicationListenerWorker , 2012/02/27 09:55:24.964, 1060, 298, S2, INFO:处理的请求类型:MESSAGE_TYPE_UploadEmpty。CReplicationListenerWorker , 2012/02/27 09:55:24.964, 1060, 396, S2, INFO: =============== 完成处理请求 =========== ==== CReplicationListenerWorker , 2012/02/27 09:55:24.964, 1060, 174, S2, INFO: =============== 开始处理请求 ======= ======= CReplicationListenerWorker , 2012/02/27 09:55:24.964, 1060, 212, S1, 错误: CLSID_SQLReplErrors 的 CoCreateInstance 失败,hr = 0x00000000。CHttpListener =============== 完成处理请求 =============== CReplicationListenerWorker , 2012/02/27 09:55:24.964, 1060, 174, S2,信息:================ 开始处理请求 ============== CReplicationListenerWorker , 2012/02/27 09:55:24.964, 1060 ,212,S1,错误: CLSID_SQLReplErrors 的 CoCreateInstance 失败,hr = 0x00000000。CHttpListener =============== 完成处理请求 =============== CReplicationListenerWorker , 2012/02/27 09:55:24.964, 1060, 174, S2,信息:================ 开始处理请求 ============== CReplicationListenerWorker , 2012/02/27 09:55:24.964, 1060 ,212,S1,错误: CLSID_SQLReplErrors 的 CoCreateInstance 失败,hr = 0x00000000。CHttpListener
, 2012/02/27 09:55:24.964, 1060, 258, S2, 信息:交换 ID = EF7753FB-F315-4FE3-8E8D-E77CCD366825。CReplicationListenerWorker , 2012/02/27 09:55:24.964, 1060, 298, S2, INFO:处理的请求类型:MESSAGE_TYPE_SyncContentsUpload。ReconcilerHost,2012/02/27 09:55:24.964、1060、160、S1,错误:CLSID_CDatabaseReconciler 的 CoCreateInstance 失败,hr = 0x80040154。ReconcilerHost , 2012/02/27 09:55:24.964, 1060, 191, S1, 错误: ReconcilerHost::Initialize failed, hr = 0x80040154。CReplicationListenerWorker , 2012/02/27 09:55:24.964, 1060, 315, S1, 错误:初始化 ReconcilerHost 失败,hr = 0x80040154。CReplicationListenerWorker , 2012/02/27 09:55:24.964, 1060, 396, S2, INFO: =============== 完成处理请求 =========== ====

0 投票
0 回答
1471 浏览

sql-server-2008 - 同步期间合并复制失败。重新运行代理后失败(Replication Agent FATAL ERROR and shutdown)

在我们公司中,我们配置了一个合并复制(PULL),如下所示:

我们使用脚本来创建/更改文章。我们在发布者上运行这些脚本并制作快照。

启动复制代理后,在同步过程中由于连接速度低而失败。

这是失败日志:

2012-02-25 06:00:25.184 类别:SQLSERVER 来源:TMCTS 编号:0
消息:登录超时已过期 2012-02-25 06:00:25.200
类别:SQLSERVER 来源:TMCTS 编号:0 消息:合并
过程失败执行查询,因为查询超时。如果此故障继续存在,请增加该进程的查询超时。进行故障排除时,使用详细历史记录重新启动同步并指定要写入的输出文件。

但是,它下载了一些脚本并应用了它们。当我们试图运行它时,它会失败。

这是第二个日志:

我们如何恢复同步,跳过那些已经应用的用户脚本?(在最后一个脚本之后恢复同步。)

0 投票
1 回答
64 浏览

sql-server - 将订阅的数据库复制到发布服务器

我有两台服务器。
我在发布者(服务器 A)中安装了合并复制,并且添加了两个具有相同数据库名称的订阅。

- 一个在发布者本身上,另一个在订阅者(服务器 B)上。到目前为止一切都很好。复制运行良好。我想删除发布者(服务器 A)上的订阅数据库,并用服务器 B 订阅的数据库副本替换它。

我以为发布者会继续在新附加的数据库上同步,但不幸的是,它没有按预期工作,它开始应用快照等..代替。

复制的数据库是否有任何需要修改的内容,以使发布者将其重新调整为已删除的数据库并继续同步?

0 投票
1 回答
878 浏览

c# - SQL Server CE 复制失败:内部错误:传输消息中的 HTTP 标头信息已损坏或丢失

我已经在 Windows Server 2008 机器上设置了 SQL Server 2008 R2,并在其上创建了一个测试数据库和一个相应的发布,以便使用合并复制。我已将上述出版物设置为迎合 SQL Server 2008 和 SQL Server CE 3.1 订阅者的需求。我还使用演练安装和配置了 IIS 7。

我正在另一台 PC 上开发 C# 应用程序,它应该从 SQl Server 2008 R2 数据库中复制数据,并通过合并复制将其放入本地 SQL Server CE 数据库中。但是,它因以下错误而惨遭失败:

顺便说一下,HResult 值是 0x80072F76。

在服务器端,IIS 日志有以下贡献;

我的代码是这样的:

我做了一些研究,我只能找到导致此错误的两个原因。一种是使用启用了特定设置的 Microsoft ISA 服务器,但我没有。另一种情况是发布者和订阅者使用不同版本的 SQL Server CE 驱动程序,而他们没有这样做。根据注册表,两台机器的版本均为 3.5.8080.0(SQL Server CE 3.5 SP2)。

我怎样才能让它工作?

0 投票
2 回答
1825 浏览

sql-server-2008 - SQL Server 合并复制失败并显示“初始化 SQL Server Reconciler 失败。再试一次。”

我正在尝试在 SQL Server 2008 R2 数据库和 SQL Server CE 3.5 之间设置复制。我已经相应地设置了 IIS 7,并在检查发布 URL ( http://winserver2008/SQLReplication/sqlcesa35.dll ) 时获得了一个不错的“Microsoft SQL Server Compact 服务器代理”。

但是,当我尝试http://winserver2008/SQLReplication/sqlcesa35.dll?diag时,我得到以下信息:

在此处输入图像描述

当我尝试通过我正在编写的 C# 应用程序连接到发布者时,我得到“初始化 SQL Server Reconciler 失败。再试一次”。我假设这意味着我需要那个 9.0 数据库协调器?如果是这样,我该如何安装它?

附带说明一下,这只发生在我尝试通过集成 Windows 身份验证连接时。如果我尝试通过 SQL Server 身份验证,我只会收到有关 SQL Server 丢失或登录名/密码不正确的错误。

0 投票
2 回答
1097 浏览

sql - 筛选合并复制 SQL Server 2008

我正在寻找有关如何实现双向复制的建议,该复制仅复制 SQL Server 2008 中的特定行。

例如,我想在两个数据库(欧洲和亚洲)之间复制表 A。我希望该表同时包含本地数据和共享数据。这将使用字段“区域”来表示,其值为

  1. 全球的
  2. 欧洲
  3. 亚洲

我已经建立了一个合并复制,其中欧洲是发布者,亚洲是订阅者和过滤器

试图只复制 region = 1 的行

全局行添加到欧洲或亚洲数据库非常适合出现在对面表中的行。

通过不复制到亚洲数据库(根据需要),将欧洲行添加到欧洲数据库效果很好

但是,将亚洲行添加到亚洲数据库并不能满足我的要求,因为该行被复制到欧洲数据库并从亚洲数据库中删除。

我理解为什么发布者/订阅者关系会出现这种情况,但这令人沮丧。

然后我认为点对点可能是解决方案,但我无法过滤点对点。

有没有办法实现我正在寻找的东西?

感谢大家

0 投票
1 回答
8630 浏览

sql-server - ALTER SQL Server 2008 R2 中的复制列。合并复制

我想更改表中的StudentPerformance

要更改的列是 -

它被配置为合并复制。

  • 它会使我当前的快照过时吗?
  • 我必须重新初始化所有订阅吗?
  • 它会更新表中的所有记录,并且在我运行 alter 语句时会增加复制流量吗?