Sintomi
Si supponga di creare una pubblicazione transazionale usando la sp_addpublication stored procedure in SQL Server 2014 o 2016 e di impostare la proprietà @allow_drop su true. Dopo aver rilasciato una tabella pubblicata nella pubblicazione e aver rimosso manualmente l'articolo obsoleto dalla pubblicazione, è possibile che venga visualizzato un messaggio di errore analogo al seguente:
Il server remoto "(null)" non esiste.
Ad esempio, questo problema si verifica nello scenario seguente:
-
Si pubblica una tabella in una pubblicazione transazionale e quindi si imposta la proprietà @allow_drop su true.
-
Si rimuove la tabella pubblicata.
-
Prima che l'agente di lettura log elabora i record correlati al comando Drop Table, è necessario pulire l'articolo obsoleto usando una delle stored procedure seguenti:
-
sp_MSdropobsoletearticle
-
sp_droparticle
-
sp_droppublication
-
In questo caso, i messaggi di errore seguenti vengono registrati in un log dettagliato:
Stato: 0, codice: 1007, testo: "Impossibile eseguire il processo" sp_MSadd_replcmds "in"SQL_SERVER_INSTANCE".". Il processo non può eseguire "sp_MSadd_replcmds" in "SQL_SERVER_INSTANCE". Stato agente REPL: 6Status: 0, codice: 1007, testo: "il server remoto" (null) "non esiste o non è stato designato come Publisher valido oppure non si ha l'autorizzazione per vedere gli editori disponibili.". Stato: 4, codice: 6001, testo: "il thread in background per" caricatore di comandi "è in uscita.". Stato: 0, codice: 22020, testo: "i batch non sono stati impegnati nel server di distribuzione.". Stato: 0, codice: 22037, testo: "l'ultimo passaggio non ha eseguito il log di alcun messaggio!".
Nota Il supporto drop table (DDL DROP TABLE) è stato aggiunto in SQL Server 2014 Service Pack 2. Per informazioni sul supporto di drop table, vedere l'articolo seguente nella Microsoft Knowledge Base:
3170123 Supporta la DDL DROP TABLE per gli articoli inclusi nella replica transazionale in SQL Server 2014
Risoluzione
Questo problema è stato risolto negli aggiornamenti cumulativi seguenti per SQL Server:
Aggiornamento cumulativo 1 per SQL server 2014 Service Pack 2 aggiornamento cumulativo 2 per SQL Server 2016
Ogni nuovo aggiornamento cumulativo per SQL Server contiene tutti gli hotfix e tutti gli aggiornamenti della sicurezza inclusi nell'aggiornamento cumulativo precedente. Vedere gli ultimi aggiornamenti cumulativi per SQL Server:
Ultimo aggiornamento cumulativo per SQL server 2014 Ultimo aggiornamento cumulativo per SQL Server 2016
Stato
Microsoft ha confermato che questo problema si verifica nei prodotti elencati nella sezione "Si applica a".
Riferimenti
Informazioni sulla terminologia utilizzata da Microsoft per descrivere gli aggiornamenti software.