evento
Obtenha a certificação no Microsoft Fabric — gratuitamente!
19/11, 23 - 10/12, 23
Por um tempo limitado, a equipe da Comunidade do Microsoft Fabric está oferecendo vouchers de exame DP-600 gratuitos.
Prepare-se agoraEste browser já não é suportado.
Atualize para o Microsoft Edge para tirar partido das mais recentes funcionalidades, atualizações de segurança e de suporte técnico.
Aplica-se a: SQL Server Instância Gerenciada de SQL do Azure
Altera as propriedades de uma publicação. Esse procedimento armazenado é executado no Publicador, no banco de dados publicador.
Convenções de sintaxe de Transact-SQL
sp_changepublication
[ [ @publication = ] N'publication' ]
[ , [ @property = ] N'property' ]
[ , [ @value = ] N'value' ]
[ , [ @force_invalidate_snapshot = ] force_invalidate_snapshot ]
[ , [ @force_reinit_subscription = ] force_reinit_subscription ]
[ , [ @publisher = ] N'publisher' ]
[ ; ]
O nome da publicação. @publication é sysname, com um padrão de NULL
.
A propriedade de publicação a ser alterada. @property é nvarchar(255), com um padrão de NULL
.
O novo valor da propriedade. @value é nvarchar(255), com um padrão de NULL
.
Essa tabela descreve as propriedades da publicação que podem ser alteradas e restrições nos valores dessas propriedades.
Propriedade | Valor | Descrição |
---|---|---|
allow_anonymous |
true |
Assinaturas anônimas podem ser criadas para a publicação fornecida e immediate_sync também devem ser true . Não pode ser alterado para publicações ponto a ponto. |
false |
Não é possível criar assinaturas anônimas para a publicação especificada. Não pode ser alterado para publicações ponto a ponto. | |
allow_initialize_from_backup |
true |
Os Assinantes podem iniciar uma assinatura para essa publicação de um backup em vez de um instantâneo inicial. Essa propriedade não pode ser alterada para publicações que não sejam do SQL Server. |
false |
Assinantes devem usar o instantâneo inicial. Essa propriedade não pode ser alterada para publicações que não sejam do SQL Server. | |
allow_partition_switch |
true |
ALTER TABLE...SWITCH As instruções podem ser executadas no banco de dados publicado. Para obter mais informações, consulte Replicar tabelas e índices particionados. |
false |
ALTER TABLE...SWITCH As instruções não podem ser executadas no banco de dados publicado. |
|
allow_pull |
true |
São permitidas assinaturas pull para a publicação determinada. Essa propriedade não pode ser alterada para publicações que não sejam do SQL Server. |
false |
Assinaturas pull não são permitidas para a publicação fornecida. Essa propriedade não pode ser alterada para publicações que não sejam do SQL Server. | |
allow_push |
true |
São permitidas assinaturas push para a publicação determinada. |
false |
Assinaturas push não são permitidas para a publicação fornecida. | |
allow_subscription_copy |
true |
Habilita a capacidade de copiar bancos de dados que assinam esta publicação. Essa propriedade não pode ser alterada para publicações que não sejam do SQL Server. |
false |
Desabilita a capacidade de copiar bancos de dados que assinam esta publicação. Essa propriedade não pode ser alterada para publicações que não sejam do SQL Server. | |
alt_snapshot_folder |
Local da pasta alternativa para o instantâneo. | |
centralized_conflicts |
true |
Registros de conflito são armazenados no Publicador. Só poderá ser alterado se não houver nenhuma assinatura ativa. Essa propriedade não pode ser alterada para publicações que não sejam do SQL Server. |
false |
Registros de conflito são armazenados no Publicador e no Assinante que causou o conflito. Só poderá ser alterado se não houver nenhuma assinatura ativa. Essa propriedade não pode ser alterada para publicações que não sejam do SQL Server. | |
compress_snapshot |
true |
Instantâneo em uma pasta de instantâneo alternativa é compactado no formato de arquivo .cab. O instantâneo na pasta de instantâneo padrão não pode ser compactado. |
false |
O instantâneo não é compactado, que é o comportamento padrão para replicação. | |
conflict_policy |
pub wins |
Política de resolução de conflito para atualizar Assinantes em que o Publicador vence o conflito. Essa propriedade só poderá ser alterada se não houver assinaturas ativas. Sem suporte para Publicadores Oracle. |
sub reinit |
Na atualização de Assinantes, se ocorrer um conflito a assinatura deverá ser reiniciada. Essa propriedade só poderá ser alterada se não houver assinaturas ativas. Sem suporte para Publicadores Oracle. | |
sub wins |
Política de resolução de conflito para atualização de Assinantes onde o Assinante vence o conflito. Essa propriedade só poderá ser alterada se não houver assinaturas ativas. Sem suporte para Publicadores Oracle. | |
conflict_retention |
Um valor int que especifica o período de retenção de conflito, em dias. A retenção padrão é 14 dias. 0 significa que nenhuma limpeza de conflito é necessária. Sem suporte para Publicadores Oracle. |
|
description |
Entrada opcional que descreve a publicação. | |
enabled_for_het_sub |
true |
Permite que a publicação ofereça suporte a Assinantes não-SQL Server. enabled_for_het_sub não pode ser alterado quando há assinaturas da publicação. Talvez seja necessário executar sp_changepublication para cumprir os seguintes requisitos antes de definir enabled_for_het_sub como true:- allow_queued_tran deve ser false .- allow_sync_tran deve ser false .Alterar enabled_for_het_sub para pode alterar as true configurações de publicação existentes. Para obter mais informações, consulte Non-SQL Server Subscribers. Essa propriedade não pode ser alterada para publicações que não sejam do SQL Server. |
false |
A publicação não dá suporte a Assinantes não SQL Server. Essa propriedade não pode ser alterada para publicações que não sejam do SQL Server. | |
enabled_for_internet |
true |
A publicação é habilitada para a Internet, e o FTP (File Transfer Protocol) pode ser usado para transferir os arquivos de instantâneo a um assinante. Os arquivos de sincronização da publicação são colocados no seguinte diretório: C:\Program Files\Microsoft SQL Server\MSSQL\Repldata\ftp . ftp_address não pode ser NULL . Essa propriedade não pode ser alterada para publicações que não sejam do SQL Server. |
false |
A publicação não está habilitada para a Internet. Essa propriedade não pode ser alterada para publicações que não sejam do SQL Server. | |
enabled_for_p2p |
true |
A publicação oferece suporte a replicação ponto a ponto. Essa propriedade não pode ser alterada para publicações que não sejam do SQL Server. Para definir enabled_for_p2p como true , aplicam-se as seguintes restrições:- allow_anonymous deve ser false - allow_dts deve ser false .- allow_initialize_from_backup deve ser true - allow_queued_tran deve ser false .- allow_sync_tran deve ser false .- enabled_for_het_sub deve ser false .- independent_agent deve ser true .- repl_freq deve ser continuous .- replicate_ddl deve ser 1 . |
false |
A publicação não dá suporte à replicação ponto a ponto. Essa propriedade não pode ser alterada para publicações que não sejam do SQL Server. | |
ftp_address |
Local acessível de FTP dos arquivos de instantâneo de publicação. Essa propriedade não pode ser alterada para publicações que não sejam do SQL Server. | |
ftp_login |
Nome de usuário usado para se conectar ao serviço FTP e o valor anonymous é permitido. Essa propriedade não pode ser alterada para publicações que não sejam do SQL Server. |
|
ftp_password |
Senha para o nome de usuário usado na conexão com o serviço de FTP. Essa propriedade não pode ser alterada para publicações que não sejam do SQL Server. | |
ftp_port |
Número da porta do serviço FTP para Distribuidor. Essa propriedade não pode ser alterada para publicações que não sejam do SQL Server. | |
ftp_subdirectory |
Especifica onde os arquivos de instantâneo serão criados se a publicação oferecer suporte à propagação de instantâneos usando FTP. Essa propriedade não pode ser alterada para publicações que não sejam do SQL Server. | |
immediate_sync |
true |
Arquivos de sincronização para a publicação são criados ou recriados em cada execução do Snapshot Agent. Os assinantes podem receber os arquivos de sincronização imediatamente após a assinatura, se o Snapshot Agent for concluído uma vez antes da assinatura. Novas assinaturas obtêm os arquivos de sincronização mais novos gerados pela execução mais recente do Agente de Instantâneo. independent_agent também deve ser true . Para obter mais informações, consulte Efeito da sincronização imediata. |
false |
Arquivos de sincronização só serão criados se houver novas assinaturas. Os assinantes não podem receber os arquivos de sincronização após a assinatura até que o Snapshot Agent seja iniciado e concluído. | |
independent_agent |
true |
A publicação tem seu próprio Distribution Agent dedicado. |
false |
A publicação usa um Distribution Agent compartilhado e cada par de banco de dados de publicação/assinatura tem um agente compartilhado. | |
p2p_continue_onconflict |
true |
O Distribution Agent continua processando alterações quando um conflito é detectado. Cuidado: recomendamos que você use o valor padrão de FALSE . Quando essa opção é definida como TRUE , o Distribution Agent tenta convergir dados na topologia aplicando a linha conflitante do nó que é a ID de originador mais alta. Esse método não garante a convergência. Verifique se a topologia está consistente depois que um conflito é detectado. Para obter mais informações, consulte "Manipulando conflitos" em Ponto a ponto - Detecção de conflitos na replicação ponto a ponto. |
false |
O Distribution Agent deixa de processar alterações quando um conflito é detectado. | |
post_snapshot_script |
Especifica o local de um arquivo de script Transact-SQL que o Distribution Agent executa depois que todos os outros scripts e dados de objeto replicados são aplicados durante uma sincronização inicial. | |
pre_snapshot_script |
Especifica o local de um arquivo de script Transact-SQL que o Distribution Agent executa antes que todos os outros scripts e dados de objeto replicados sejam aplicados durante uma sincronização inicial. | |
publish_to_ActiveDirectory |
true |
Esse parâmetro foi preterido e só tem suporte para a compatibilidade com versões anteriores de scripts. Você não pode mais adicionar informações de publicação ao Microsoft Active Directory. |
false |
Remove as informações de publicação do Active Directory. | |
queue_type |
sql |
Use o SQL Server para armazenar transações. Essa propriedade só poderá ser alterada se não houver assinaturas ativas. Observação: O suporte para o uso do serviço de enfileiramento de mensagens da Microsoft foi descontinuado. Especificar um valor de msmq for @value resulta em um erro. |
redirected_publisher |
O nome do ouvinte do grupo de disponibilidade. Usado na replicação ponto a ponto quando um par está em um grupo de disponibilidade. Essa propriedade não pode ser alterada para publicações que não sejam do SQL Server. Introduzido no SQL Server 2019 (15.x) 13. Para obter mais informações, consulte Configurar um par como parte do grupo de disponibilidade ou Configurar ambos os pares em grupos de disponibilidade. | |
repl_freq |
continuous |
Publica saída de todas as transações com base em log. |
snapshot |
Publica somente eventos de sincronização agendados. | |
replicate_ddl |
1 |
Instruções DDL (linguagem de definição de dados) executadas no Publicador são replicadas. Essa propriedade não pode ser alterada para publicações que não sejam do SQL Server. |
0 |
As instruções DDL não são replicadas. Essa propriedade não pode ser alterada para publicações que não sejam do SQL Server. A replicação de alterações de esquema não pode ser desabilitada ao usar a replicação ponto a ponto. | |
replicate_partition_switch |
true |
ALTER TABLE...SWITCH as instruções executadas no banco de dados publicado devem ser replicadas para os Assinantes. Essa opção só será válida se allow_partition_switch estiver definida como true . Para obter mais informações, consulte Replicar tabelas e índices particionados. |
false |
ALTER TABLE...SWITCH não devem ser replicadas para Assinantes. |
|
retention |
int que representa o período de retenção, em horas, para a atividade de assinatura. Se uma assinatura não estiver ativa dentro do período de retenção, ela será removida. | |
snapshot_in_defaultfolder |
true |
Arquivos de instantâneo são armazenados na pasta de instantâneos padrão. Se alt_snapshot_folder também for especificado, os arquivos de instantâneo serão armazenados nos locais padrão e alternativo. |
false |
Os arquivos de instantâneo são armazenados no local alternativo especificado pelo alt_snapshot_folder . |
|
status |
active |
Dados de Publicação estão imediatamente disponíveis para os Assinantes quando a publicação é criada. Sem suporte para Publicadores Oracle. |
inactive |
Os dados da publicação não estão disponíveis para Assinantes quando a publicação é criada. Sem suporte para Publicadores Oracle. | |
sync_method |
native |
Usa saída de cópia em massa do modo nativo de todas as tabelas ao sincronizar assinaturas. |
character |
Usa saída de cópia em massa do modo de caractere de todas as tabelas ao sincronizar assinaturas. | |
concurrent |
Usa a saída do programa de cópia em massa do modo nativo de todas as tabelas, mas não bloqueia tabelas durante o processo de geração de instantâneo. Não válido para replicação de instantâneo. | |
concurrent_c |
Usa a saída do programa de cópia em massa no modo de caractere de todas as tabelas, mas não bloqueia tabelas durante o processo de geração de instantâneo. Não válido para replicação de instantâneo. | |
taskid |
Essa propriedade foi preterida e não tem mais suporte. | |
allow_drop |
true |
Habilita DROP TABLE o suporte a DLL para artigos que fazem parte da replicação transacional. Versão mínima com suporte: SQL Server 2014 (12.x) Service Pack 2 ou superior e SQL Server 2016 (13.x) Service Pack 1 ou superior. Para obter mais informações, consulte KB 3170123 |
false (padrão) |
Desabilita o DROP TABLE suporte a DLL para artigos que fazem parte da replicação transacional. |
|
NULL (padrão) |
Retorna a lista de valores com suporte para @property. |
Confirma que a ação executada por esse procedimento armazenado pode invalidar um instantâneo existente. @force_invalidate_snapshot é bit, com um padrão de 0
.
0
Especifica que as alterações no artigo não fazem com que o instantâneo seja inválido. Se o procedimento armazenado detectar que a alteração requer um novo instantâneo, ocorrerá um erro e nenhuma alteração será feita.1
Especifica que as alterações no artigo podem fazer com que o instantâneo seja inválido. Se houver assinaturas existentes que exigem um novo instantâneo, esse valor dará permissão para que o instantâneo existente seja marcado como obsoleto e um novo instantâneo seja gerado.Consulte a seção Comentários para obter as propriedades que, quando alteradas, exigem a geração de um novo instantâneo.
Confirma que a ação executada por esse procedimento armazenado pode exigir que as assinaturas existentes sejam reinicializadas. @force_reinit_subscription é bit, com um padrão de 0
.
0
Especifica que as alterações no artigo não fazem com que a assinatura seja reinicializada. Se o procedimento armazenado detectar que a alteração irá requerer assinaturas existentes para ser reiniciada, ocorrerá um erro e nenhuma alteração será feita.1
Especifica que as alterações no artigo fazem com que a assinatura existente seja reinicializada e dá permissão para que a reinicialização da assinatura ocorra.Especifica um Publicador não-SQL Server. @publisher é sysname, com um padrão de NULL
.
@publisher não deve ser usado ao alterar as propriedades do artigo em um Publicador do SQL Server.
0
(sucesso) ou 1
(falha).
sp_changepublication
é usado na replicação de instantâneo e na replicação transacional.
Depois de alterar qualquer uma das propriedades a seguir, você deve gerar um novo instantâneo e especificar um valor de 1
para o parâmetro @force_invalidate_snapshot .
alt_snapshot_folder
compress_snapshot
enabled_for_het_sub
ftp_address
ftp_login
ftp_password
ftp_port
ftp_subdirectory
post_snapshot_script
pre_snapshot_script
snapshot_in_defaultfolder
sync_mode
Para listar objetos de publicação no Active Directory usando o publish_to_active_directory
parâmetro, o objeto SQL Server já deve ter sido criado no Active Directory.
Quando a sincronização imediata está ativada, todas as alterações no log são rastreadas imediatamente após a geração do instantâneo inicial, mesmo que não haja assinaturas. As alterações registradas são usadas quando um cliente está usando o backup para adicionar um novo nó par. Depois que o backup é restaurado, o peer é sincronizado com quaisquer outras alterações que ocorram após o backup ter sido feito. Como os comandos são rastreados no banco de dados de distribuição, a lógica de sincronização pode examinar o último LSN de backup e usá-lo como ponto de partida, sabendo que o comando estará disponível se o backup tiver sido feito dentro do período máximo de retenção. (O valor padrão para o período mínimo de retenção é 0 horas e o período máximo de retenção é 24 horas.)
Quando a sincronização imediata está desativada, as alterações são mantidas pelo menos o período mínimo de retenção e limpas imediatamente para todas as transações que já foram replicadas. Se a sincronização imediata estiver desativada e configurada com o período de retenção padrão, é provável que as alterações necessárias após o backup ter sido feito tenham sido limpas e o novo nó par não seja inicializado corretamente. A única opção restante é a confirmação da topologia. A ativação da sincronização imediata oferece maior flexibilidade e é a configuração recomendada para a replicação P2P.
DECLARE @publication AS sysname
SET @publication = N'AdvWorksProductTran'
-- Turn off DDL replication for the transactional publication.
USE [AdventureWorks2022]
EXEC sp_changepublication
@publication = @publication,
@property = N'replicate_ddl',
@value = 0
GO
Somente membros da função de servidor fixa sysadmin ou db_owner função de banco de dados fixa podem executar sp_changepublication
.
evento
Obtenha a certificação no Microsoft Fabric — gratuitamente!
19/11, 23 - 10/12, 23
Por um tempo limitado, a equipe da Comunidade do Microsoft Fabric está oferecendo vouchers de exame DP-600 gratuitos.
Prepare-se agora