Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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 nomeadatesté replicada comoTEST. 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):No Oracle, um servidor tem no máximo um banco de dados, então você não precisa especificar o banco de dados.
Para IBM Db2, especifique o banco de dados na cadeia de conexão do DB2. Para obter mais informações, consulte Criar uma assinatura para um Assinante que não seja do 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 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:
NULLeNOT NULL. As restrições de chave primária são replicadas como índices exclusivos.Bancos de dados diferentes tratam o valor
NULLde forma diferente. Essa diferença afeta como um valor em branco, uma string vazia e umNULLsão representados. Essa diferença afeta o comportamento dos valores inseridos em colunas com restrições únicas definidas. Por exemplo, o Oracle permite múltiplosNULLvalores em uma coluna considerada única, enquanto o SQL Server permite apenas um únicoNULLvalor em uma coluna única.Outro fator é como
NULLvalores, cadeias vazias e valores em branco são tratados quando a coluna é definida comoNOT 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.