MSSQL_ENG018752
Dettagli messaggio
Nome prodotto |
SQL Server |
Versione prodotto |
9.0 |
Numero di build del prodotto |
9.00.1399.60 |
ID evento |
18752 |
Origine evento |
MSSQLSERVER |
Componente |
Motore di database di SQL Server |
Nome simbolico |
|
Testo del messaggio |
A un database può connettersi un solo agente di lettura log o una sola procedura correlata ai log (sp_repldone, sp_replcmds e sp_replshowcmds) alla volta. Se è stata eseguita una procedura correlata ai log, eliminare la connessione utilizzata per eseguire la procedura oppure eseguire sp_replflush tramite tale connessione prima di avviare l'agente di lettura log o di eseguire un'altra procedura relativa ai log. |
Spiegazione
È in corso da parte di più connessioni il tentativo di eseguire una delle procedure seguenti: sp_repldone, sp_replcmds o sp_replshowcmds. Le stored procedure sp_repldone (Transact-SQL) e sp_replcmds (Transact-SQL) vengono utilizzate dall'agente di lettura log per individuare e aggiornare le informazioni sulle transazioni replicate in un database pubblicato. La stored procedure sp_replshowcmds (Transact-SQL) viene utilizzata per la risoluzione di alcuni tipi di problemi relativi alla replica transazionale.
Questo errore viene generato nelle circostanze seguenti:
- Se l'agente di lettura log di un database pubblicato è in esecuzione e un secondo agente di lettura log tenta l'esecuzione sullo stesso database, per il secondo agente viene generato l'errore, che appare nella cronologia dell'agente.
In una situazione in cui compaiono più agenti, è possibile che uno di loro sia il risultato di un processo orfano. - Se l'agente di lettura log di un database pubblicato viene avviato e un utente esegue sp_repldone, sp_replcmds o sp_replshowcmds sullo stesso database, viene generato l'errore nell'applicazione in cui è stata eseguita la stored procedure (ad esempio sqlcmd).
- Se l'agente di lettura log di un database pubblicato viene avviato e un utente esegue sp_repldone, sp_replcmds o sp_replshowcmds e non chiude la connessione su cui è stata eseguita la procedura, quando l'agente di lettura log tenta di connettersi al database viene generato l'errore.
Azione utente
I passaggi seguenti possono contribuire alla risoluzione del problema. Se uno dei passaggi consente l'avvio senza errori dell'agente di lettura log, non è necessario completare i passaggi rimanenti.
- Verificare nella cronologia dell'agente di lettura log la presenza di eventuali altri errori che potrebbero contribuire a questo errore. Per informazioni sulla visualizzazione dello stato dell'agente e dei dettagli dell'errore in Monitoraggio replica, vedere Procedura: Visualizzazione delle informazioni ed esecuzione di attività relative agli agenti associati a una pubblicazione (Monitoraggio replica).
- Verificare nell'output di sp_who (Transact-SQL) la presenza di numeri di identificazione di processo (SPID) connessi al database pubblicato. Chiudere le connessioni che potrebbero aver eseguito sp_repldone, sp_replcmds o sp_replshowcmds.
- Riavviare l'agente di lettura log. Per ulteriori informazioni, vedere Procedura: Avvio e interruzione di un agente di replica (SQL Server Management Studio).
- Riavviare il servizio SQL Server Agent (metterlo fuori linea o in linea in un cluster) sul server di distribuzione. Se vi è una possibilità che un processo pianificato abbia eseguito sp_repldone, sp_replcmds o sp_replshowcmds da altre istanze di SQL Server, riavviare l'SQL Server Agent anche per queste istanze. Per ulteriori informazioni, vedere Avvio, interruzione e sospensione del servizio SQL Server Agent.
- Eseguire sp_replflush (Transact-SQL) nel server di pubblicazione sul database di pubblicazione, quindi riavviare l'agente di lettura log.
- Se l'errore continua a verificarsi, aumentare il livello di dettaglio per la registrazione delle operazioni dell'agente e specificare un file di output per il log. A seconda del contesto dell'errore, in questo modo si potrebbero ottenere ulteriori informazioni sui passaggi che conducono all'errore e/o messaggi di errore aggiuntivi. Per ulteriori informazioni, vedere Agenti di replica (Risoluzione dei problemi).
Vedere anche
Concetti
Causa e risoluzione degli errori di replica