Sintomas
Considere o seguinte cenário:
-
Cria uma publicação que tem filtros de colunas a partir de uma base de dados de publicação num caso de SQL Server 2005.
-
Restaurar a cópia de segurança da base de dados da publicação para um caso de SQL Server 2012, 2014 ou 2016.
-
O pacote infantil contém uma cadeia de ligação especificada por uma expressão.
-
Mantém as definições de replicações, por exemplo, utilizando a opção KEEP_REPLICATION numa declaração RESTORE.
Neste cenário, a replicação não funciona no SQL Server 2012, 2014 ou 2016.
Causa
Este problema ocorre porque o comprimento dos objetos de colunas de artigos é recuperado a partir 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 se tenta inserir as colunas de artigos neste objeto, copia os dois primeiros bytes deixando os valores iniciais do lixo como está.
Resolução
Este problema foi corrigido nas seguintes atualizações cumulativas para o SQL Server:
Atualização Cumulativa 2 para SQL Server 2016 SP1
Atualização Cumulativa 4 para SQL Server 2016 Atualização Cumulativa 3 para SQL Server 2014 SP2 Atualizaçã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 que foram incluídas com a atualização cumulativa anterior. Confira as últimas atualizações cumulativas do SQL Server:
Última atualização cumulativa para SQL Server 2016 Última atualização cumulativa para SQL Server 2014 SP1/SP2 Última atualização cumulativa para SQL Server 2012
Estado
A Microsoft confirmou que este problema ocorre nos produtos da Microsoft listados na secção "Aplica-se a".
Referências
Saiba mais sobre a terminologia que a Microsoft utiliza para descrever atualizações de software.