Problemas de replicação do SQL Server

2

Antes de começar - não sou um tipo de DBA, sou um tipo de desenvolvimento de software. Nosso DBA ficou doente na última semana, e eu estou tentando colocar um novo recurso em funcionamento.

Esse novo recurso envolvia a adição de algumas tabelas e visualizações a uma assinatura de replicação existente, então adicionei os artigos à assinatura usando a interface do usuário no SSMS. Nada aconteceu, então eu tentei executar o agente de instantâneo.

Olhando o monitor para o agente de instantâneos, parece que tudo realmente termina dentro dos primeiros 3-4 segundos de execução. No log eu vejo coisas como:

[0%] Activated articles for publication '[publicationname]' at the publisher.

[0%] Bulk copying snapshot data for article 'new_table_name'

[0%] Bulk copied snapshot data for article 'new_table_name' (1068 rows).

(as duas linhas anteriores são repetidas para cada nova tabela)

Em seguida, o progresso pula de 0% para 93%:

[93%] Pre-loading meta-data of all tables in the publisher database for scripting

[93%] Pre-loading meta-data of all stored procedures in the publisher database for scripting

[93%] Pre-loading meta-data of all views in the publisher database for scripting

[93%] Pre-loading meta-data of all user-defined functions in the publisher database for scripting

[93%] Sorting article objects in the proper creation order

Então, começo a ver muitos desses:

[93%] The published object [objectnamehere] (StoredProcedure) is dependent on the unpublished object [objectnamehere] (Table), creation of the published object at the subscriber may fail unless the dependency is satisfied ahead of time.

Mas são coisas que eu não me importo particularmente ... mas não tenho certeza de que posso removê-las da publicação sem quebrar nada. Existem ~ 20-30 destes.

Em seguida, o agente é executado sem fazer nada. Depois de 10 min eu recebo isso:

[93%] The process is running and is waiting for a response from the server.

E depois mais dois a cada 10 minutos até expirar:

Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.

Agora, parece que a replicação de transação regular não está funcionando porque não há um instantâneo atual bom.

Escusado será dizer que estou muito profundamente e eu realmente preciso de ajuda. Obrigado.

    
por Daniel Schaffer 21.05.2009 / 15:29

2 respostas

3

Acontece que eu tinha alguns outros trabalhos em execução que estavam bloqueando o agente de instantâneo. Como explicado aqui: link

O agente de instantâneo requer um bloqueio exclusivo, por isso, o tempo limite estava aguardando o bloqueio. Desativar os trabalhos e re-executar o agente funcionou (e levou apenas ~ 5 segundos).

    
por 21.05.2009 / 18:03
1

Tente aumentar o -QueryTimeOut do agente.

    
por 21.05.2009 / 17:40