SQL复制设置 - 几乎就在那里

时间:2009-07-22 23:53:07

标签: sql-server replication

我正在尝试在两个SQL Server之间设置复制,而我几乎就在那里,但卡在一个权限错误(它出现)。服务器通过VPN连接。

Publisher / Distributer = W2003 + SQL2005(域控制器)

Subscriber = W2008 + SQL2008(Stand Along Server不在域上)

我已将其设置为Pull而非仅推送,因为这是我通过登录问题的方式。

当前状态是两个代理都在运行且快照已完成但它不会开始复制。下面的错误似乎表明订阅者没有Snapshot文件夹的权限,但我设置了Everyone(完全控制)只是为了让它运行起来。

我认为信任或其他方面存在一些问题。我可以从订阅服务器启动发布服务器上的快照共享并访问文件,而不会出现任何权限问题。但SQL似乎遇到了某种问题。

对于接下来的步骤有什么想法来解决问题?感谢。

这是日志的结尾:

2009-07-22 23:34:47.838 Initializing

2009-07-22 23:34:49.263 将从备用文件夹'\ [MachineName] [share] \ unc \ SYDNEY_MIRRORMIRROR_MIRRORMIRRORPRODUCT \ 20090722085146 \'应用快照 2009-07-22 23:34:50.809代理消息代码20143.由于操作系统错误5,该进程无法读取文件'\ [MachineName] [share] \ unc \ SYDNEY_MIRRORMIRROR_MIRRORMIRRORPRODUCT \ 20090722085146 \ TRProductImages_8.pre'。 2009-07-22 23:34:51.524类别:操作系统 来源:
数量:5 消息:访问被拒绝。

3 个答案:

答案 0 :(得分:1)

是的,在设置SQL Server复制时遇到权限问题可能是件苦差事。从域外的计算机访问域控制器上的共享...嗯。您是否尝试在订阅者计算机上设置共享?不是最佳的,因为它在创建快照时使发布者受到网络i / o的支配......但是......

您提到将复制设置为拉取而不是推送,因为它让您超越了登录问题。您是否尝试过使用SQL Server权限而不是Windows?

我想我还应该提一下,如果在这种情况下不是域控制器/非域机器组合,我会首先询问/确认在两台机器上运行SQL Server服务的登录是相同的...因为它是我不确定它会重要。

答案 1 :(得分:1)

您对安全的订阅者订阅属性的设置是什么?>分销商和发布商连接?

此外,根据出版物属性 - >出版物访问清单;您是否仔细检查了您的订户是否在那里?

答案 2 :(得分:1)

好的,事实证明错误信息是正确的。但不是我想的那样。

我正在通过VPN设置复制。我怀疑大多数防火墙的基本起点是你可以发送大多数端口但不能接收。

我能够启动拉复制而不是推送,并且尝试读取快照时发生错误。令人困惑的是我可以从订阅者计算机打开共享,为什么SQL Server无法提取快照?

最终发生的事情是UNC /文件共享端口137,138,139和445未打开“进入”订户。

我当时认为订阅者会将快照从经销商那里拉下来,但我认为它必须要求他们,但是经销商仍在将他们推送到订阅者并在途中被阻止。

我确认了我的怀疑,因为我可以从订阅者向分销商开放分享,但不是从分销商到订阅者。我也无法使用分销商计算机上的SQLMgmtSutdio连接到订阅服务器,所有证据都证明防火墙只是朝着这个方向停止了。

所以即使端口被阻止,SQL仍然可以设置发布者,订阅者和分发者,但是在我打开它们之前不会启动它。

现在正在运行。

希望长篇解释可以帮助其他人努力实现这一目标。