Symptom
Tänk dig följande situation:
-
Du skapar en publikation med kolumn filter från en publikationssida i en instans av SQL Server 2005.
-
Du återställer databas säkerhets kopian av publikationsfilen till en instans av SQL Server 2012, 2014 eller 2016.
-
Det underordnade paketet innehåller en anslutnings sträng som anges av ett uttryck.
-
Du behåller inställningarna för replikering, till exempel genom att använda alternativet KEEP_REPLICATION i en restore -programsats.
I det här scenariot fungerar inte replikeringen i SQL Server 2012, 2014 eller 2016.
Orsak
Det här problemet beror på att artikel kolumnernas längd hämtas från tabellens metadata som är två byte för SQL Server 2005 och fyra byte för SQL Server 2012, 2014 och 2016. När du sedan försöker infoga ett artikel kolumn-ID i det här objektet kopierar det de två första byten som lämnar de inledande skräp värdena i befintligt skick.
Lösning
Det här problemet har åtgärd ATS i följande kumulativa uppdateringar för SQL Server:
Kumulativ uppdatering 2 för SQL Server 2016 SP1
Kumulativ uppdatering 4 för SQL server 2016 Cumulative Update 3 för SQL Server 2014 SP2 kumulativ uppdatering 10 för SQL Server 2014 SP1
Varje ny kumulativ uppdatering för SQL Server innehåller alla snabb korrigeringar och alla säkerhets korrigeringar som ingick i den föregående kumulativa uppdateringen. Kolla in de senaste kumulativa uppdateringarna för SQL Server:
Senaste kumulativa uppdateringen för SQL server 2016densenaste kumulativa uppdateringen för SQL Server 2014 SP1/SP2densenaste kumulativa uppdateringen för SQL Server 2012
Status
Microsoft har bekräftat att det här är ett problem i Microsoft-produkterna som nämns i "gäller".
Referenser
Lär dig mer om terminologin som används av Microsoft för att beskriva program varu uppdateringar.