Partilhar via


sp_attachsubscription (Transact-SQL)

Anexa um banco de dados de assinatura existente a qualquer Assinante. Esse procedimento armazenado é executado no novo Assinante, no banco de dados mestre.

Observação importanteImportante

Esse recurso é preterido e será removido em uma versão futura. Esse recurso não deveria ser usado em novo trabalho de desenvolvimento. Para publicações de mesclagem, que são particionadas usando filtros com parâmetros, recomendamos o uso de novos recursos de instantâneos particionados, que simplificam a inicialização de um grande número de assinaturas. Para obter mais informações, consulte Instantâneos para publicações de mesclagem com filtros com parâmetros. Para publicações que não são particionadas, é possível inicializar uma inscrição com um backup. Para obter mais informações, consulte Inicializar uma assinatura transacional sem um instantâneo.

Ícone de vínculo de tópico Convenções da sintaxe Transact-SQL

Sintaxe

sp_attachsubscription [ @dbname = ] 'dbname' 
        , [ @filename = ] 'filename'
    [ , [ @subscriber_security_mode = ] 'subscriber_security_mode' ]
    [ , [ @subscriber_login = ] 'subscriber_login' ]
    [ , [ @subscriber_password = ] 'subscriber_password' ]
    [ , [ @distributor_security_mode = ] distributor_security_mode ] 
    [ , [ @distributor_login = ] 'distributor_login' ] 
    [ , [ @distributor_password = ] 'distributor_password' ] 
    [ , [ @publisher_security_mode = ] publisher_security_mode ] 
    [ , [ @publisher_login = ] 'publisher_login' ] 
    [ , [ @publisher_password = ] 'publisher_password' ] 
    [ , [ @job_login = ] 'job_login' ] 
    [ , [ @job_password = ] 'job_password' ] 
    [ , [ @db_master_key_password = ] 'db_master_key_password' ]

Argumentos

  • [ @dbname= ] 'dbname'
    É a cadeia de caracteres que especifica o banco de dados de assinatura de destino por nome. dbname é sysname, sem padrão.

  • [ @filename= ] 'filename'
    É o nome e o local físico do MDF primário (arquivo de dados mestre). filename é nvarchar(260), sem padrão.

  • [ @subscriber_security_mode= ] 'subscriber_security_mode'
    É o modo de segurança do Assinante a ser usado ao conectar-se a um Assinante na sincronização. subscriber_security_mode é int, com um padrão de NULL.

    ObservaçãoObservação

    Autenticação do Windows deve ser usada. Se subscriber_security_mode não for 1 (Autenticação do Windows), um erro será retornado.

  • [ @subscriber_login= ] 'subscriber_login'
    É o nome do logon do Assinante a ser usado ao conectar-se a um Assinante na sincronização. subscriber_login é sysname, com um padrão de NULL.

    ObservaçãoObservação

    Esse parâmetro foi preterido e só é mantido para compatibilidade com versões anteriores de scripts. Se subscriber_security_mode não for 1 e subscriber_login for especificado, um erro será retornado.

  • [ @subscriber_password= ] 'subscriber_password'
    É a senha de Assinante. subscriber_password é sysname, com um padrão de NULL.

    ObservaçãoObservação

    Esse parâmetro foi preterido e só é mantido para compatibilidade com versões anteriores de scripts. Se subscriber_security_mode não for 1 e subscriber_password for especificado, um erro será retornado.

  • [ @distributor_security_mode= ] distributor_security_mode
    É o modo de segurança a ser usado ao conectar-se a um Distribuidor na sincronização. distributor_security_mode é int, com um padrão de 0. 0 especifica Autenticação do SQL Server . 1 especifica Autenticação do Windows. Quando possível, use a Autenticação do Windows.

  • [ @distributor_login= ] 'distributor_login'
    É o logon do Distribuidor a ser usado ao conectar-se a um Distribuidor na sincronização. distributor_login será necessário se distributor_security_mode estiver definido como 0. distributor_login é sysname, com um padrão de NULL.

  • [ @distributor_password= ] 'distributor_password'
    É a senha do Distribuidor. distributor_password será necessário se distributor_security_mode estiver definido como 0. distributor_password é sysname, com um padrão de NULL. O valor de distributor_password deve ter menos de 120 caracteres Unicode.

    Observação sobre segurançaObservação sobre segurança

    Não use uma senha em branco. Use uma senha forte. Quando possível, solicite que os usuários insiram as credenciais de segurança em tempo de execução. Se for necessário armazenar credenciais em um arquivo de script, você deverá proteger o arquivo para impedir acesso não autorizado.

  • [ @publisher_security_mode= ] publisher_security_mode
    É o modo de segurança a ser usado ao se conectar a um Publicador na sincronização. publisher_security_mode é int, com um padrão de 1. Se for 0, especifica Autenticação do SQL Server. Se for 1, especifica Autenticação do Windows. Quando possível, use a Autenticação do Windows.

  • [ @publisher_login= ] 'publisher_login'
    É o logon a ser usado na conexão com um Publicador durante a sincronização. publisher_login é sysname, com um padrão de NULL.

  • [ @publisher_password= ] 'publisher_password'
    É a senha usada ao conectar-se ao Publicador. publisher_password é sysname, com um padrão de NULL. O valor de publisher_password deve ter menos de 120 caracteres Unicode.

    Observação sobre segurançaObservação sobre segurança

    Não use uma senha em branco. Use uma senha forte. Quando possível, solicite que os usuários insiram as credenciais de segurança em tempo de execução. Se for necessário armazenar credenciais em um arquivo de script, você deverá proteger o arquivo para impedir acesso não autorizado.

  • [ @job_login= ] 'job_login'
    É o logon da conta do Windows na qual o agente é executado. job_login é nvarchar(257), sem padrão. Essa conta do Windows sempre é usada para conexões de agente com o Distribuidor.

  • [ @job_password= ] 'job_password'
    É a senha da conta do Windows na qual o agente é executado. job_password é sysname, sem padrão. O valor de job_password deve ter menos de 120 caracteres Unicode.

    Observação sobre segurançaObservação sobre segurança

    Quando possível, solicite que os usuários insiram as credenciais de segurança em tempo de execução. Se for necessário armazenar credenciais em um arquivo de script, você deverá proteger o arquivo para impedir acesso não autorizado.

  • [ @db_master_key_password= ] 'db_master_key_password'
    É a senha de uma chave mestra de banco de dados definida pelo usuário. db_master_key_password é nvarchar(524), com um valor padrão de NULL. Se db_master_key_password não for especificado, uma Chave Mestra de Banco de Dados existente será descartada e recriada.

    Observação sobre segurançaObservação sobre segurança

    Quando possível, solicite que os usuários insiram as credenciais de segurança em tempo de execução. Se for necessário armazenar credenciais em um arquivo de script, você deverá proteger o arquivo para impedir acesso não autorizado.

Valores de código de retorno

0 (êxito) ou 1 (falha)

Comentários

sp_attachsubscription é usado em replicação de instantâneo, transacional e de mesclagem.

Uma assinatura não poderá ser anexada à publicação se o período de retenção da publicação tiver expirado. Se uma assinatura com um período de retenção decorrido for especificada, ocorrerá um erro quando ela for anexada ou quando for sincronizada pela primeira vez. Publicações com um período de retenção de publicação de 0 (nunca expiram) serão ignoradas.

Permissões

Apenas membros da função de servidor fixa sysadmin podem executar sp_attachsubscription.

Consulte também

Referência

Procedimentos armazenados do sistema (Transact-SQL)