【问题标题】:merge replication - can't create snapshot - timeout - sql server 2008合并复制 - 无法创建快照 - 超时 - sql server 2008
【发布时间】:2012-07-29 06:11:19
【问题描述】:

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

所以我创建了一个复制,但在启动快照代理时,代理尝试启动大约 20 分钟,然后显示消息

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

在快照代理状态窗口和代理日志窗口中都没有任何其他错误消息。

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

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

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

谢谢你的帮助,卡尔

【问题讨论】:

  • 使用所有相关的命令行开关从发布者运行 replmerg.exe 并将其转储到日志文件并尝试从那里开始。这是一个示例: C:\Program Files\Microsoft SQL Server\90\COM>replmerg -Publisher NBSIMSPRD02 -PublisherDB SoldNBY -Publication PubNby10032001 -PublisherSecurityMode 1 -DistributorSecurityMode 1 -SubscriptionType 1 -Subscriber CVF51D481 -SubscriberDB SOLD -SubscriberSecurityMode 1 -Distributor NBSIMSPRD02 - OutputVerboseLevel 3 - 输出“C:\replmerg.txt”

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


【解决方案1】:

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

运行以下命令

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

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

【讨论】:

    【解决方案2】:

    所以它又可以工作了......

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

    我在服务器上研究了一下,发现sql server服务是在本地用户下运行的。原因是我们的客户使用的备份系统存在问题,因此他们在几年前就对其进行了更改。

    由于本地用户帐户,发生 15404 错误。

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

    创建复制时,也会创建作业。这项工作分为三个步骤。 Job-owner 是 local-admin,也适用于 server-agent-service。但是我工作的第二步(replictionsnapshot)有一个设置:运行方式。默认情况下,这不是作业所有者,而是运行创建的用户,在我的例子中是我的域帐户。

    现在,我也将其设置为本地管理员,一切正常。

    谢谢,卡尔

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-05-20
      • 2012-03-28
      • 2017-06-25
      • 1970-01-01
      • 1970-01-01
      • 2011-10-01
      • 1970-01-01
      相关资源
      最近更新 更多