Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Aplica-se a:SQL Server
Banco de Dados SQL do Azure
O Replication Snapshot Agent é um arquivo executável que prepara arquivos de instantâneo contendo esquema e dados de tabelas e objetos de banco de dados publicados, armazena os arquivos na pasta de instantâneo e registra trabalhos de sincronização no banco de dados de distribuição.
Observação
- Os parâmetros podem ser especificados em qualquer ordem.
Observação
A Instância Gerenciada SQL do Azure pode ser um editor, distribuidor e assinante para replicação de instantâneo e transacional. Os bancos de dados no Banco de Dados SQL do Azure só podem ser assinantes por push para replicação de instantâneo e transacional. Para obter mais informações, consulte Replicação transacional com o Banco de Dados SQL do Azure e a Instância Gerenciada SQL do Azure.
Sintaxe
snapshot [ -?]
-Publisher server_name[\instance_name]
-Publication publication_name
[-70Subscribers]
[-BcpBatchSize bcp_batch_size]
[-DefinitionFile def_path_and_file_name]
[-Distributor server_name[\instance_name]]
[-DistributorDeadlockPriority [-1|0|1] ]
[-DistributorLogin distributor_login]
[-DistributorPassword distributor_password]
[-DistributorSecurityMode [0|1] ]
[-DynamicFilterHostName dynamic_filter_host_name]
[-DynamicFilterLogin dynamic_filter_login]
[-DynamicSnapshotLocation dynamic_snapshot_location]
[-EncryptionLevel [0|1|2|3|4]]
[-FieldDelimiter field_delimiter]
[-HistoryVerboseLevel [0|1|2|3] ]
[-HRBcpBlocks number_of_blocks ]
[-HRBcpBlockSize block_size ]
[-HRBcpDynamicBlocks ]
[-KeepAliveMessageInterval keep_alive_interval]
[-LoginTimeOut login_time_out_seconds]
[-MaxBcpThreads number_of_threads ]
[-MaxNetworkOptimization [0|1]]
[-Output output_path_and_file_name]
[-OutputVerboseLevel [0|1|2] ]
[-PacketSize packet_size]
[-PrefetchTables [0|1] ]
[-ProfileName profile_name]
[-PublisherDB publisher_database]
[-PublisherDeadlockPriority [-1|0|1] ]
[-PublisherFailoverPartner server_name[\instance_name] ]
[-PublisherLogin publisher_login]
[-PublisherPassword publisher_password]
[-PublisherSecurityMode [0|1] ]
[-QueryTimeOut query_time_out_seconds]
[-ReplicationType [1|2] ]
[-RowDelimiter row_delimiter]
[-StartQueueTimeout start_queue_timeout_seconds]
[-UsePerArticleContentsView use_per_article_contents_view]
Argumentos
-?
Imprime todos os parâmetros disponíveis.
-Editoraserver_name[\instance_name]
É o nome do Editor. Especifique server_name para a instância padrão do Microsoft SQL Server nesse servidor. Especifique server_name\instance_name para uma instância nomeada do SQL Server nesse servidor.
-Publicação
É o nome da publicação. Esse parâmetro só é válido se a publicação estiver definida para ter sempre um instantâneo disponível para assinaturas novas ou reinicializadas.
-70Assinantes
Deve ser usado se algum Assinante estiver executando o SQL Server versão 7.0.
-BcpBatchSizebcp_ tamanho do lote_
É o número de linhas a serem enviadas em uma operação de cópia em massa. Ao executar um bcp em operação, o tamanho do lote é o número de linhas a serem enviadas ao servidor como uma transação e também o número de linhas que devem ser enviadas antes que o Distribution Agent registre uma mensagem de progresso bcp . Ao executar uma operação bcp out , um tamanho de lote fixo de 1000 é usado. Um valor 0 indica que não há registo de mensagens.
-DefinitionFiledef_path_and_file_name
É o caminho do arquivo de definição do agente. Um arquivo de definição de agente contém argumentos de linha de comando para o agente. O conteúdo do arquivo é analisado como um arquivo executável. Use aspas duplas (") para especificar valores de argumento contendo caracteres arbitrários.
-Distribuidorserver_name[\instance_name]
É o nome do distribuidor. Especifique server_name para a instância padrão do SQL Server nesse servidor. Especifique server_name\instance_name para uma instância nomeada do SQL Server nesse servidor.
-DistribuidorDeadlockPriority [-1|0|1]
É a prioridade da conexão do Snapshot Agent com o Distribuidor quando ocorre um deadlock. Esse parâmetro é especificado para resolver impasses que podem ocorrer entre o Snapshot Agent e os aplicativos do usuário durante a geração do snapshot.
| Valor DistributorDeadlockPriority | Descrição |
|---|---|
| -1 | Aplicativos diferentes do Snapshot Agent têm prioridade quando ocorre um impasse no Distribuidor. |
| 0 (Padrão) | A prioridade não é atribuída. |
| 1 | O Snapshot Agent tem prioridade quando ocorre um impasse no Distribuidor. |
-DistribuidorLogindistributor_login
É o logon usado ao se conectar ao Distribuidor usando a Autenticação do SQL Server.
-DistributorPassworddistributor_password
É a senha usada ao se conectar ao Distribuidor usando a Autenticação do SQL Server.
-DistribuidorSecurityMode [ 0| 1]
Especifica o modo de segurança do Distribuidor. Um valor 0 indica o Modo de Autenticação do SQL Server (padrão) e um valor 1 indica o Modo de Autenticação do Windows.
-DynamicFilterHostNamedynamic_filter_host_name
É usado para definir um valor para HOST_NAME (Transact-SQL) na filtragem quando um instantâneo dinâmico é criado. Por exemplo, se a cláusula rep_id = HOST_NAME() de filtro de subconjunto for especificada para um artigo e você definir a propriedade DynamicFilterHostName como "FBJones" antes de chamar o Merge Agent, somente as linhas com "FBJones" na coluna rep_id serão replicadas.
-DynamicFilterLogindynamic_filter_login
É usado para definir um valor para SUSER_SNAME (Transact-SQL) na filtragem quando um instantâneo dinâmico é criado. Por exemplo, se a cláusula user_id = SUSER_SNAME() de filtro de subconjunto for especificada para um artigo e você definir a propriedade DynamicFilterLogin como "rsmith" antes de chamar o método Run do objeto SQLSnapshot , somente as linhas com "rsmith" na coluna user_id serão incluídas no instantâneo.
-DynamicSnapshotLocationdynamic_snapshot_location
É o local onde o instantâneo dinâmico deve ser gerado.
-Nível de Encriptação [ 0 | 1 | 2 | 3 | 4]
É o nível de Transport Layer Security (TLS), anteriormente conhecido como Secure Sockets Layer (SSL), criptografia usada pelo Snapshot Agent ao fazer conexões.
| Valor EncryptionLevel | Descrição |
|---|---|
0 |
Especifica que o TLS não é usado. |
1 |
Especifica que o TLS 1.2 é usado, mas o agente não verifica se o certificado do servidor TLS/SSL está assinado por um emissor confiável. |
2 |
Especifica que o TLS 1.2 é usado e que o certificado é verificado. |
3 |
Especifica que, para conexões da Instância Gerenciada SQL do Azure, ou do SQL Server 2025 e versões posteriores, com a Instância Gerenciada SQL do Azure, o TLS 1.3 é usado e o certificado é verificado. Para conexões com o SQL Server (qualquer versão com suporte), o TLS 1.3 não é imposto com a opção 3. |
4 |
Especifica que, para conexões da Instância Gerenciada SQL do Azure, ou do SQL Server 2025 e versões posteriores, com a Instância Gerenciada SQL do Azure, o TLS 1.3 é usado e o certificado é verificado. Para conexões da Instância Gerenciada SQL do Azure, ou SQL Server 2025 e versões posteriores, com o SQL Server (qualquer versão com suporte), o TLS 1.3 é usado e o certificado é verificado. Requer a instalação do certificado em hosts do SQL Server que estão recebendo conexões com EncryptionLevel set como 4. |
Um certificado TLS/SSL válido é definido com um nome de domínio totalmente qualificado do SQL Server. Para que o agente se conecte com êxito ao definir -EncryptionLevel para 2, crie um alias no SQL Server local. O parâmetro 'Alias Name' deve ser o nome do servidor e o parâmetro 'Server' deve ser definido como o nome totalmente qualificado do SQL Server.
Para obter mais informações, consulte Exibir e modificar configurações de segurança de replicação.
-FieldDelimiterfield_delimiter
É o caractere ou a sequência de caracteres que marca o fim de um campo no arquivo de dados de cópia em massa do SQL Server. O padrão é \n<x$3>\n.
-HistóriaVerboseLevel [ 1| 2| 3]
Especifica a quantidade de histórico registrado durante uma operação de instantâneo. Você pode minimizar o efeito do registro de histórico no desempenho selecionando 1.
| Valor HistoryVerboseLevel | Descrição |
|---|---|
| 0 | As mensagens de progresso são gravadas no console ou em um arquivo de saída. Os registros de histórico não são registrados no banco de dados de distribuição. |
| 1 | Sempre atualize uma mensagem de histórico anterior do mesmo status (inicialização, progresso, sucesso e assim por diante). Se não existir nenhum registo anterior com o mesmo estado, insira um novo registo. |
| 2 (padrão) | Insira novos registros de histórico, a menos que o registro seja para coisas como mensagens ociosas ou mensagens de trabalho de longa duração, caso em que atualize os registros anteriores. |
| 3 | Sempre insira novos registros, a menos que seja para mensagens ociosas. |
-HRBcpBlocksnumber_of_blocks
É o número de blocos de dados bcp que estão enfileirados entre os threads do gravador e do leitor. O valor padrão é 50.
HRBcpBlocks é usado apenas com publicações Oracle.
Observação
Este parâmetro é usado para ajuste de desempenho do desempenho bcp de um editor Oracle.
-
HRBcpBlockSizeblock_size
É o tamanho, em kilobytes (KB), de cada bloco de dados bcp . O valor padrão é 64 KB.
HRBcpBlocks é usado apenas com publicações Oracle.
Observação
Este parâmetro é usado para ajuste de desempenho do desempenho bcp de um editor Oracle.
-HRBcpDynamicBlocks
É se o tamanho de cada bloco de dados bcp pode ou não crescer dinamicamente.
HRBcpBlocks é usado apenas com publicações Oracle.
Observação
Este parâmetro é usado para ajuste de desempenho do desempenho bcp de um editor Oracle.
-KeepAliveMessageIntervalkeep_alive_interval
É a quantidade de tempo, em segundos, que o Snapshot Agent aguarda antes de registrar "aguardando mensagem de back-end" na tabela MSsnapshot_history . O valor padrão é 300 segundos.
-LoginTimeOutlogin_time_out_seconds
É o número de segundos antes do tempo limite de início de sessão. O padrão é 15 segundos.
-MaxBcpThreadsnumber_of_threads
Especifica o número de operações de cópia em massa que podem ser executadas em paralelo. O número máximo de threads e conexões ODBC que existem simultaneamente é o menor de MaxBcpThreads ou o número de solicitações de cópia em massa que aparecem na transação de sincronização no banco de dados de distribuição.
MaxBcpThreads deve ter um valor maior que 0 e não tem limite superior codificado. O padrão é o dobro do número de processadores.
Observação
Se o objeto replicado tiver um filtro, o agente Snapshot gerará apenas um arquivo BCP para esse artigo, em vez de gerar vários arquivos BCP.
-
MaxNetworkOptimization [ 0| 1]
É se exclusões irrelevantes forem enviadas ao Assinante. Exclusões irrelevantes são comandos DELETE que são enviados aos Assinantes para linhas que não pertencem à partição do Assinante. As exclusões irrelevantes não afetam a integridade ou a convergência dos dados, mas podem resultar em tráfego de rede desnecessário. O valor padrão de MaxNetworkOptimization é 0. Definir MaxNetworkOptimization como 1 , minimizando as chances de exclusões irrelevantes, reduzindo assim o tráfego de rede e maximizando a otimização da rede. Definir esse parâmetro como 1 também pode aumentar o armazenamento de metadados e fazer com que o desempenho se degrade no Publisher se vários níveis de filtros de junção e filtros de subconjuntos complexos estiverem presentes. Você deve avaliar cuidadosamente sua topologia de replicação e definir MaxNetworkOptimization como 1 somente se o tráfego de rede de exclusões irrelevantes for inaceitavelmente alto.
Observação
Definir esse parâmetro como 1 é útil somente quando a opção de otimização de sincronização da publicação de mesclagem é definida como true (o @keep_partition_changes** parâmetro de sp_addmergepublication (Transact-SQL)).
-Saídaoutput_path_and_file_name
É o caminho do arquivo de saída do agente. Se o nome do arquivo não for fornecido, a saída será enviada para o console. Se o nome de arquivo especificado existir, a saída será anexada ao arquivo.
-SaídaVerboseLevel [ 0| 1| 2]
Especifica se a saída deve ser detalhada.
| Valor OutputVerboseLevel | Descrição |
|---|---|
| 0 | Apenas as mensagens de erro são impressas. |
| 1 (padrão) | Todas as mensagens do relatório de progresso são impressas (padrão). |
| 2 | Todas as mensagens de erro e mensagens de relatório de progresso são impressas, o que é útil para depuração. |
-PacketSizepacket_size
É o tamanho do pacote (em bytes) usado pelo Snapshot Agent ao se conectar ao SQL Server. O valor padrão é 8192 bytes.
Observação
Não altere o tamanho do pacote, a menos que tenha certeza de que ele melhorará o desempenho. Para a maioria dos aplicativos, o tamanho de pacote padrão é melhor.
-Tabelas de Pré-Leitura [ 0| 1]
Parâmetro opcional que especifica se os objetos da tabela serão pré-buscados e armazenados em cache. O comportamento padrão é pré-buscar determinadas propriedades da tabela usando o componente SMO com base em um cálculo interno. Esse parâmetro pode ser útil em cenários em que a operação de pré-busca do SMO leva muito mais tempo para ser executada. Se esse parâmetro não for usado, essa decisão será tomada em tempo de execução com base na porcentagem de tabelas que são adicionadas como artigos à publicação.
| Valor OutputVerboseLevel | Descrição |
|---|---|
| 0 | O método Call to Prefetch do componente SMO está desativado. |
| 1 | O Snapshot Agent chamará o método Prefetch para armazenar em cache algumas propriedades da tabela usando o SMO |
-ProfileNameprofile_name
Especifica um perfil de agente a ser usado para parâmetros de agente. Se ProfileName for NULL, o perfil do agente será desativado. Se ProfileName não for especificado, o perfil padrão para o tipo de agente será usado. Para obter informações, consulte Perfis do agente de replicação.
-PublisherDBpublisher_database
É o nome do banco de dados de publicação.
Este parâmetro não é suportado para editores Oracle.
-PrioridadeImpasse do Editor: [-1|0|1]
É a prioridade da conexão do Snapshot Agent com o Publisher quando ocorre um deadlock. Esse parâmetro é especificado para resolver impasses que podem ocorrer entre o Snapshot Agent e os aplicativos do usuário durante a geração do snapshot.
| Valor PublisherDeadlockPriority | Descrição |
|---|---|
| -1 | Aplicativos diferentes do Snapshot Agent têm prioridade quando ocorre um deadlock no Publisher. |
| 0 (Padrão) | A prioridade não é atribuída. |
| 1 | O Snapshot Agent tem prioridade quando ocorre um impasse no Publisher. |
-PublisherFailoverPartnerserver_name[\instance_name]
Especifica a instância de parceiro de failover do SQL Server que participa de uma sessão de espelhamento de banco de dados com o banco de dados de publicação. Para obter mais informações, consulte Espelhamento e replicação de banco de dados (SQL Server).
-PublisherLoginpublisher_login
É o logon usado ao se conectar ao Publicador usando a Autenticação do SQL Server.
-PublisherPasswordpublisher_password
É a senha usada ao se conectar ao Publicador usando a Autenticação do SQL Server.
-Modo de Segurança do Editor [ 0| 1]
Especifica o modo de segurança do Editor. Um valor 0 indica a Autenticação do SQL Server (padrão) e um valor 1 indica o Modo de Autenticação do Windows.
-QueryTimeOutquery_time_out_seconds
É o número de segundos antes do tempo limite da consulta. O padrão é 1800 segundos.
-ReplicationType [ 1| 2]
Especifica o tipo de replicação. Um valor de 1 indica replicação transacional e um valor de 2 indica replicação de mesclagem.
-RowDelimiterrow_delimiter
É o caractere ou a sequência de caracteres que marca o fim de uma linha no arquivo de dados de cópia em massa do SQL Server. O padrão é \n<,@g>\n.
-StartQueueTimeoutstart_queue_timeout_seconds
É o número máximo de segundos que o Snapshot Agent aguarda quando o número de processos de snapshot dinâmicos simultâneos em execução está no limite definido pela @max_concurrent_dynamic_snapshots propriedade de sp_addmergepublication (Transact-SQL). Se o número máximo de segundos for atingido e o Snapshot Agent ainda estiver aguardando, ele será encerrado. Um valor 0 significa que o agente aguarda indefinidamente, embora possa ser cancelado.
-
UsePerArticleContentsVeruse_per_article_contents_view
Este parâmetro foi preterido e é suportado apenas para compatibilidade com versões anteriores.
Observações
Importante
Se você tiver instalado o SQL Server Agent para ser executado em uma conta Sistema Local em vez de em uma conta de Usuário de Domínio (o padrão), o serviço poderá acessar apenas o computador local. Se o Snapshot Agent executado no SQL Server Agent estiver configurado para usar o Modo de Autenticação do Windows quando fizer logon no SQL Server, o Snapshot Agent falhará. A configuração padrão é Autenticação do SQL Server.
Para iniciar o Snapshot Agent, execute snapshot.exe no prompt de comando. Para obter informações, consulte Executáveis do Replication Agent.