共用方式為


MSSQL_ENG020554

適用於:SQL Server Azure SQL 受控執行個體

訊息詳細數據

屬性
產品名稱 SQL Server
事件識別碼 20554
事件來源 MSSQLSERVER
元件 SQL Server Database Engine
符號名稱
訊息文字 複寫代理程式已有 %ld 分鐘未記錄進度訊息。 這可能表示代理程式沒有回應或系統活動量很高。 請確認記錄正在複寫至目的地,而且到訂閱者、發行者及散發者的連接仍在使用中。

說明

寫代理程式檢查 作業會以指定的間隔執行(預設為 10 分鐘),以檢查每個復寫代理程式的狀態。 如果代理程式自上次執行代理程式檢查作業後未記錄任何進度訊息,則可以引發錯誤MSSQL_ENG020554。 即使沒有其他復寫活動發生,代理程式仍至少會記錄記錄記錄訊息。 雖然復寫代理程式未如預期般回應,但不一定停止或失敗(如果代理程式失敗,應該引發錯誤MSSQL_ENG020536)。

下列問題可能會導致引發錯誤MSSQL_ENG020554:

  • 代理程式忙碌中。

    如果代理程式在代理程式檢查作業輪詢時太忙碌而無法回應,代理程式檢查作業就無法報告複寫代理程式是否正常運作。 復寫代理程式可能忙碌的原因有很多:可能有許多數據正在複寫,或可能有應用程式設計或設定問題導致長時間執行的進程。

  • 代理程式無法登入拓撲中的其中一部計算機。

    所有代理程式都有一個參數 -LoginTimeOut (預設設定為 15 秒),它會控管代理程式嘗試登入複寫節點的時間長度,例如登入發行者 合併代理程式。 如果 -LoginTimeOut 值設定高於複寫代理程式檢查作業執行的間隔,登入問題可能是錯誤的根本原因:在代理程式能夠引發更具體的錯誤之前,就會引發錯誤MSSQL_ENG020554。

使用者動作

所需的動作取決於錯誤的原因:

  • 針對引發此錯誤的所有情況:

    檢查複寫監視器中的錯誤詳細數據,如果代理程式已停止,請重新啟動代理程式。 錯誤詳細數據可能會提供有關代理程式未正確執行原因的其他資訊。 如果代理程式正在執行,請勿停止並重新啟動代理程式,因為這可能會加劇問題。 如需在復寫監視器中檢視代理程式狀態和錯誤詳細數據的詳細資訊,請參閱 使用複寫監視器檢視資訊和執行工作

  • 如果經常引發此錯誤,因為代理程式忙碌中:

    您可能需要重新設計應用程式,讓代理程序花費較少的時間處理。

    您可以使用 [作業屬性] 對話方塊來增加檢查代理程式狀態的間隔。 如需存取此複寫作業對話框的相關信息,請參閱 使用複寫監視器檢視資訊和執行工作。

  • 如果代理程式無法登入拓撲中的其中一部電腦:

    建議將 -LoginTimeOut 值設定為低於複寫代理程式檢查作業執行的間隔。 在某些情況下,-LoginTimeOut 的值會設定得較高,因為導致登入逾時的網路問題。如果 -LoginTimeOut 設定較低,複寫可能會報告更特定的錯誤,讓您針對許可權、網路問題或其他問題所造成的登入問題進行疑難解答。 可於代理程式設定檔和命令列中指定代理程式參數。 如需詳細資訊,請參閱

另請參閱

複寫代理程式管理
錯誤與事件參考 (複寫)
Replication Distribution Agent
複寫記錄讀取器代理程式
Replication Merge Agent
複寫佇列讀取器代理程式
Replication Snapshot Agent