Meu erro é MSmerge_ctsv_9777E7338F8248498F9237E1FF3FE39D
porque ele não existe ou você não tem permissão.
Conectei-me ao banco de dados de assinantes e tentei executar a seguinte consulta:
exec sys.sp_MSaddmergetriggers N'Employees', N'dbo', null, 0
e obteve o seguinte erro:sp_MS_marksystemobject:
Nome de objeto inválido '[dbo].[MSmerge_ins_9777E7338F8248498F9237E1FF3FE39D]' sp_MS_marksystemobject: Nome de objeto inválido '[dbo].[MSmerge_upd_9777E7338F8248498F9237E1FF3FE39D]' sp_MS_marksystemobject: Nome de objeto inválido '[dbo].[MSmerge_del_9777E7338F8248498F9237E1FF3FE39D]' Msg 15151, Nível 16, Estado 1, Linha 20 Não é possível encontrar o objeto 'MSmerge_ctsv_9777E7338F8248498F9237E1FF3FE39D', porque ele não existe ou você não existe não tem permissão. Falha ao criar gatilhos de replicação de mesclagem para o objeto '[dbo].[Employees]'.
Tempo de conclusão: 2024-10-23T15:03:16.5001483-04:00
Quais autorizações eu preciso?
Talvez o seguinte tenha algum efeito: se eu executar a seguinte consulta nos editores:
SELECT *
FROM sys.objects WHERE name = 'MSmerge_ctsv_9777E7338F8248498F9237E1FF3FE39D';
Eu recebo um registro, se eu executar esta consulta no assinante, não encontro um único registro
Este erro decorre de tabelas de sistema ausentes e gatilhos relacionados ao
MSmerge_ctsv_9777E7338F8248498F9237E1FF3FE39D
assinante. Você pode executar o seguinte para tentar resolver este problema:Verifique as permissões - Certifique-se de que o usuário usado para replicação tenha
db_owner
permissões no banco de dados do publicador e do assinante.Como o objeto afetado está relacionado à
Msmerge_ctsv
tabela, reinicializar a assinatura para garantir que os objetos de replicação necessários sejam recriados no banco de dados do assinante pode ajudar a resolver esse problema. Depois de reinicializar a assinatura, inicie o agente de snapshot para sincronização de dados no publicador.Execute
DBCC CHECKDB
em ambos os bancos de dados para verificar a corrupção de metadados que pode estar causando falha na replicação.