Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
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 nomeadatesté replicada comoTEST. 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):No Oracle, um servidor tem no máximo uma base de dados, por isso não precisas de especificar a base de dados.
Para IBM Db2, especifique a base de dados na cadeia de ligação do DB2. Para mais informações, consulte Criar uma Subscrição para um Assinante que não é SQL Server.
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:
NULLeNOT NULL. As restrições das chaves primárias são replicadas como índices únicos.Diferentes bases de dados tratam o valor
NULLde forma diferente. Esta diferença afeta a forma como um valor em branco, uma cadeia vazia e umNULLa 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últiplosNULLvalores numa coluna considerada única, enquanto o SQL Server permite apenas um únicoNULLvalor numa coluna única.Outro fator é como
NULLos valores, cadeias vazias e valores em branco são tratados quando a coluna é definida comoNOT 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.