Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
As propriedades de snapshot podem ser definidas e modificadas programaticamente usando procedimentos armazenados de replicação, cujo procedimento armazenado usado depende do tipo de publicação.
Para configurar as configurações do instantâneo ao criar um instantâneo ou publicação transacional
No Publicador, execute sp_addpublication. Especifique um nome de publicação para @publication, um valor de instantâneo ou contínuo para @repl_freq e um ou mais dos seguintes parâmetros relacionados ao instantâneo:
@alt_snapshot_folder - especifique um caminho se o instantâneo dessa publicação for acessado desse local em vez de ou além da pasta padrão do instantâneo.
@compress_snapshot - especifique o valor verdadeiro caso os arquivos de instantâneo, que estão na pasta alternativa de instantâneo, sejam compactados no formato CAB da Microsoft.
@pre_snapshot_script – especifique o nome do arquivo e o caminho completo de um arquivo .sql que será executado no Subscriber durante a inicialização antes que o instantâneo inicial seja aplicado.
@post_snapshot_script – especifique o nome do arquivo e o caminho completo de um arquivo .sql que será executado no destinatário durante a inicialização após a aplicação do instantâneo inicial.
@snapshot_in_defaultfolder - especifique um valor de false se o instantâneo estiver disponível apenas em um local não padrão.
Para obter mais informações sobre como criar publicações, consulte Criar uma Publicação.
Para configurar propriedades de instantâneo ao criar uma publicação de mesclagem
No Publicador, execute sp_addmergepublication. Especifique um nome de publicação para @publication, um valor de instantâneo ou contínuo para @repl_freq e um ou mais dos seguintes parâmetros relacionados ao instantâneo:
@alt_snapshot_folder - especifique um caminho se o instantâneo dessa publicação for acessado desse local em vez de ou além da pasta padrão do instantâneo.
@compress_snapshot - defina o valor como verdadeiro se os arquivos de instantâneo na pasta de instantâneo alternativa estiverem compactados no formato de arquivo CAB.
@pre_snapshot_script – especifique o nome do arquivo e o caminho completo de um arquivo .sql que será executado no Assinante durante a inicialização antes que o instantâneo inicial seja aplicado.
@post_snapshot_script – especifique o nome do arquivo e o caminho completo de um arquivo .sql que será executado no Assinante durante a inicialização após a aplicação do instantâneo inicial.
@snapshot_in_defaultfolder - especifique um valor de false se o instantâneo estiver disponível apenas em um local não padrão.
Para obter mais informações sobre como criar publicações, consulte Criar uma Publicação.
Para modificar as propriedades de instantâneo de um instantâneo ou publicação transacional existente
No Publicador do banco de dados de publicação, execute sp_changepublication. Especifique um valor de 1 para @force_invalidate_snapshot e um dos seguintes valores para @property:
alt_snapshot_folder -also especificar um novo caminho para a pasta de instantâneo alternativa para @value.
compress_snapshot - especifique também um valor verdadeiro ou falso para @value para indicar se os arquivos de instantâneo na pasta de instantâneo alternativa são compactados no formato de arquivo CAB.
pre_snapshot_script - também para @value especificar o nome do arquivo e o caminho completo de um arquivo de .sql que será executado no Assinante durante a inicialização antes que o instantâneo inicial seja aplicado.
post_snapshot_script - também para @value especificar o nome do arquivo e o caminho completo de um arquivo de .sql que será executado no Assinante durante a inicialização após a aplicação do instantâneo inicial.
snapshot_in_defaultfolder - especifique também um valor verdadeiro ou falso para indicar se o instantâneo está disponível apenas em um local não padrão.
(Opcional) No Publicador do banco de dados de publicação, execute sp_changepublication_snapshot. Especifique @publication e um ou mais dos parâmetros de agendamento ou credencial de segurança que estão sendo alterados.
Importante
Quando possível, solicite aos usuários que insiram credenciais de segurança no runtime. Se você precisar armazenar credenciais em um arquivo de script, deverá proteger o arquivo para impedir o acesso não autorizado.
Execute o Replication Snapshot Agent no prompt de comando ou inicie o trabalho do Snapshot Agent para gerar um novo instantâneo. Para obter mais informações, consulte Criar e aplicar o instantâneo inicial.
Para modificar as propriedades de instantâneo de uma publicação de mesclagem existente
No Publicador do banco de dados de publicação, execute sp_changemergepublication. Especifique um valor de 1 para @force_invalidate_snapshot e um dos seguintes valores para @property:
alt_snapshot_folder -also especificar um novo caminho para a pasta de instantâneo alternativa para @value.
compress_snapshot - especifique também um valor verdadeiro ou falso para @value para indicar se os arquivos de instantâneo na pasta de instantâneo alternativa são compactados no formato de arquivo CAB.
pre_snapshot_script - além disso, para @value, especifique o nome do arquivo e o caminho completo de um arquivo .sql que será executado no destinatário durante a inicialização, antes de aplicar o instantâneo inicial.
post_snapshot_script - também especificar para @value o nome do arquivo e o caminho completo do arquivo .sql que será executado no Subscritor durante a inicialização, após a aplicação do instantâneo inicial.
snapshot_in_defaultfolder - especifique também um valor verdadeiro ou falso para indicar se o instantâneo está disponível apenas em um local não padrão.
Execute o Replication Snapshot Agent no prompt de comando ou inicie o trabalho do Snapshot Agent para gerar um novo instantâneo. Para obter mais informações, consulte Criar e aplicar o instantâneo inicial.
Exemplo
Este exemplo cria uma publicação que utiliza uma pasta alternativa para instantâneos e um instantâneo compactado.
-- This script uses sqlcmd scripting variables. They are in the form
-- $(MyVariable). For information about how to use scripting variables
-- on the command line and in SQL Server Management Studio, see the
-- "Executing Replication Scripts" section in the topic
-- "Programming Replication Using System Stored Procedures".
--Declarations for adding a merge publication
DECLARE @publicationDB AS sysname;
DECLARE @publication AS sysname;
DECLARE @article AS sysname;
DECLARE @owner AS sysname;
DECLARE @snapshot_share AS sysname;
SET @publicationDB = N'AdventureWorks2012';
SET @publication = N'AdvWorksSalesOrdersMergeAltSnapshot';
SET @article = N'SpecialOffer';
SET @owner = N'Sales';
SET @snapshot_share = '\\' + $(InstanceName) + '\AltSnapshotFolder';
-- Enable merge replication on the publication database, using defaults.
USE master
EXEC sp_replicationdboption
@dbname = @publicationDB,
@optname=N'merge publish',
@value = N'true';
-- Create new merge publication with an alternate snapshot location.
USE [AdventureWorks]
EXEC sp_addmergepublication
-- required parameters
@publication = @publication,
@snapshot_in_defaultfolder = N'false',
@alt_snapshot_folder = @snapshot_share,
@compress_snapshot = N'true';
-- Create the snapshot job for the publication.
EXEC sp_addpublication_snapshot
@publication = @publication,
@job_login = $(Login),
@job_password = $(Password);
-- Add an article.
EXEC sp_addmergearticle
@publication = @publication,
@article = @article,
@source_object = @article,
@type = N'table',
@source_owner = @owner,
@destination_owner = @owner;
-- Start the snapshot job.
EXEC sp_startpublication_snapshot
@publication = @publication;
GO
Consulte Também
Locais alternativos de pastas de instantâneos
Instantâneos compactados
Executar scripts antes e depois que o instantâneo é aplicado
Conceitos de procedimentos armazenados do sistema de replicação
Transferir instantâneos por meio de FTP
Alterar propriedades de publicação e artigo