Como criar uma assinatura para um assinante não-SQL Server (Programação Transact-SQL de replicação)
Dados de publicação de suporte a replicação de transação e de instantâneo para Assinantes não-SQL Server. Crie assinaturas push para Assinantes não-SQL Server de forma programática, usando procedimentos armazenados de replicação. Para obter mais informações sobre plataformas de Assinantes com suporte, consulte Assinantes não-SQL Server.
Observação sobre segurança |
---|
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. |
Para criar uma assinatura push para uma publicação transacional ou de instantâneo para um assinante não-SQL Server
Instale o mais recente provedor OLE DB para o Assinante não-SQL Server no Publicador e no Distribuidor. Para os requisitos de replicação de um provedor OLE DB, consulte Assinantes não-SQL Server, Assinantes Oracle, Assinantes do IBM DB2.
No Publicador do banco de dados de publicação, verifique se a publicação oferece suporte a Assinantes não-SQL Server, executando sp_helppublication (Transact-SQL).
Se o valor de enabled_for_het_sub for 1, os Assinantes não-SQL Server terão suporte.
Se o valor de enabled_for_het_sub for 0, execute sp_changepublication (Transact-SQL), especificando enabled_for_het_sub para @property e true para @value.
Observação Antes de alterar enabled_for_het_sub para true, é preciso ignorar todas as assinaturas existentes para a publicação. Não é possível definir enabled_for_het_sub como true quando a publicação oferecer suporte também a assinaturas de atualização. Alterar enabled_for_het_sub afetará outras propriedades de publicação. Para obter mais informações, consulte Assinantes não-SQL Server.
No Publicador do banco de dados de publicação, execute sp_addsubscription (Transact-SQL). Especifique @publication, @subscriber; um valor de (destino padrão) para @destination_db; um valor de push para @subscription_type, e um valor de 3 para @subscriber_type (especifica um provedor OLE DB).
No Publicador do banco de dados de publicação, execute sp_addpushsubscription_agent (Transact-SQL). Especifique o seguinte:
Os parâmetros @subscriber e @publication.
Um valor de (destino padrão) para @subscriber_db,
As propriedades de fonte de dados não-SQL Server para @subscriber_provider, @subscriber_datasrc, @subscriber_location, @subscriber_provider_string e @subscriber_catalog.
As credenciais do Microsoft Windows com as quais o Distribution Agent do Distribuidor é executado para @job_login e @job_password.
Observação As conexões feitas usando a Autenticação Integrada do Windows sempre usam as credenciais do Windows especificadas por @job_login e @password. O Distribution Agent faz sempre a conexão local com o Distribuidor usando a Autenticação Integrada do Windows. Por padrão, o agente se conecta ao Assinante usando a Autenticação Integrada do Windows.
Um valor de 0 para @subscriber_security_mode e informações de logon do provedor OLE DB para @subscriber_login e @subscriber_password.
Agenda para o trabalho do Distribution Agent para essa assinatura. Para obter mais informações, consulte Como especificar agendas de sincronização (Programação Transact-SQL de replicação).
Observação sobre segurança Ao criar uma assinatura push em um Publicador com um Distribuidor remoto, os valores especificados para todos os parâmetros, inclusive job_login e job_password são enviados para o Distribuidor como texto sem formatação. Criptografe a conexão entre o Publicador e seu Distribuidor remoto antes de executar esse procedimento armazenado. Para obter mais informações, consulte Criptografando conexões com o SQL Server.