Sintomi
Considerare lo scenario seguente:
-
Si crea una pubblicazione con filtri di colonna da un database di pubblicazione in un'istanza di SQL Server 2005.
-
Il backup del database di pubblicazione viene ripristinato in un'istanza di SQL Server 2012, 2014 o 2016.
-
Il pacchetto figlio contiene una stringa di connessione specificata da un'espressione.
-
Mantieni le impostazioni di replica, ad esempio usando l'opzione KEEP_REPLICATION in un'istruzione Restore .
In questo scenario, la replica non funziona in SQL Server 2012, 2014 o 2016.
Causa
Questo problema si verifica perché la lunghezza degli oggetti colonne dell'articolo viene recuperata dai metadati della tabella che sono due byte per SQL Server 2005 e quattro byte per SQL Server 2012, 2014 e 2016. Per questo motivo, quando si prova a inserire gli ID di colonna dell'articolo in questo oggetto, vengono copiati i primi due byte lasciando i valori di Garbage iniziali così come sono.
Risoluzione
Questo problema è stato risolto negli aggiornamenti cumulativi seguenti per SQL Server:
Aggiornamento cumulativo 2 per SQL Server 2016 SP1
Aggiornamento cumulativo 4 per SQL server 2016aggiornamento cumulativo 3 per SQL Server 2014 SP2aggiornamento cumulativo 10 per SQL Server 2014 SP1
Aggiornamento cumulativo 5 per SQL Server 2012 Service Pack 3
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 2016Ultimo aggiornamento cumulativo per SQL Server 2014 SP1/SP2Ultimo aggiornamento cumulativo per SQL Server 2012
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.