最近,我的订阅(事务复制)遇到了一些问题,因为每当我尝试向现有出版物添加新订阅时,无论是使用“立即初始化”还是“首次同步”时,我总是遇到导致订阅失败的问题。
当我选择立即初始化时,在点击完成按钮后,我遇到了以下错误:
消息:执行超时已过期。操作完成之前超时时间已过,或者服务器未响应。命令文本:sp_MSreplupdateschema 参数:@object_name = [dbo].[myTableName]
Microsoft.SqlServer.Replication.SnapshotGenerationAgent.InternalRun() 处的 Replication.Snapshot.SqlServerSnapshotProvider.GenerateSnapshot() 处 Microsoft.SqlServer.Replication.AgentCore.Run() (来源:MSSQLServer,错误号:-2)获取帮助:http:// /help/-2 服务器 MyServerName,级别 11,状态 0,过程,第 0 行执行超时已过期。操作完成之前超时时间已过,或者服务器未响应。(来源:MSSQLServer,错误号:-2)获取帮助:http://help/-2 来源:目标站点:消息:等待操作超时堆栈:(来源:,错误号:0)获取帮助:http: //帮助/0 //help/-2 服务器 MyServerName,级别 11,状态 0,过程,第 0 行执行超时已过期。操作完成之前超时时间已过,或者服务器未响应。(来源:MSSQLServer,错误号:-2)获取帮助:http://help/-2 来源:目标站点:消息:等待操作超时堆栈:(来源:,错误号:0)获取帮助:http: //帮助/0 //help/-2 服务器 MyServerName,级别 11,状态 0,过程,第 0 行执行超时已过期。操作完成之前超时时间已过,或者服务器未响应。(来源:MSSQLServer,错误号:-2)获取帮助:http://help/-2 来源:目标站点:消息:等待操作超时堆栈:(来源:,错误号:0)获取帮助:http: //帮助/0
但是,如果我在首次同步时选择“初始化”,则会显示“文章 myTableName 的初始快照尚不可用”的状态。
此外,如果我重新初始化订阅,什么也不会发生
笔记:
我正在使用 SQL Server Standard 2019 Edition、Microsoft SQL Server Management Studio 2019
这也是我的服务器规格:HP Proliant Gen10 +
以及我当前通过任务管理器的系统利用率
您的 SQL Server 目前已落后 20 多个补丁。考虑至少升级到 CU19。我有过这样的经历:在安装最新补丁之前,事务复制无法运行(引发一些错误)。检查此链接以获取 SQL Server 2019 版本。
这是正确的行为。
请按照以下步骤操作:
您需要启动快照作业。见上面的评论。
您需要做的额外检查:
REPL-
以查看作业所有者是否设置正确。该作业应位于 或 下sa
,distributor_admin
否则将会失败。At least: 72hrs
和But not more than: 72hrs
。我将相同的 72 小时设置应用于history retention
.CommitBatchSize
1000CommitBatchThreshold
10000Polling Interval
1Query Timeout
9600Max Text Replication Size
为 -1这不是一个完整的列表,但它是事务复制配置的一个很好的起点。