有什么方法可以强制 SQL Server 永远不要将订阅标记为非活动状态?
当出现连接问题并且我不想每次都重新初始化订阅时,它会偶尔发生。
请注意,我不是在谈论订阅被标记为过期......就像不活动一样。
我们将保留设置为 0(无限)。我宁愿拥有一个大型分发数据库,也不愿通过 WAN 为订阅者重新初始化 15GB 的数据库。无论如何,这里真正的问题是,它们有时会在短短几个小时内被标记为不活动……或者有时是几天……这似乎是零星的。有什么方法可以告诉为什么 SQL 决定将它们标记为非活动状态?
我们正在使用具有可更新订阅的事务复制。1 个发布者,1 个订阅者。
SQL 复制在 3/6 上午 10 点开始遇到约束错误,因为两个不同办公室的人员输入了违反唯一约束的数据。完全符合预期。
但是,在 3/6 的下午 12:08,SQL Replication 停止报告该错误,而是说:
“发布'TheDB'的初始快照尚不可用。”
为什么它会停止重试复制,而是开始抛出此错误?现在我们需要重新生成快照。
[000] 请求运行作业 COTOPSVR\TheDB-TheDB-COTCPSVR\DB-3(来自用户 CTOB\Administrator)被拒绝,因为该作业已经根据用户 sa 的请求运行
有任何想法吗?我知道如何解决这个问题……我想防止这种情况再次发生。
replication sql-server-2008 sql-server transactional-replication