Sintomas
Considere o seguinte cenário:
-
Você configura uma replicação transacional em um computador que está executando o Microsoft SQL Server 2012.
-
Você chama o procedimento armazenado sp_addpublication definindo a propriedade allow_initialize_from_backup como N'true '. Isso adiciona uma publicação no editor.
-
Você chama o procedimento armazenado sp_addarticle definindo o tipo de propriedade para N'proc Schema only '. Isso adiciona um artigo de procedimento armazenado apenas para esquemas no editor.
-
Você chama o procedimento armazenado sp_addarticle para adicionar um artigo de tabela. Isso replica uma tabela chamada "tabela1" no editor.
Nesse cenário, a sp_MSdel_tabela1, sp_MSins_tabela1e sp_MSupd_procedimentos armazenadostabela1 não são gerados no banco de dados de assinatura. ObservaçãoEsse problema não ocorre se você não adicionar o artigo do procedimento armazenado somente para o esquema.
Resolução
Informações sobre a atualização cumulativa
Atualização cumulativa 5 para SQL Server 2012 Service Pack 1
A correção para esse problema foi lançada pela primeira vez na atualização cumulativa 5. Para obter mais informações sobre como obter este pacote de atualização cumulativa do SQL Server 2012 Service Pack 1, clique no número abaixo para ler o artigo na base de dados de conhecimento da Microsoft:
2861107 Pacote de atualizações cumulativas 5 para SQL Server 2012 Service Pack 1Observação Como as compilações são cumulativas, cada nova versão de correção contém todos os hotfixes e todas as correções de segurança incluídas na versão anterior do SQL Server 2012 Service Pack 1 Fix. Recomendamos que você considere a aplicação do lançamento de correção mais recente que contém esse hotfix. Para obter mais informações, clique no número abaixo para ler os artigos na Base de Dados de Conhecimento Microsoft:
2772858 As compilações do SQL Server 2012 lançadas após o lançamento do SQL Server 2012 Service Pack 1
Status
A Microsoft confirmou que este é um problema nos produtos Microsoft listados na seção "Aplicável a".
Solução alternativa
Para contornar esse problema, execute as seguintes ações:
-
Defina a propriedade allow_initialize_from_backup como N'false ' ao executar sp_addpublication.
-
Adicione o artigo de tabela ao Publicador.
-
Execute o procedimento armazenado sp_changepublication definindo a propriedade allow_initialize_from_backup como true. Por exemplo, o procedimento armazenado é o seguinte:exec sp_changepublication@publication = N'$(PublicationName)',@property = N'allow_initialize_from_backup',@value = N'true'