Partilhar via


Assinantes Não SQL Server

Aplica-se a: SQL Server

Os Assinantes não SQL Server a seguir podem assinar publicações transacionais e de instantâneo usando assinaturas push. As assinaturas oferecem suporte para as duas versões mais recentes de cada banco de dados listadas usando a mais recente versão do provedor OLE DB listado.

A replicação heterogênea para assinantes que não são do SQL Server foi preterida. A publicação Oracle foi preterida. Para mover dados, crie soluções usando a captura de dados de alterações e o 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.

Backup de 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 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

A replicação heterogênea para assinantes que não são do SQL Server foi preterida. A publicação Oracle foi preterida. Para mover dados, crie soluções usando a captura de dados de alterações e o 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

Lembre-se das seguintes considerações durante a replicação para Assinantes não SQL Server:

Considerações gerais

  • A replicação dá suporte a tabelas de publicação e exibições indexadas como tabelas para Assinantes não SQL Server (exibições indexadas não podem ser replicadas como exibições indexadas).

  • Ao criar uma publicação no Assistente para Novas Publicações e, em seguida, habilitá-la para Assinantes não SQL Server usando a caixa de diálogo Propriedades da Publicação, o proprietário de todos os objetos no banco de dados de assinatura não é especificado para Assinantes não SQL Server, enquanto para Assinantes do Microsoft SQL Server, ele é definido como o proprietário do objeto correspondente no banco de dados de publicação.

  • Se a publicação tiver Assinantes do SQL Server e Assinantes não SQL Server, a publicação deverá ser habilitada para Assinantes não SQL Server antes de qualquer Assinante do SQL Server ser criado.

  • Por padrão, scripts gerados pelo Agente de Instantâneo para Assinantes não SQL Server usam identificadores sem aspas na sintaxe de CREATE TABLE. Portanto, uma tabela publicada nomeada 'teste' é reproduzida como 'TESTE'. Para usar o mesmo tipo de caixa (maiúscula/minúscula) como a tabela no banco de dados de publicação, use o parâmetro -QuotedIdentifier para o Agente de Distribuição. O parâmetro -QuotedIdentifier deve também ser usado se os nomes de objetos publicados (assim como tabelas, colunas e restrições) incluírem espaços ou palavras que são palavras reservadas na versão do banco de dados no Assinante 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 não SQL Server, o Agente de Distribuição usa o valor de [(destino padrão)] para o banco de dados da assinatura (o parâmetro -SubscriberDB para o Agente de Distribuição):

    • Para o Oracle, um servidor tem, no máximo, um banco de dados, assim não é necessário especificar o banco de dados.

    • Para IBM DB2, o banco de dados é especificado na cadeia de conexão DB2. Para obter mais informações, consulte Criar uma assinatura para um Assinante não SQL Server.

  • 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 move dados em formato Unicode independentemente da ordenação e das páginas de código usadas no Publicador e no Assinante. É recomendado que você escolha uma ordenação/página de código compatível ao replicar entre Publicadores e Assinantes.

  • Se um artigo for adicionado ou excluído de uma publicação, assinaturas para Assinantes não SQL Server devem ser reinicializadas.

  • As únicas restrições que oferecem suporte 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.

  • O valor NULL é tratado de forma diferente por bancos de dados diferentes, o que afeta como um valor em branco, uma cadeia de caracteres vazia e um NULL são representados. Isto, por sua vez, afeta o comportamento de valores inseridos em colunas com restrições exclusivas definidas. Por exemplo, o Oracle permite valores múltiplos de NULL em uma coluna que é considerada exclusiva, enquanto o SQL Server permite apenas um único valor NULL em uma coluna exclusiva.

    Um fator adicional é como os valores de NULL, cadeias vazias, valores em branco são tratados quando a coluna é definida como NOT NULL. Para obter informações sobre como tratar deste assunto para Assinantes do Oracle, consulte Assinantes Oracle.

  • Os metadados relacionados à replicação (tabela de sequência de transação) não são excluídos de assinantes não SQL Server do quando a assinatura é removida.

Conformando aos requisitos do banco de dados do Assinante

  • Esquema e dados publicados devem conformar-se aos requisitos do banco de dados no Assinante. Por exemplo, se um banco de dados não SQL Server tem um tamanho máximo de linha menor que o SQL Server, você deve assegurar-se de que o esquema e dados publicados não excedam esse tamanho.

  • Tabelas replicadas para Assinantes não SQL Server adotarão as convenções de nomenclatura de tabela do banco de dados no Assinante.

  • Não existe suporte para DDL para Assinantes não 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 de recurso da 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 de bcp nativo e modo de caractere. Assinantes não SQL Server requerem instantâneos de modo de caractere.

  • Assinantes não SQL Server não podem usar atualização imediata ou assinatura de atualização em fila ou ser nós em uma topologia de mesmo nível.

  • Assinantes não SQL Server não podem ser inicializados automaticamente de um backup.