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, você pode inicializar uma assinatura com um backup. Para obter mais informações, consulte Inicializando uma assinatura de mesclagem sem instantâneo e Inicializando uma assinatura transacional sem um instantâneo.

Ícone de vínculo de tópicoConvenções de 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 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 na conexão com um Assinante na sincronização. subscriber_security_mode é int, com um padrão 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 de logon do Assinante a ser usado na conexão com um Assinante na sincronização. subscriber_login é sysname, com um padrão 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 do Assinante. subscriber_password é sysname, com um padrão 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 se conectar a um Distribuidor na sincronização. distributor_security_mode é int, com um padrão 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 se conectar a um Distribuidor na sincronização. distributor_login será requerido se distributor_security_mode for definido como 0. distributor_login é sysname, com um padrão NULL.

  • [ @distributor_password= ] 'distributor_password'
    É a senha do Distribuidor.. distributor_password será requerido se distributor_security_mode for definido como 0. distributor_password é sysname, com um padrão 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. Sendo necessário armazenar credenciais em um arquivo de script, proteja o arquivo para evitar 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 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 do Assinante a ser usado ao se conectar a um Publicador na sincronização. publisher_login é sysname, com um padrão NULL.

  • [ @publisher_password= ] 'publisher_password'
    É a senha usada na conexão com o Publicador. publisher_password é sysname, com um padrão 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 evitar o acesso não autorizado.

  • [ @job_login= ] 'job_login'
    É o logon para a 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 para a 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 evitar o 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 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 evitar o 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.