Compartilhar via


Assinantes não SQL Server

Os seguintes Assinantes não SQL Server podem assinar as publicações de instantâneo e transacionais 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.

Observação sobre cuidadosCuidado

Esse recurso será removido em uma versão futura do Microsoft 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

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

Considerações para Assinantes não SQL Server

Lembre-se das seguintes considerações ao replicar 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 depois habilitá-la para Assinantes não SQL Server usando a caixa de diálogo Propriedades de Publicação, o proprietário de todos os objetos no banco de dados da assinatura não é especificado para Assinantes não SQL Server, enquanto para Assinantes Microsoft SQL Server, é definido para o proprietário do objeto correspondente no banco de dados de publicação.

  • Se a publicação tiver Assinantes SQL Server e Assinantes não SQL Server, a publicação deverá ser habilitada para Assinantes não SQL Server antes de qualquer Assinante 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-bit, você deve usar a versão de 64-bit do provedor OLE DB do Oracle apropriado.

  • A replicação move dados em formato Unicode independentemente do agrupamento e das páginas de código usadas no Publicador e no Assinante. É recomendado que você escolha um agrupamento/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 não assinantes do SQL Server 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.

Consulte também

Conceitos

Replicação de banco de dados heterogênea

Assinar publicações