Assinantes não-SQL Server

Aplica-se a:SQL Server

Os seguintes Assinantes que não são do SQL Server podem assinar publicações snapshot e transacionais usando assinaturas push. As duas versões mais recentes de cada banco de dados listaram assinaturas de suporte usando a versão mais recente do provedor OLE DB listado.

Replicação heterogênea para assinantes não-SQL Server está obsoleta. A publicação no Oracle foi descontinuada. Para mover dados, crie soluções usando captura de dados de mudança e SSIS.

Cuidado

Esse recurso será removido em uma versão futura do SQL Server. Evite usar esse recurso em desenvolvimentos novos e planeje modificar os aplicativos que atualmente o utilizam.

Banco de dados Sistema operacional Provedor
Oracle Todas as plataformas que o Oracle dá suporte Provedor Oracle OLE DB (fornecido pelo Oracle)
IBM Db2 MVS, AS400, Unix, Linux, Windows menos 9.x Microsoft Host Integration Server (HIS) provedor de OLE DB

Informações sobre versão do Oracle:
O SQL Server oferece suporte aos seguintes cenários heterogêneos para replicação transacional e de instantâneo:

  • Publicando dados do SQL Server para assinantes não SQL Server.

  • A publicação de dados para e do Oracle tem as seguintes restrições:

Replicação 2016 ou anterior 2017 ou posterior
Replicação a partir do Oracle Dá suporte apenas ao Oracle 10g ou anterior Dá suporte apenas ao Oracle 10g ou anterior
Replicação para o Oracle Até Oracle 12c Sem suporte

Replicação heterogênea para assinantes não-SQL Server está obsoleta. A publicação da Oracle está descontinuada. Para mover dados, crie soluções usando captura de dados de mudança e SSIS.

Para obter mais informações sobre como criar assinaturas ao Oracle e IBM DB2, consulte Assinantes Oracle e IBM DB2 Subscribers.

Considerações para Assinantes não SQL Server

Tenha as seguintes considerações em mente ao replicar para Assinantes que não utilizam SQL Server:

Considerações gerais

  • A replicação oferece suporte à publicação de tabelas e exibições indexadas como tabelas para Assinantes que não sejam do SQL Server (exibições indexadas não podem ser replicadas como exibições indexadas).

  • Quando você cria uma publicação no Assistente de Novas Publicações e depois a habilita para Assinantes que não sejam do SQL Server usando a caixa de diálogo Propriedades de Publicação, você não especifica o proprietário de todos os objetos no banco de dados de assinaturas para Assinantes que não sejam do SQL Server. Para assinantes do Microsoft SQL Server, o proprietário é o proprietário do objeto correspondente no banco de dados de publicações.

  • Se uma publicação tiver tanto Assinantes do SQL Server quanto não-assinantes do SQL Server, você deve habilitar a publicação para Assinantes que não sejam do SQL Server antes de criar qualquer assinatura para os Assinantes do SQL Server.

  • Por padrão, os scripts que o Agente de Instantâneo gera para Assinantes que não são do SQL Server usam identificadores sem aspas na sintaxe CREATE TABLE. Portanto, uma tabela publicada nomeada test é replicada como TEST. Para usar a mesma capitalização da tabela no banco de dados de publicações, use o parâmetro -QuotedIdentifier para o Agente de Distribuição. Você também deve usar o parâmetro -QuotedIdentifier se nomes de objetos publicados (como tabelas, colunas e restrições) incluírem espaços ou palavras reservadas na versão do banco de dados no Subscriber não-SQL Server. Para obter mais informações sobre esse parâmetro, consulte Agente de Distribuição de Replicação.

  • A conta na qual o Agente de Distribuição é executado deve ter acesso de leitura ao diretório de instalação do provedor OLE DB.

  • Por padrão, para assinantes que não sejam do SQL Server, o Agente de Distribuição usa um valor de [(default destination)] para o banco de dados de assinaturas (o parâmetro -SubscriberDB para o Agente de Distribuição):

  • Se o Distribuidor SQL Server estiver executando em uma plataforma de 64 bits, você deverá usar a versão de 64 bits do provedor OLE DB apropriado.

  • A replicação transfere os dados no formato Unicode, independentemente da ordenação ou das páginas de código usadas no Publisher e no Subscriber. Escolha uma página de compilação ou código compatível ao replicar entre Publishers e Subscribers.

  • Se você adicionar ou excluir um artigo de uma publicação, deverá reinicializar as assinaturas dos Assinantes que não sejam do SQL Server.

  • As únicas restrições suportadas para todos os Assinantes não SQL Server são: NULL e NOT NULL. As restrições de chave primária são replicadas como índices exclusivos.

  • Bancos de dados diferentes tratam o valor NULL de forma diferente. Essa diferença afeta como um valor em branco, uma string vazia e um NULL são representados. Essa diferença afeta o comportamento dos valores inseridos em colunas com restrições únicas definidas. Por exemplo, o Oracle permite múltiplos NULL valores em uma coluna considerada única, enquanto o SQL Server permite apenas um único NULL valor em uma coluna única.

    Outro fator é como NULL valores, cadeias vazias e valores em branco são tratados quando a coluna é definida como NOT NULL. Para obter informações sobre como resolver esse problema para Assinantes Oracle, consulte Assinantes Oracle.

  • A replicação não exclui metadados relacionados à replicação (tabela de sequência de transações) de assinantes que não sejam do SQL Server quando você remove a assinatura.

Em conformidade com os requisitos do banco de dados de assinantes

  • O esquema e os dados publicados devem estar de acordo com os requisitos do banco de dados do Assinante. Por exemplo, se um banco de dados não SQL Server tiver um tamanho máximo de linha menor que o SQL Server, certifique-se de que o esquema e os dados publicados não excedam esse tamanho.

  • Tabelas replicadas para assinantes não-SQL Server adotam as convenções de nomeação de tabelas do banco de dados no assinante.

  • DDL não é suportado para assinantes que não sejam do SQL Server. Para obter mais informações sobre alterações de esquema, consulte Fazer alterações de esquema em bancos de dados de publicação.

Suporte a recursos de replicação

  • O SQL Server oferece dois tipos de assinatura: push e pull. Assinantes não SQL Server devem usar assinaturas push onde o Agente de Distribuição é executado no Distribuidor SQL Server.

  • O SQL Server oferece dois formatos de instantâneo: modo nativo bcp e modo de caracteres. Assinantes que não sejam do SQL Server exigem snapshots no modo caractere.

  • Assinantes que não sejam do SQL Server não podem usar assinaturas de atualização imediata ou de atualização em fila, nem ser nós em uma topologia peer-to-peer.

  • Assinantes que não sejam do SQL Server não podem ser inicializados automaticamente a partir de um backup.