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