SQL Server 2005复制调试建议

时间:2009-01-16 21:07:32

标签: sql-server sql-server-2005 replication

我有一个复制设置,它已经启动并运行昨天,现在我无法连接到分销商,我不知道为什么。

  • 发布者位于域上,并通过VPN与订阅者(不在域上)进行通信。
  • 我可以从订阅者ping发布者,反之亦然。
  • 我可以从订阅者登录发布者的MSSQL。
  • 发布者处于错误状态,因为没有从订阅者记录任何活动。
  • 订户无法连接到分销商。
  • 跟踪器令牌报告分销商的时间,但仅对订户有待处理。
  • 假设第三人更改db可能会导致麻烦,我删除了订阅和发布并重新创建它们。
  • 我可以确认昨天使用相同的表/用户帐户/服务器等复制正在运行并复制数据。

如果您有任何建议尝试缩小问题的范围,他们将非常感激。

问题解答:

  • 我正在使用单向事务复制
  • 经销商与出版商在同一台机器上。
  • 发布者和订阅者都是2003 SP2

似乎再次工作

我仍然不知道为什么原始工作设置停止工作。但是当我重新订阅时,我的其中一个连接的凭据有错误。通过纠正该问题,复制再次起作用。

2 个答案:

答案 0 :(得分:2)

你能同时执行T-SQL吗?您说订户无法连接到分销商,但分销商可以看到两者吗?分销商是您的网络还是远程网络?我只是想知道是否有东西在分销商上进行批处理,并且在那里与您的订户之间存在断开连接,或者如果断开连接是发布者 - >分发者,特别是如果这三者都在不同的服务器上。

就在某个地方开始。

答案 1 :(得分:1)

我从来没有调试日志阅读器的问题,但经常不得不调试用户的问题。我要做的是运行分发代理(我记得它被称为distrib.exe ...这是因为我经常输入它!)带有一个调试标志集的日志(我只是查找了文档BOL并看到一个参数OutputVerboseLevel。我不记得那个参数名称,但它看起来似乎合理。)

您可以通过查找由复制向导设置的作业定义来确定要向代理提供的参数类型。其中一个步骤应该是“运行外部命令”并且将具有一堆参数名称和值。

一旦我找到了适当的调用,我就将其保存在一个批处理文件中,然后在出现无法从GUI调试的问题时从DOS提示符运行它。

pjjH