消息详细信息
| 产品名称 | SQL Server |
| 事件编号 | 20554 |
| 事件源 | MSSQLSERVER |
| 组件 | SQL Server 数据库引擎 |
| 符号名称 | |
| 消息正文 | 复制代理在 %ld 分钟内未记录进度消息。 这可能表示代理程序无响应或系统活动较高。 验证是否正在将记录复制到目标,以及与订阅服务器、发布服务器和分发服务器的连接是否仍然处于活动状态。 |
说明
复制代理检查作业按指定的时间间隔(默认为 10 分钟)运行,以检查每个复制代理的状态。 如果代理自上次运行代理检查作业以来未记录任何进度消息,则可以引发错误MSSQL_ENG020554。 即使没有其他复制活动发生,代理也至少应记录历史记录消息。 虽然复制代理未按预期响应,但它不一定停止或失败(如果代理失败,应引发错误MSSQL_ENG020536)。
以下问题可能会导致引发错误 MSSQL_ENG020554:
代理正忙。
如果代理太忙,无法在代理检查作业轮询时响应,则代理检查作业无法报告复制代理是否正常运行。 复制代理可能很忙的原因有很多:可能会复制大量数据,或者应用程序设计或配置问题可能会导致进程长时间运行。
代理无法登录到拓扑中的其中一台计算机。
所有代理都有一个参数 -LoginTimeOut (默认设置为 15 秒),该参数控制代理尝试登录到复制节点的时间,例如合并代理登录到发布服务器。 如果 -LoginTimeOut 值设置为高于复制代理检查作业运行的时间间隔,则登录问题可能是错误的根本原因:在代理能够引发更具体的错误之前引发错误MSSQL_ENG020554错误。
用户操作
所需的作取决于错误的原因:
对于引发此错误的所有情况:
检查复制监视器中的错误详细信息,如果代理已停止,请重新启动代理。 错误详细信息可能会提供有关代理未正确运行的原因的其他信息。 如果代理正在运行,请不要停止并重启代理,因为这可能会加剧问题。 有关在复制监视器中查看代理状态和错误详细信息的信息,请参阅以下主题:
有关快照代理、日志读取器代理和队列读取器代理,请参阅 使用复制监视器查看信息和执行任务。
有关分发代理和合并代理,请参阅 使用复制监视器查看信息和执行任务。
如果频繁出现这种错误,可能是因为代理忙碌:
可能需要重新设计应用程序,使代理花费更少的时间进行处理。
可以使用“ 作业属性 ”对话框增加代理状态检查的间隔。 有关访问复制作业的此对话框的信息,请参阅 使用复制监视器查看信息和执行任务。
如果代理无法登录到拓扑中的其中一台计算机:
建议将 -LoginTimeOut 值设置为低于复制代理检查作业运行的间隔。 在某些情况下,由于导致登录超时的网络问题, -LoginTimeOut 的值设置更高。如果 -LoginTimeOut 设置较低,则复制可以报告更具体的错误,从而排查可能由权限、网络问题或其他问题导致的登录问题。 代理参数可以在代理配置文件和命令行中指定。 有关详细信息,请参见:
另请参阅
复制代理管理
错误和事件参考 (复制)
复制分发代理
复制日志读取器代理
复制合并代理
复制队列读取器代理
复制快照代理