MSSQL_ENG020554
Dettagli messaggio
Nome prodotto |
SQL Server |
Versione prodotto |
9.0 |
Numero di build del prodotto |
9.00.1399.60 |
ID evento |
20554 |
Origine evento |
MSSQLSERVER |
Componente |
Motore di database di SQL Server |
Nome simbolico |
|
Testo del messaggio |
Nessun messaggio di stato registrato dall'agente di replica negli ultimi %ld minuti. Questa condizione può indicare che l'agente non risponde oppure che l'attività del sistema è elevata. Verificare che i record vengano replicati nella destinazione e che le connessioni al Sottoscrittore, al server di pubblicazione e al server di distribuzione siano ancora attive. |
Spiegazione
Il processo Controllo degli agenti di replica viene eseguito a intervalli di tempo specificati (per impostazione predefinita ogni 10 minuti) per verificare lo stato di ogni agente di replica. Se un agente non ha registrato alcun messaggio di stato dall'ultima esecuzione del processo di controllo, viene generato l'errore MSSQL_ENG020554. È previsto che l'agente registri almeno messaggi di cronologia anche se non vi è nessun'altra attività di replica in corso. Sebbene l'agente di replica non risponda come previsto, non significa necessariamente che la sua attività si sia interrotta o non sia riuscita. In quest'ultimo caso verrebbe generato l'errore MSSQL_ENG020536.
L'errore MSSQL_ENG020554 può essere generato dai problemi seguenti:
- L'agente è occupato.
Se l'agente è occupato a rispondere al polling del processo di controllo degli agenti, non sarà possibile verificare se è in funzione in modo appropriato. Vi sono vari motivi per cui l'agente di replica potrebbe essere occupato. È possibile che vi siano molti dati in fase di replica oppure problemi di sviluppo o di configurazione delle applicazioni che determinano lunghi tempi di elaborazione dei processi. - L'agente non è in grado di accedere a uno dei computer nella topologia.
Tutti gli agenti dispongono di un parametro -LoginTimeOut (per impostazione predefinita pari a 15 secondi), che determina la durata del tentativo di accesso di un agente a un nodo di replica, ad esempio il tempo di accesso di un agente di merge al server di pubblicazione. Se il valore impostato per -LoginTimeOut è superiore all'intervallo in cui viene eseguito il processo di controllo degli agenti di replica, la causa principale dell'errore potrebbe essere un problema di accesso, ovvero l'errore MSSQL_ENG020554 viene generato prima che l'agente sia in grado di generare un errore più specifico.
Azione utente
A seconda della causa dell'errore è necessaria un'azione specifica:
- Per tutti i casi in cui viene generato questo errore:
Controllare i dettagli dell'errore in Monitoraggio replica e quindi riavviare l'agente se si è interrotto. Nei dettagli dell'errore potrebbero essere contenute informazioni aggiuntive sui motivi del malfunzionamento dell'agente. Se l'agente è in esecuzione, non interromperlo né riavviarlo, poiché ciò potrebbe aggravare il problema. Per informazioni sulla visualizzazione dello stato dell'agente e dei dettagli di errore in Monitoraggio replica, vedere gli argomenti seguenti:- Per l'agente snapshot, l'agente di lettura log e l'agente di lettura coda, vedere Procedura: Visualizzazione delle informazioni ed esecuzione di attività relative agli agenti associati a una pubblicazione (Monitoraggio replica).
- Per l'agente di distribuzione e l'agente di merge, vedere Procedura: Visualizzazione delle informazioni ed esecuzione delle attività degli agenti associati a una sottoscrizione (Monitoraggio replica).
- Se l'errore viene generato spesso perché l'agente è occupato:
Potrebbe essere necessario riprogettare l'applicazione in modo da ridurre il tempo di elaborazione. Per ulteriori informazioni, vedere Miglioramento delle prestazioni della replica.
È possibile aumentare l'intervallo di controllo dello stato dell'agente tramite la finestra di dialogo Proprietà processo. Per informazioni sull'accesso a questa finestra di dialogo per i processi di replica, vedere Procedura: Visualizzazione delle informazioni ed esecuzione di attività relative a un server di pubblicazione (Monitoraggio replica). - Se l'agente non è in grado di accedere a uno dei computer nella topologia:
È consigliabile impostare il parametro -LoginTimeOut su un valore inferiore rispetto all'intervallo di esecuzione del processo di controllo degli agenti di replica. In alcuni casi, il valore di -LoginTimeOut è superiore a causa di problemi di rete che determinano il timeout degli accessi. Impostando -LoginTimeOut su un valore inferiore, sarà possibile ricevere errori più specifici e quindi risolvere più facilmente i problemi di accesso che potrebbero essere causati da autorizzazioni, problemi di rete o altro. I parametri degli agenti possono essere specificati nei profili agente e dalla riga di comando. Per ulteriori informazioni, vedere:- Procedura: Utilizzo dei profili agenti di replica (SQL Server Management Studio)
- Procedura: Visualizzazione e modifica dei parametri del prompt dei comandi dell'agente di replica (SQL Server Management Studio)
- How to: Work with Replication Agent Profiles (Replication Transact-SQL Programming)
- Programming Replication Agent Executables.
Vedere anche
Concetti
Causa e risoluzione degli errori di replica
Altre risorse
Amministrazione degli agenti di replica
Replication Distribution Agent
Replication Log Reader Agent
Replication Merge Agent
Replication Queue Reader Agent
Replication Snapshot Agent