Assinantes de Servidores Não-SQL

Aplica-se a:SQL Server

Os seguintes Subscritores que não sejam do SQL Server podem subscrever publicações de instantâneo e transacionais através de subscrições push. As duas versões mais recentes de cada base de dados listavam subscrições de suporte utilizando a versão mais recente do fornecedor OLE DB listado.

A replicação heterogénea para Subscritores não SQL Server foi preterida. A publicação por Oracle está obsoleta. Para mover dados, crie soluções utilizando captura de dados de alteração e SSIS.

Atenção

Esse recurso será removido em uma versão futura do SQL Server. Evite usar esse recurso em novos trabalhos de desenvolvimento e planeje modificar aplicativos que atualmente usam esse recurso.

Base de dados Sistema Operativo Provider
Oracle Todas as plataformas que a Oracle suporta Fornecedor Oracle OLE DB (fornecido pela Oracle)
IBM Db2 MVS, AS400, Unix, Linux, Windows, excluindo a 9.x Fornecedor de base de dados OLE do Microsoft Host Integration Server (HIS)

Informação sobre a versão do Oracle:
O SQL Server suporta os seguintes cenários heterogéneos para replicação transacional e snapshot:

  • Publicação de dados do SQL Server para Assinantes não SQL Server.

  • Publicar dados para e a partir da Oracle tem as seguintes restrições:

Replication 2016 ou antes 2017 ou depois
Replicação a partir da Oracle Só suportam Oracle 10g ou anteriores Só suportam Oracle 10g ou anteriores
Replicação para Oracle Até Oracle 12c Não suportado

A replicação heterogénea para subscritores que não sejam do SQL Server foi preterida. A publicação por Oracle está obsoleta. Para mover dados, crie soluções utilizando captura de dados de alteração e SSIS.

Para obter informações sobre como criar subscrições para Oracle e IBM Db2, consulte Subscritores Oracle e Subscritores IBM Db2.

Considerações para Subscritores que não são do SQL Server

Tenha em mente as seguintes considerações ao replicar para assinantes que não sejam do SQL Server:

Considerações gerais

  • A replicação suporta a publicação de tabelas e vistas indexadas como tabelas para subscritores não-SQL Server (as vistas indexadas não podem ser replicadas como vistas indexadas).

  • Quando cria uma publicação no Assistente de Novas Publicações e depois a ativa para subscritores que não são do SQL Server usando a caixa de diálogo Propriedades de Publicação, não especifica o proprietário de todos os objetos na base de dados de subscrição para os Subscritores que não são do SQL Server. Para os subscritores do Microsoft SQL Server, o proprietário é o proprietário do objeto correspondente na base de dados de publicação.

  • Se uma publicação tiver tanto Subscritores do SQL Server como Subscritores que não são do SQL Server, deve ativar a publicação para os Assinantes que não sejam do SQL Server antes de criar quaisquer subscrições para os Assinantes do SQL Server.

  • Por defeito, os scripts que o Snapshot Agent gera para subscritores que não utilizam o SQL Server usam identificadores sem aspas na sintaxe CREATE TABLE. Portanto, uma tabela publicada nomeada test é replicada como TEST. Para usar o mesmo caso que a tabela na base de dados de publicação, utilize o parâmetro -QuotedIdentifier para o Agente de Distribuição. Também tem de utilizar o parâmetro -QuotedIdentifier se os nomes de objetos publicados (como tabelas, colunas e restrições) contiverem espaços ou palavras reservadas na versão da base de dados do Subscritor que não é SQL Server. Para mais informações sobre este parâmetro, consulte Replication Distribution Agent.

  • A conta sob a qual o Agente de Distribuição corre deve ter acesso de leitura ao diretório de instalação do fornecedor OLE DB.

  • Por predefinição, para Subscritores que não sejam do SQL Server, o Agente de Distribuição utiliza um valor de [(default destination)] para a base de dados da subscrição (o parâmetro -SubscriberDB para o Agente de Distribuição):

  • Se o Distribuidor SQL Server estiver a correr numa plataforma de 64 bits, deve usar a versão de 64 bits do fornecedor OLE DB apropriado.

  • A replicação transfere dados em formato Unicode, independentemente do agrupamento ou das páginas de código utilizadas no Publicador e no Subscritor. Escolha uma página de compilação ou código compatível ao replicar entre Editores e Assinantes.

  • Se adicionar ou remover um artigo de uma publicação, deve reinicializar as subscrições para Subscritores que não sejam do SQL Server.

  • As únicas restrições suportadas para todos os Subscritores não SQL Server são: NULL e NOT NULL. As restrições das chaves primárias são replicadas como índices únicos.

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

    Outro fator é como NULL os valores, cadeias vazias e valores em branco são tratados quando a coluna é definida como NOT NULL. Para informações sobre como abordar esta questão para os Assinantes da Oracle, consulte Assinantes da Oracle.

  • A replicação não apaga metadados relacionados com a replicação (tabela de sequência de transações) de subscritores que não são do SQL Server quando remove a subscrição.

Conformidade com os Requisitos da Base de Dados de Assinantes

  • O esquema e os dados publicados devem estar em conformidade com os requisitos da base de dados no Subscritor. Por exemplo, se uma base de dados não-SQL Server tiver um tamanho máximo de linha menor do que o SQL Server, certifique-se de que o esquema e os dados publicados não ultrapassam esse tamanho.

  • As tabelas replicadas para Subscritores que não sejam do SQL Server adotam as convenções de nomenclatura de tabelas da base de dados do Subscritor.

  • A DDL não é suportada para subscritores que não sejam do SQL Server. Para mais informações sobre alterações de esquema, consulte Fazer Alterações de Esquema em Bases de Dados de Publicações.

Suporte a funcionalidades de replicação

  • O SQL Server oferece dois tipos de subscrições: push e pull. Os Assinantes Não SQL Server devem usar assinaturas push, nas quais o Agente de Distribuição é executado no Distribuidor do SQL Server.

  • O SQL Server oferece dois formatos de snapshot: modo nativo bcp e modo de caracteres. Os Subscritores não SQL Server requerem snapshots em modo de caracteres.

  • Os subscritores que não sejam do SQL Server não podem usar subscrições de atualização imediata ou de atualização em fila, nem podem ser nós numa topologia ponto a ponto.

  • Os Assinantes do Non-SQL Server não podem ser inicializados automaticamente a partir de um backup.