Partilhar via


sp_changesubscription (Transact-SQL)

Aplica-se a: SQL Server Instância Gerenciada de SQL do Azure

Altera as propriedades de uma assinatura push transacional ou de instantâneo ou uma assinatura pull envolvidas em uma replicação transacional de atualização em fila. Para alterar as propriedades de todos os outros tipos de assinaturas pull, use sp_change_subscription_properties. sp_changesubscription é executado no Publicador no banco de dados de publicação.

Importante

Ao configurar um Publicador com um Distribuidor remoto, os valores fornecidos para todos os parâmetros, incluindo @job_login e @job_password, são enviados ao Distribuidor como texto sem formatação. Você deve criptografar a conexão entre o Publicador e seu Distribuidor remoto antes de executar esse procedimento armazenado. Para obter mais informações, confira Configurar o Mecanismo de Banco de Dados do SQL Server para criptografia de conexões.

Convenções de sintaxe de Transact-SQL

Sintaxe

sp_changesubscription
    [ @publication = ] N'publication'
    , [ @article = ] N'article'
    , [ @subscriber = ] N'subscriber'
    , [ @destination_db = ] N'destination_db'
    , [ @property = ] N'property'
    , [ @value = ] N'value'
    [ , [ @publisher = ] N'publisher' ]
[ ; ]

Argumentos

@publication [ = ] N'publicação'

O nome da publicação a ser alterada. @publication é sysname, sem padrão.

@article [ = ] N'artigo'

O nome do artigo a ser alterado. @article é sysname, sem padrão.

@subscriber [ = ] N'assinante'

O nome do Assinante. @subscriber é sysname, sem padrão.

@destination_db [ = ] N'destination_db'

O nome do banco de dados de assinatura. @destination_db é sysname, sem padrão.

@property [ = ] N'propriedade'

A propriedade a ser alterada para a assinatura fornecida. @property é nvarchar(30) e pode ser um dos valores na tabela.

@value [ = ] N'valor'

O novo valor da propriedade especificada. @value é nvarchar(4000) e pode ser um dos valores na tabela.

Propriedade Valor Descrição
distrib_job_login Logon para a conta do Windows na qual o agente é executado.
distrib_job_password Senha para a conta do Windows na qual o agente é executado.
subscriber_catalog 1 Catálogo a ser usado ao fazer uma conexão com o provedor OLE DB.
subscriber_datasource 1 Nome da fonte de dados conforme entendido pelo provedor OLE DB.
subscriber_location 1 Local do banco de dados conforme entendido pelo provedor OLE DB.
subscriber_login Nome de logon no Assinante.
subscriber_password Senha forte para o logon fornecido.
subscriber_security_mode 1 Use a Autenticação do Windows ao se conectar ao Assinante.
0 Use a Autenticação do SQL Server ao se conectar ao Assinante.
subscriber_provider 1 PROGID (identificador programático) exclusivo com o qual o provedor OLE DB para fonte de dados não SQL Server é registrado.
subscriber_providerstring 1 Cadeia de conexão específica de provedor OLE DB que identifica a fonte de dados.
subscriptionstreams O número de conexões permitidas por Distribution Agent para aplicar lotes de alterações em paralelo a um Assinante. Há suporte para um intervalo de valores de 1 to 64 para Publicadores do SQL Server. Essa propriedade deve ser 0 para Assinantes não-SQL Server, Publicadores Oracle ou assinaturas ponto a ponto.
subscriber_type 1 Servidor de fontes de dados ODBC
3 Provedor OLE DB
memory_optimized bit Indica que a assinatura dá suporte a tabelas com otimização de memória. memory_optimized is bit, onde 1 is true (a assinatura dá suporte a tabelas com otimização de memória).

1 Essa propriedade só é válida para Assinantes não SQL Server.

@publisher [ = ] N'editor'

Especifica um Publicador não-SQL Server. @publisher é sysname, com um padrão de NULL.

@publisher não deve ser especificado para um Publicador do SQL Server.

Valores do código de retorno

0 (sucesso) ou 1 (falha).

Comentários

sp_changesubscription é usado na replicação de instantâneo e transacional.

sp_changesubscription só pode ser usado para modificar as propriedades de assinaturas push ou assinaturas pull envolvidas na replicação transacional de atualização enfileirada. Para alterar as propriedades de todos os outros tipos de assinaturas pull, use sp_change_subscription_properties.

Depois de alterar o logon ou a senha de um agente, você deve parar e reiniciar o agente antes que as alterações entrem em vigor.

Permissões

Somente membros da função de servidor fixa sysadmin ou db_owner função de banco de dados fixa podem executar sp_changesubscription.