Sintomas
Considere o seguinte cenário:
-
Você cria uma publicação que tem filtros de coluna de um banco de dados de publicação em uma instância do SQL Server 2005.
-
Você restaura o backup do banco de dados do banco de dados de publicação para uma instância do SQL Server 2012, 2014 ou 2016.
-
O pacote filho contém uma cadeia de conexão que é especificada por uma expressão.
-
Você mantém as configurações de replicação, por exemplo, usando a opção KEEP_REPLICATION em uma instrução de restauração .
Nesse cenário, a replicação não funciona no SQL Server 2012, 2014 ou 2016.
Causa
Esse problema ocorre porque o comprimento dos objetos de colunas do artigo é recuperado dos metadados da tabela que são dois bytes para SQL Server 2005 e quatro bytes para SQL Server 2012, 2014 e 2016. Por isso, quando você tenta inserir as IDs de coluna do artigo nesse objeto, ele copia os dois primeiros bytes deixando os valores de lixo iniciais como se encontra.
Resolução
Este problema foi corrigido nas seguintes atualizações cumulativas do SQL Server:
Atualização cumulativa 2 para SQL Server 2016 SP1
Atualização cumulativa 4 para SQL server 2016atualização cumulativa 3 para SQL Server 2014 SP2atualização cumulativa 10 para SQL Server 2014 SP1
Atualização cumulativa 5 para SQL Server 2012 Service Pack 3
Cada nova atualização cumulativa do SQL Server contém todos os hotfixes e todas as correções de segurança incluídas na atualização cumulativa anterior. Confira as atualizações cumulativas mais recentes do SQL Server:
Atualização cumulativa mais recente do SQL server 2016 atualização cumulativa mais recente do SQL Server 2014 SP1/SP2 atualização cumulativa mais recente do SQL Server 2012
Status
A Microsoft confirmou que este é um problema nos produtos Microsoft listados na seção "Aplicável a".
Referências
Saiba mais sobre a terminologia usada pela Microsoft para descrever atualizações de software.