Executando scripts antes ou depois que o instantâneo é aplicado
É possível especificar scripts a serem executados no Assinante antes ou depois que o instantâneo é aplicado. Scripts podem ser usados por várias razões, tais como a criação de logon e esquemas (proprietários de objeto) em cada Assinante.
Especifica-se um local de arquivo para cada script, e o Snapshot Agent copia os arquivos de script para a atual pasta de instantâneo a cada vez que ocorrer o processo de instantâneo. O Distribution Agent ou Merge Agent executa o script pré-instantâneo antes de qualquer script do objeto replicado, ao aplicar um instantâneo. O Distribution Agent ou o Merge Agent executa o script pós-instantâneo depois que todos os outros scripts de objeto e dados replicados tentam sido aplicados. Depois que a aplicação de instantâneo for concluída e os arquivos de script forem executados com êxito, os arquivos de script são removidos do diretório de trabalho no Assinante.
O script é executado lançando o utilitáriosqlcmd. Antes de implantar um script, execute-o com sqlcmd para assegurar que a execução corra conforme esperado. Os conteúdos de scripts executados antes e depois que o instantâneo é aplicado devem ser repetíveis. Por exemplo, se você criar uma tabela em um script, você deve, em primeiro lugar, verificar sua existência e tomar as ações devidas caso ela exista. O script deve ser repetível, pois se você precisar reinicializar uma assinatura para a qual o script já foi aplicado, o script será aplicado novamente quando o novo instantâneo for aplicado durante a reinicialização.
Se você estiver compactando o arquivo de instantâneo (colocando-o em um formato de arquivo CAB Microsoft), os scripts também são compactados e colocados no arquivo CAB. Depois que o arquivo de instantâneo compactado for transferido para o Assinante e descompactado para um diretório de trabalho no Assinante, qualquer script indicado como script de pré-instantâneo será executado. Da mesma forma, qualquer script de pós-instantâneo é descompactado e executado no Assinante como última etapa aplicando-se o instantâneo.
Importante |
---|
É possível executar scripts ao aplicar o instantâneo a Assinantes executando Microsoft SQL Server 7.0 se você usar assinaturas push e o Distribuidor estiver executando SQL Server 2000 ou posterior. Não é possível executar scripts ao aplicar o instantâneo a Assinantes executando o SQL Server 7.0 se você usar assinaturas pull. |
Para executar scripts antes e depois que o instantâneo é aplicado
SQL Server Management Studio:Como executar scripts antes e depois que um instantâneo é aplicado (SQL Server Management Studio)
Programação de Transact-SQL replicação: Como configurar propriedades de instantâneo (Programação Transact-SQL de replicação)