Modificar as opções de inicialização de instantâneo para Replicação do SQLModify Snapshot Initialization Options for SQL Replication

APLICA-SE A: simSQL Server simBanco de Dados SQL do Azure (somente a Instância Gerenciada) nãoAzure Synapse Analytics (SQL DW) nãoParallel Data Warehouse APPLIES TO: yesSQL Server yesAzure SQL Database (Managed Instance only) noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse

Há várias opções disponíveis para especificar ao inicializar uma assinatura com um instantâneo.There are a number of options to specify when initializing a subscription with a snapshot.

Especificar o formato do instantâneo (SQL Server Management Studio)Specify Snapshot Format (SQL Server Management Studio)

Especifique o formato do instantâneo na página Instantâneo da caixa de diálogo Propriedades de Publicação – <Publicação> .Specify snapshot format on the Snapshot page of the Publication Properties - <Publication> dialog box. Para obter mais informações sobre como acessar essa caixa de diálogo, consulte View and Modify Publication Properties.For more information about accessing this dialog box, see View and Modify Publication Properties.

Para especificar o formato do instantâneoTo specify snapshot format

  1. Na página Instantâneo da caixa de diálogo Propriedades da Publicação – <Publicação> , selecione SQL Server Nativo – todos os Assinantes devem ser servidores que executam o SQL Server ou Caractere – necessário se um Publicador ou Assinante não executar o SQL Server.On the Snapshot page of the Publication Properties - <Publication> dialog box, select Native SQL Server - all Subscribers must be servers running SQL Server or Character - required if a Publisher or Subscriber is not running SQL Server.

    Observação

    É recomendável a seleção do formato nativo, a menos que essa publicação deva dar suporte a assinaturas de um banco de dados do SQL Server Compact ou um banco de dados não SQL Server.It is recommended to select the native format unless this publication must support subscriptions to a SQL Server Compact database or a non-SQL Server database.

  2. Escolha OK.Select OK.

Locais de pasta de instantâneoSnapshot Folder Locations

Localização do instantâneo padrãoDefault snapshot location

Especifique o local de instantâneo padrão na página Pasta de Instantâneo do Assistente para Configurar Distribuição.Specify the default snapshot location on the Snapshot Folder page of the Configure Distribution Wizard. Para obter mais informações sobre como usar o assistente, consulte Configurar a publicação e a distribuição.For more information about using this wizard, see Configure Publishing and Distribution. Se você criar uma publicação em um servidor que não esteja configurada como Distributor, especifique um local de instantâneo padrão na página Pasta de Instantâneo do Assistente para Novas Publicações.If you create a publication on a server that is not configured as a Distributor, specify a default snapshot location on the Snapshot Folder page of the New Publication Wizard. Para obter mais informações sobre como usar esse assistente, consulte Criar uma publicação.For more information about using this wizard, see Create a Publication.

Modifique o local do instantâneo padrão na página Publicadores da caixa de diálogo Propriedades do Distribuidor – <Distribuidor> .Modify the default snapshot location on the Publishers page of the Distributor Properties - <Distributor> dialog box. Para obter mais informações, consulte Exibir e modificar as propriedades do Distribuidor e do Publicador.For more information, see View and Modify Distributor and Publisher Properties. Defina a pasta de instantâneo para cada publicação na caixa de diálogo Propriedades da Publicação – <Publicação> .Set the snapshot folder for each publication in the Publication Properties - <Publication> dialog box. Para obter mais informações, consulte View and Modify Publication Properties.For more information, see View and Modify Publication Properties.

Para modificar o local do instantâneo padrão.To modify the default snapshot location

  1. Na página Publicadores da caixa de diálogo Propriedades do Distribuidor – <Distribuidor> , clique no botão de propriedades ( ... ) para o Publicador para o qual você deseja alterar a localização do instantâneo padrão.On the Publishers page of the Distributor Properties - <Distributor> dialog box, click the properties button (...) for the Publisher for which you want to change the default snapshot location.

  2. Na caixa de diálogo Propriedades do Publicador – <Publisher> , digite um valor para a propriedade Pasta de Instantâneo Padrão.In the Publisher Properties - <Publisher> dialog box, enter a value for the Default Snapshot Folder property.

    Observação

    O Snapshot Agent deve ter permissões de gravação para o diretório que você especificar, e o Distribution Agent ou Merge Agent devem ter permissões de leitura.The Snapshot Agent must have write permissions for the directory you specify, and the Distribution Agent or Merge Agent must have read permissions. Se as assinaturas pull forem usadas, será necessário especificar um diretório compartilhado como um caminho UNC, como \\computername\snapshot.If pull subscriptions are used, you must specify a shared directory as a universal naming convention (UNC) path, such as \\computername\snapshot. Para obter mais informações, consulte Proteger a pasta de instantâneos.For more information, see Secure the Snapshot Folder.

  3. Clique em OK.Click OK.

Locais de instantâneo alternativosAlternate snapshot locations

Locais de instantâneos alternativos permitem que você armazene arquivos de instantâneos em outro local ou em local diferente do padrão onde normalmente está localizado no Distribuidor.Alternate snapshot locations enable you to store snapshot files in a location other than, or in addition to, the default location, which is typically located on the Distributor. Locais alternativos podem ficar em outro servidor, em uma unidade de rede ou uma mídia removível (como um CD-ROM ou disco removível).Alternate locations can be on another server, on a network drive, or on removable media such as CD-ROMs or removable disks.

Locais de instantâneo alternativos são armazenados como uma propriedade da publicação.Alternate snapshot locations are stored as a property of the publication. Devido ao local de instantâneo alternativo ser uma propriedade da publicação, o Agente de Distribuição e o Agente de Mesclagem podem localizar o instantâneo apropriado como parte do processo de sincronização.Because the alternate snapshot location is a publication property, the Distribution Agent and the Merge Agent are able to locate the proper snapshot as part of the synchronization process.

Para especificar um local de pasta de instantâneo padrão ou compactar arquivos de instantâneo, crie a publicação sem criar o instantâneo inicial imediatamente, defina as propriedades da publicação para o local do instantâneo e execute o Agente de Instantâneo para aquela publicação.If you want to specify an alternate snapshot folder location or if you want to compress snapshot files, create the publication without creating the initial snapshot immediately, set the publication properties for the snapshot location, and then run the Snapshot Agent for that publication. Se você alterar o local alternativo após criar o instantâneo inicial, o local de qualquer instantâneo gerado para a publicação não será realocado para o novo local alternativo.If you change the alternate location after creating the initial snapshot, the location of any generated snapshot for the publication will not be relocated to the new alternate location. Nesse caso, dependendo das configurações da publicação, o Merge Agent ou Distribution Agent talvez não encontrem os arquivos de instantâneo no novo local alternativo.In this case, depending on the publication settings, the Merge Agent or Distribution Agent might not be able to find the snapshot files at the new alternate location.

Observação

Não especifique nenhum local alternativo (usando a caixa de diálogo Propriedades da Publicação ou sp_changepublication (Transact-SQL)) que seja igual ao local da pasta do instantâneo padrão.Do not specify an alternate location (using the Publication Properties dialog box or sp_changepublication (Transact-SQL)) that is the same as the default snapshot folder location.

Cuidado

Não use WebSync e locais de pasta de instantâneo alternativos ao mesmo tempo.Do not use both WebSync and alternate snapshot folder locations at the same time.

Usar o SQL Server Management StudioUse SQL Server Management Studio

  1. Na página Instantâneo da caixa de diálogo Propriedades da Publicação – <Publicação> :On the Snapshot page of the Publication Properties - <Publication> dialog box:

    1. Selecione Colocar os arquivos nesta pasta, depois clique em Procurar para ir para o diretório ou para entrar no caminho de diretório em que os arquivos de instantâneo devem estar armazenados.Select Put files in the following folder, and then click Browse to navigate to a directory, or enter the path to the directory in which the snapshot files should be stored.

      Observação

      O Snapshot Agent deve ter permissões de gravação para o diretório que você especificar, e o Distribution Agent ou Merge Agent devem ter permissões de leitura.The Snapshot Agent must have write permissions for the directory you specify, and the Distribution Agent or Merge Agent must have read permissions. Se as assinaturas pull forem usadas, será necessário especificar um diretório compartilhado como um caminho UNC, como \\computername\snapshot.If pull subscriptions are used, you must specify a shared directory as a universal naming convention (UNC) path, such as \\computername\snapshot. Para obter mais informações, consulte Proteger a pasta de instantâneos.For more information, see Secure the Snapshot Folder.

    2. Desmarque Colocar os arquivos na pasta padrão , exceto se for necessário que os arquivos de instantâneo sejam gravados em ambos os locais.Clear Put files in the default folder unless you require snapshot files to be written to both locations.

    Para compactar arquivos de instantâneo, selecione Compactar arquivos de instantâneo neste local.To compress the snapshot files, select Compress snapshot files in this location. A compactação é usada normalmente para conexões de largura da banda baixa e locais de instantâneo alternativos em mídia removível, como um CD-ROM.Compression is typically used for low bandwidth connections and alternate snapshot locations on removable media, such as a CD-ROM.

  2. Escolha OK.Select OK.

Usar o Transact-SQLUse Transact-SQL

Ao Configurar Propriedades de Instantâneo (Programação Transact-SQL de Replicação), especifique o valor para snapshot_in_defaultfolder como false.When Configuring Snapshot Properties (Replication Transact-SQL Programming), specify the value for snapshot_in_defaultfolder as false.

Instantâneos compactadosCompressed snapshots

A compactação de arquivos de instantâneo é apropriada quando se está transferindo instantâneos por uma rede lenta ou salvando-os em mídia removível e um instantâneo não compactado é grande demais para a mídia.Compressing snapshot files is appropriate when you are transferring snapshots over a slow network or you are saving them to removable media and an uncompressed snapshot is too large to fit on the media. A compactação de arquivos de instantâneo é útil nessas situações, mas a compactação aumenta o tempo para gerar e aplicar o instantâneo.Compressing snapshot files is useful in these situations, but compression increases the time to generate and apply the snapshot.

Arquivos de instantâneo compactados são gravados no formato de arquivo CAB MicrosoftMicrosoft , capaz de compactar arquivos de 2 GB ou menos (se os arquivos de instantâneo forem maiores do que 2GB, eles não podem ser compactados).Compressed snapshot files are written in the MicrosoftMicrosoft CAB file format, which can compress files of 2 GB or less (if the snapshot files are larger than 2GB, they cannot be compressed). Para compactar arquivos, eles precisam ser gravados em uma pasta de instantâneo alternativa (arquivos gravados na pasta de instantâneo padrão não podem ser compactados).To compress files, they must be written to an alternate snapshot folder (files written to the default snapshot folder cannot be compressed).

Arquivos são descompactados no local onde o Distribuition Agent ou Agente de Mesclagem são executados; assinaturas pull são geralmente usadas com instantâneos compactados para que os arquivos sejam descompactados no Assinante.Files are uncompressed at the location where the Distribution Agent or Merge Agent runs; pull subscriptions are typically used with compressed snapshots so that files are uncompressed at the Subscriber. Quando o Assinante recebe um arquivo compactado, o arquivo é inicialmente gravado em um local temporário.When the Subscriber receives a compressed file, the file is written initially to a temporary location. Depois que o arquivo compactado é copiado para o Assinante, os arquivos de instantâneo no arquivo compactado são descompactados, em ordem, um arquivo de cada vez pelo utilitário CAB.After the compressed file is copied to the Subscriber, the snapshot files in the compressed file are decompressed, in order, one file at a time by the CAB utility. O espaço exigido no Assinante é o tamanho do arquivo compactado mais o arquivo não comprimido maior.Space required at the Subscriber is the size of the compressed file plus the largest uncompressed file.

Observação

Os instantâneos compactados podem, em alguns casos, melhorar o desempenho da transferência de arquivos de instantâneo pela rede.Compressed snapshots can, in some cases, improve the performance of transferring snapshot files across the network. No entanto, a compactação de instantâneos exige processamento adicional por parte do Snapshot Agent ao gerar os arquivos de instantâneo, e por parte do Distribution Agent ou Merge Agent ao aplicar os arquivos de instantâneo.However, compressing the snapshot requires additional processing by the Snapshot Agent when generating the snapshot files, and by the Distribution Agent or Merge Agent when applying the snapshot files. Em alguns casos, isso pode reduzir a velocidade da geração de instantâneos e aumentar o tempo para se aplicar um instantâneo.This may slow down snapshot generation and increase the time it takes to apply a snapshot in some cases. Além disso, instantâneos compactados não podem ser retomados no caso de uma falha de rede; consequentemente, não são apropriados para redes não confiáveis.Additionally, compressed snapshots cannot be resumed if a network failure occurs; therefore they are not suitable for unreliable networks. Considere essa possibilidade cuidadosamente ao usar instantâneos compactados por uma rede.Consider these tradeoffs carefully when using compressed snapshots across a network.

Usar o SQL Server Management StudioUse SQL Server Management Studio

  1. Na página Instantâneo da caixa de diálogo Propriedades da Publicação – <Publicação> :On the Snapshot page of the Publication Properties - <Publication> dialog box:

    1. Selecione Colocar os arquivos nesta pasta, depois clique em Procurar para ir para o diretório ou para entrar no caminho de diretório em que os arquivos de instantâneo devem estar armazenados.Select Put files in the following folder, and then click Browse to navigate to a directory, or enter the path to the directory in which the snapshot files should be stored.

      Observação

      O Snapshot Agent deve ter permissões de gravação para o diretório que você especificar, e o Distribution Agent ou Merge Agent devem ter permissões de leitura.The Snapshot Agent must have write permissions for the directory you specify, and the Distribution Agent or Merge Agent must have read permissions. Se as assinaturas pull forem usadas, será necessário especificar um diretório compartilhado como um caminho UNC, como \\computername\snapshot.If pull subscriptions are used, you must specify a shared directory as a universal naming convention (UNC) path, such as \\computername\snapshot. Para obter mais informações, consulte Proteger uma pasta de instantâneoFor more information, see Secure the Snapshot Folder

    2. Desmarque Colocar os arquivos na pasta padrão , exceto se for necessário que os arquivos de instantâneo sejam gravados em ambos os locais.Clear Put files in the default folder unless you require snapshot files to be written to both locations.

      Observação

      Se essa caixa de seleção estiver marcada, os arquivos armazenados na pasta padrão não serão compactados.If this check box is selected, the files stored in the default folder are not compressed. Arquivos compactados só podem ser armazenados no local alternativo especificado na etapa anterior.Compressed files can only be stored in the alternate location specified in the previous step.

  2. Selecione Compactar arquivos de instantâneo nesta pasta.Select Compress snapshot files in this folder.

  3. Escolha OK.Select OK.

Usar o Transact-SQLUse Transact-SQL

Ao Configurar Propriedades de Instantâneo, especifique o valor compress_snapshot como True.When Configuring Snapshot Properties, specify the value compress_snapshot to be True.

Executar scripts antes e depois da aplicação do instantâneoExecute scripts before and after snapshot is applied

É possível especificar scripts a serem executados no Assinante antes ou depois que o instantâneo é aplicado.You can specify scripts to execute at the Subscriber before or after the snapshot is applied. 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.Scripts can be used for a variety of reasons, such as creating logins and schemas (object owners) at each Subscriber.

Especifica-se um local de arquivo para cada script, e o Agente de Instantâneo copia os arquivos de script para a atual pasta de instantâneo a cada vez que ocorrer o processo de instantâneo.You specify a file location for each script, and the Snapshot Agent copies the script files to the current snapshot folder each time snapshot processing occurs. O Agente de Distribuição ou Agente de Mesclagem executa o script pré-instantâneo antes de qualquer script do objeto replicado, ao aplicar um instantâneo.The Distribution Agent or the Merge Agent runs the pre-snapshot script before any of the replicated object scripts when applying a snapshot. O Agente de Distribuição ou o Agente de Mesclagem executa o script pós-instantâneo depois que todos os outros scripts de objeto e dados replicados tentam sido aplicados.The Distribution Agent or the Merge Agent runs the post-snapshot script after all the other replicated object scripts and data have been applied. 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.After the snapshot application is complete and script files run successfully, the script files are removed from the working directory on the Subscriber.

O script é executado lançando o utilitário sqlcmd .The script is run by launching the sqlcmd utility. Antes de implantar um script, execute-o com sqlcmd para assegurar que a execução corra conforme esperado.Before deploying a script, run it with sqlcmd to ensure it executes as expected. Os conteúdos de scripts executados antes e depois que o instantâneo é aplicado devem ser repetíveis.The contents of scripts that are executed before and after the snapshot is applied must be repeatable. 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.For example, if you create a table in the script, you should first check for its existence and take appropriate action if it exists. 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.The script must be repeatable because if you need to reinitialize a subscription for which the script has already been applied, the script will be applied again when the new snapshot is applied during reinitialization.

Se você estiver compactando o arquivo de instantâneo (colocando-o em um formato de arquivo CAB MicrosoftMicrosoft ), os scripts também são compactados e colocados no arquivo CAB.If you are compressing the snapshot file (by putting it in MicrosoftMicrosoft CAB file format), the scripts are also compressed and placed in the CAB file. 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.After the compressed snapshot file is transferred to the Subscriber and decompressed to a working directory on the Subscriber, any script indicated as a pre-snapshot script is executed. Da mesma forma, qualquer script de pós-instantâneo é descompactado e executado no Assinante como última etapa aplicando-se o instantâneo.Likewise, any post-snapshot script is decompressed and executed at the Subscriber as the last step in applying the snapshot.

Executar um scriptExecute a script

  1. Na página Instantâneo da caixa de diálogo Propriedades da Publicação – <Publicação> :On the Snapshot page of the Publication Properties - <Publication> dialog box:
    • Para especificar um script a ser executado antes de o instantâneo ser aplicado, clique em Procurar para navegar até o script ou insira um caminho para o script na caixa de texto Antes de aplicar o instantâneo, executar este script .To specify a script to execute before the snapshot is applied, click Browse to navigate to the script, or enter a path to the script in the Before applying the snapshot, execute this script text box.

      Observação

      O Agente de Distribuição ou Agente de Mesclagem devem ter permissões de leitura para o diretório especificado.The Distribution Agent or Merge Agent must have read permissions for the directory you specify. Se forem usadas assinaturas pull, você deverá especificar um diretório compartilhado como um caminho UNC, como \\computername\scripts\myscript.sql.If pull subscriptions are used, you must specify a shared directory as a universal naming convention (UNC) path, such as \\computername\scripts\myscript.sql.

    • Para especificar um script a ser executado depois de o instantâneo ser aplicado, clique em Procurar para navegar até o script ou insira um caminho UNC para o script na caixa de texto Após aplicar o instantâneo, executar este script .To specify a script to execute after the snapshot is applied, click Browse to navigate to the script, or enter a UNC path to the script in the After applying the snapshot, execute this script text box.

  2. Clique em OK.Click OK.

Consulte TambémSee Also

Inicializar uma assinatura com um instantâneo Initialize a Subscription with a Snapshot
Transferir instantâneos por FTP Transfer snapshot through FTP
Configurar propriedades de instantâneo (Programação Transact-SQL de Replicação)Configure Snapshot Properties (Replication Transact-SQL Programming)