Compartilhar via


Como criar uma assinatura para um Assinante Não-SQL Server (SQL Server Management Studio)

A replicação transacional e a replicação de instantâneo oferecem suporte à publicação de dados a não Assinantes do Microsoft SQL Server. Para criar uma assinatura para um Assinante não-SQL Server:

  1. Instale e configure o software de cliente Oracle e o provedor OLE DB apropriados no Distribuidor SQL Server. Para obter mais informações, consulte Assinantes Oracle e Assinantes do IBM DB2.

  2. Crie uma publicação usando o Assistente para Nova Publicação. Para obter mais informações sobre a criação de publicações, consulte Como criar uma publicação e definir artigos (SQL Server Management Studio) e Como criar um uma publicação a partir de um banco de dados Oracle (SQL Server Management Studio). Especifique as opções a seguir no Assistente para Nova Publicação:

    • Na página Tipo de Publicação, selecione Publicação instantânea ou Publicação transacional.

    • Na página Snapshot Agent, desmarque Criar um instantâneo imediatamente.

      Você cria o instantâneo após a publicação estar habilitada para Assinantes não-SQL Server para garantir que o Snapshot Agent gere scripts de instantâneo e de inicialização adequados para os Assinantes não-SQL Server.

  3. Habilite a publicação para não Assinantes do SQL Server usando a caixa de diálogo Propriedades de Publicação - <Publicação>. Esse tópico proporciona mais informações sobre essa etapa. Para obter mais informações sobre a caixa de diálogo Propriedades de Publicação, consulte Propriedades de Publicação - <Publicação>.

  4. Crie uma assinatura usando o Assistente para Nova Assinatura. Esse tópico proporciona mais informações sobre essa etapa.

  5. (Opcional) Altere a propriedade do artigo de pre_creation_cmd para reter as tabelas no Assinante. Esse tópico proporciona mais informações sobre essa etapa.

  6. Gere um instantâneo para a publicação. Esse tópico proporciona mais informações sobre essa etapa.

  7. Sincronize a assinatura. Para obter mais informações, consulte Como sincronizar uma assinatura push (SQL Server Management Studio).

ObservaçãoObservação

Esse processo se aplica a Publicadores que executam MicrosoftSQL Server 2005 e versões posteriores.

Para habilitar uma publicação para Assinantes não-SQL Server

  1. Conecte-se ao Publicador no SQL Server Management Studio e, então, expanda o nó do servidor.

  2. Expanda a pasta Replicação e, em seguida, expanda a pasta Publicações Locais.

  3. Clique com o botão direito do mouse na publicação, em clique em Propriedades.

  4. Na página Opções de Assinatura, selecione um valor de Verdadeiro para a opção Permitir Assinantes não-SQL Server. A seleção dessa opção altera várias propriedades de forma que a publicação seja compatível com Assinantes não-SQL Server.

    ObservaçãoObservação

    Selecionando Verdadeiro define o valor da propriedade do artigo pre_creation_cmd para 'descartar'. Essa definição especifica que a replicação deve descartar uma tabela no Assinante se coincidir com o nome de tabela no artigo. Se tiver tabelas existentes no Assinante que deseja manter, use o procedimento armazenado sp_changearticle para cada artigo, especifique o valor 'nenhum' para pre_creation_cmd: sp_changearticle @publication= 'MyPublication', @article= 'MyArticle', @property='pre_creation_cmd', @value='none'.

  5. Clique em OK. Você será solicitado a criar um novo instantâneo para a publicação. Se não quiser criar um neste momento, use mais tarde as etapas descritas no próximo procedimento “Como”.

Para criar uma assinatura para um Assinante não-SQL Server

  1. Expanda a pasta Replicação e, em seguida, expanda a pasta Publicações Locais.

  2. Clique com o botão direito do mouse em uma publicação adequada e clique em Novas Assinaturas.

  3. Na página Local do Distribution Agent, certifique-se de que Executar todos os agentes no Distribuidor esteja selecionado. Assinantes não -SQL Server não têm suporte para os agentes executando no Assinante.

  4. Na página Assinantes, clique em Adicionar Assinante e clique em Adicionar Assinante não-SQL Server.

  5. Na caixa de diálogo Adicionar Assinante não-SQL Servidor, selecione o tipo de Assinante.

  6. Digite um valor no Nome da fonte de dados:

    • Para o Oracle, esse é o nome do substrato transparente de rede (TNS) que você configurou.

    • Para a IBM, esse pode ser qualquer nome. É comum especificar o endereço de rede do Assinante.

    O nome da fonte de dados digitado nesta etapa e as credenciais especificadas na etapa 9 não são validados por este assistente. Não são usados pela replicação até que o Distribution Agent execute para uma assinatura. Certifique-se de que todos os valores tenham sido testados por meio de conexão ao Assinante usando uma ferramenta de cliente (como sqlplus para o Oracle). Para obter mais informações, consulte Assinantes Oracle e Assinantes do IBM DB2.

  7. Clique em OK. Na página Assinantes do assistente, o Assinante é agora exibido na coluna Assinante com um somente leitura (destino padrão) na coluna Banco de Dados da Assinatura:

    • Para Oracle, como o servidor só tem no máximo um banco de dados, não é necessário especificá-lo.

    • Para a IBM DB2, o banco de dados é especificado na propriedade Catálogo Inicial da cadeia de caracteres da conexão DB2, que pode ser digitada no campo Opções de conexões adicionais descrito mais adiante neste processo.

  8. Na página Segurança do Distribution Agent, clique no botão de propriedades () próximo ao Assinante para acessar a caixa de diálogo Segurança do Distribution Agent.

  9. Na caixa de diálogo Segurança do Distribution Agent:

    • Nos campos Processar conta, Senha e Confirmar senha, digite a conta e a senha do Microsoft Windows sob as quais o Distribution Agent deve executar e realizar conexões locais ao Distribuidor.

      A conta requer, no mínimo, as seguintes permissões: membro da função de banco de dados fixa db_owner no banco de dados de distribuição, membro da lista de acesso à publicação (PAL); permissões de leitura no compartilhamento do instantâneo e permissão de leitura no diretório instalado do provedor OLE DB. Para obter mais informações sobre a PAL, consulte Protegendo o Publicador.

    • No Conectar ao Assinante, nos campos Logon, Senha e Confirmar senha, digite o logon e a senha que devem ser usados para conectar-se ao Assinante. Esse logon já deverá estar configurado e ter permissões suficientes para criar objetos no banco de dados de assinatura.

    • No campo Opções de conexões adicionais, especifique as opções de conexão para o Assinante na forma de uma cadeia de caracteres para conexão (Oracle não necessita de opções adicionais). Cada opção deverá estar separada por um ponto-e-vírgula. A seguir um exemplo de uma cadeia de caracteres de conexão DB2 (as quebras de linha são para facilitar a leitura):

      Provider=DB2OLEDB;Initial Catalog=MY_SUBSCRIBER_DB;Network Transport Library=TCP;Host CCSID=1252;
      PC Code Page=1252;Network Address=MY_SUBSCRIBER;Network Port=50000;Package Collection=MY_PKGCOL;
      Default Schema=MY_SCHEMA;Process Binary as Character=False;Units of Work=RUW;DBMS Platform=DB2/NT;
      Persist Security Info=False;Connection Pooling=True;
      

      A maioria das opções na cadeia de caracteres é específica do servidor DB2 que você está configurando, mas a opção Processar Binários como Caractere sempre deve ser definida para Falso. Um valor é necessário para a opção Catálogo Inicial para identificar o banco de dados de assinatura.

  10. Na página Agenda de Sincronização, selecione uma agenda para o Distribution Agent no menu Agenda do Agente (a agenda é tipicamente Executar continuamente).

  11. Na página Inicializar Assinaturas, especifique se a assinatura deve ser inicializada e caso positivo, onde deve ser inicializada.

    • Desmarque Inicializar só se você criou todos os objetos e adicionou todos os dados necessários no banco de dados de assinatura.

    • Selecione Imediatamente na lista suspensa na coluna Inicializar Quando para que o Distribution Agent transfira os arquivos de instantâneos para o Assinante após a conclusão desse assistente. Selecione Na primeira sincronização para que o agente transfira os arquivos na próxima vez em que ele for agendado para executar.

  12. Na página Ações do Assistente, opcionalmente faça o script da assinatura. Para obter mais informações, consulte Replicação de script.

Para reter tabelas no Assinante

  • Por padrão, habilitando uma publicação para Assinantes não -SQL Server define o valor da propriedade do artigo de pre_creation_cmd para 'descartar' Essa definição especifica que a replicação deve descartar uma tabela no Assinante se coincidir com o nome de tabela no artigo. Se tiver tabelas existentes no Assinante que deseja manter, use o procedimento armazenado sp_changearticle para cada artigo, especifique um valor 'nenhum' para pre_creation_cmd. sp_changearticle @publication= 'MyPublication', @article= 'MyArticle', @property='pre_creation_cmd', @value='none'.

Para gerar um instantâneo para a publicação

  1. Expanda a pasta Replicação e, expanda a pasta Publicações Locais.

  2. Clique com o botão direito do mouse em uma publicação e clique em Exibir Status do Snapshot Agent.

  3. Na caixa de diálogo Exibir Status do Snapshot Agent - <Publicação>, clique em Iniciar.

Quando o Snapshot Agent terminar de gerar o instantâneo, uma mensagem será exibida, como "[100%] Um instantâneo de 17 artigos foi gerado".