0

我在 sql server 事务复制中遇到问题,无法找到它的根本原因。首先,让我告诉你,我不是 DBA,所以我可能对一些 DBA 概念很笨。我是 .Net 开发人员,我负责设置复制。

我在总部有一个数据库,并将几个表复制到零售店的另一台服务器。第一次,我用选定的文章配置了复制。复制是连续的。它运行良好,但在一个星期天晚上,它因错误“进程无法执行'sp_replcmds'”而失败。在谷歌上花了一段时间后,我找不到任何解决方案。所以,我重建了复制,但这次复制被安排(每 15 分钟),我也将它配置为 PULL 而不是 PUSH。它开始了,但下个星期天晚上又坠毁了。因此,我分析了在周日晚上,我已经在数据库上配置了重新索引作业,并且由于恢复模型已满,它正在生成一个非常大的 TLOG,而 Repolication 代理无法解析它。现在,第三次,我再次重建了复制,这次我安排了每 15 分钟一次的复制,但是从早上 8:00 到晚上 11:30,因为在 11:30 之后,没有商店进行任何交易。此外,对于重新索引作业,我又添加了 2 个步骤。在重新索引之前,我将恢复模型更改为简单,然后重新索引,之后我将恢复模型更改回完整。无论重新索引步骤的结果如何,我都将恢复更改为完全。此设置运行良好,并且正常运行了大约 2 个月。无论重新索引步骤的结果如何,我都将恢复更改为完全。此设置运行良好,并且正常运行了大约 2 个月。无论重新索引步骤的结果如何,我都将恢复更改为完全。此设置运行良好,并且正常运行了大约 2 个月。

现在,2 个月后,又是一个星期天晚上,它失败了,原因相同(“进程无法执行 'sp_replcmds'”)。实际上,我已经安排了备份工作,我每天都进行完全备份,每 15 分钟进行一次日志备份,没有差异备份。之后,发现我没有配置差异备份,我也配置了相同的(每 6 小时一次)。但是,在配置差异备份后,周日晚上复制失败。

现在,任何人,请帮助我为我的场景推荐设置。我的设置是 sql server - Windows Server 2008 R2 Distributor 和 Publisher 上的 SQL Server 2008 R2 Enterprise 在同一台机器上。订阅者位于零售商店服务器上。

4

1 回答 1

0

sp_replcmds is run by the log reader agent against the published database to get, well, replicated commands. According to the documentation, one needs to be at least db_owner to run that command. Make sure whatever account is running the log reader agent has at least db_owner in the published database.

于 2014-05-21T16:49:25.367 回答