合并复制 - 无法创建快照 - 超时 - sql server 2008

时间:2012-07-31 13:04:04

标签: sql-server sql-server-2008 replication snapshot merge-replication

我有一个SQL Server 2008数据库,我需要一个mergereplication,因为我想在之后与移动设备同步。

所以我创建了一个复制,但是当它启动snapshotagent时,代理会尝试启动大约20分钟,然后它会显示消息

  

复制代理在10分钟内未记录进度消息。   这可能表示无响应的代理或高系统活动。   验证是否正在将记录复制到目标   与订阅者,发布者和分发者的连接仍然是   活性

在snapshot-agent-status-window和agent-log-window中都没有任何其他错误消息。

我没有域管理员,但是没有本地管理员和具有admin-privilegs的域用户。两者都拥有数据库的所有权限,位于复制的访问列表中。

服务器代理在本地管理员帐户上运行,服务器上有3个MergeReplications正在运行

该作业也在本地管理员下运行。

感谢您的帮助,Karl

2 个答案:

答案 0 :(得分:1)

所以它再次起作用......

也许其他人有一天会遇到同样的问题,所以我在这里发布解决方案:

我研究了服务器并发现,sql server服务是在本地用户下运行的。原因是,备份系统存在问题,我们的客户使用它们,所以他们在几年前就改变了它。

由于本地用户帐户出现15404-Error。

知道,我不能使用域帐户,我也解决了我的快照代理的初始问题。我搜索了几个小时(差不多几天;)),这只是一个小小的改变:

创建复制时,也会创建作业。这项工作有三个步骤。作业所有者是本地管理员,也是服务器代理服务。但我工作的第二步(replictionsnapshot)有一个设置:run as。默认情况下,这不是作业所有者,而是运行创建的用户,在我的情况下是我的域帐户。

现在,我将它设置为本地管理员以及一切正常。

谢谢,卡尔

答案 1 :(得分:0)

我有同样的问题,而下面修复了这个问题。复制代理在10分钟后超时,心跳从10分钟改为30分钟就解决了这个问题,

运行以下命令

exec sp_changedistributor_property @property = 'heartbeat_interval', @value = 30;

然后重新启动订阅服务器上的sql代理以继续同步。