Suscriptores distintos de SQL Server

Se aplica a:SQL Server

Los siguientes suscriptores que no son de SQL Server pueden suscribirse a publicaciones de instantáneas y transaccionales mediante suscripciones push. Las dos versiones más recientes de cada base de datos listadas soportan suscripciones utilizando la versión más reciente del proveedor OLE DB listado.

La replicación heterogénea a suscriptores ajenos a SQL Server está obsoleta. La publicación por oráculo está obsoleta. Para mover datos, crea soluciones utilizando captura de datos de cambio y SSIS.

Precaución

Esta característica se quitará en una versión futura de SQL Server. Evite utilizar esta característica en nuevos trabajos de desarrollo y tenga previsto modificar las aplicaciones que actualmente la utilizan.

Base de datos Sistema operativo Proveedor
Oracle Todas las plataformas que admite Oracle Proveedor OLE DB de Oracle (suministrado por Oracle)
IBM Db2 MVS, AS400, Unix, Linux, Windows excepto 9.x Proveedor OLE DB de Microsoft Host Integration Server (HIS)

Información de las versiones de Oracle:
SQL Server admite los siguientes escenarios heterogéneos para la replicación transaccional y de instantáneas:

  • Publicar datos de SQL Server en suscriptores que no son de SQL Server.

  • La publicación de datos en y desde Oracle tiene las siguientes restricciones:

Replicación 2016 o anterior 2017 o posterior
Replicación de Oracle Compatibilidad solo con Oracle 10g o versiones anteriores Compatibilidad solo con Oracle 10g o versiones anteriores
Replicación en Oracle Hasta Oracle 12c No admitido

La replicación heterogénea a suscriptores que no son de SQL Server ha quedado obsoleta. La publicación por oráculo está obsoleta. Para mover datos, crea soluciones utilizando captura de datos de cambio y SSIS.

Para obtener información acerca de cómo crear suscripciones a Oracle e IBM Db2, vea suscriptores de Oracle y IBM DB2 Subscribers.

Consideraciones para suscriptores que no son de SQL Server

Tenga en cuenta las siguientes consideraciones al replicar en suscriptores que no son de SQL Server:

Consideraciones generales

  • La replicación permite publicar tablas y vistas indexadas como tablas a suscriptores que no sean de SQL Server (las vistas indexadas no pueden replicarse como vistas indexadas).

  • Cuando creas una publicación en el Asistente de Nueva Publicación y luego la activas para suscriptores que no son de SQL Server usando el cuadro de diálogo Propiedades de Publicación, no especificas el propietario de todos los objetos en la base de datos de suscripción para suscriptores que no son de SQL Server. Para los suscriptores de Microsoft SQL Server, el propietario es el propietario del objeto correspondiente en la base de datos de publicación.

  • Si una publicación tiene tanto suscriptores de SQL Server como suscriptores que no sean de SQL Server, debe habilitar la publicación para suscriptores que no sean de SQL Server antes de crear ninguna suscripción para suscriptores de SQL Server.

  • De forma predeterminada, los scripts que genera el Agente de instantáneas para los Suscriptores que no son SQL Server usan identificadores sin comillas en la sintaxis CREATE TABLE. Por lo tanto, una tabla publicada llamada test se replica como TEST. Para respetar la misma combinación de mayúsculas y minúsculas que la tabla de la base de datos de publicaciones, utilice el parámetro -QuotedIdentifier del Agente de distribución. También debes usar el parámetro -QuotedIdentifier si los nombres de objetos publicados (como tablas, columnas y restricciones) incluyen espacios o palabras reservadas en la versión de la base de datos en el Subscriber no SQL Server. Para obtener más información acerca de este parámetro, vea Agente de distribución de replicación.

  • La cuenta con la que se ejecuta el agente de distribución debe tener acceso de lectura en el directorio de instalación del proveedor OLE DB.

  • Por defecto, para los suscriptores que no son SQL Server, el Agente de distribución utiliza un valor de [(default destination)] para la base de datos de suscripción (el parámetro -SubscriberDB para el Agente de distribución):

  • Si el distribuidor de SQL Server se ejecuta en una plataforma de 64 bits, debe usar la versión de 64 bits del proveedor OLE DB apropiado.

  • La replicación transfiere datos en formato Unicode independientemente de la intercalación o las páginas de código utilizadas en el Publicador y el Suscriptor. Elige una página de compilación o código compatible al replicar entre Editores y Suscriptores.

  • Si añades o eliminas un artículo de una publicación, debes reiniciar suscripciones a suscriptores que no son de SQL Server.

  • Las únicas restricciones soportadas para todos los suscriptores no SQL Server son: NULL y NOT NULL. Las restricciones de clave principal se replican como índices únicos.

  • Diferentes bases de datos tratan el valor NULL de forma distinta. Esta diferencia afecta a la forma en que se representan un valor en blanco, una cadena vacía y un NULL. Esta diferencia afecta el comportamiento de los valores insertados en columnas con restricciones únicas definidas. Por ejemplo, Oracle permite múltiples NULL valores en una columna que se considera única, mientras que SQL Server solo permite un único NULL valor en una columna única.

    Otro factor es cómo se tratan los valores NULL, las cadenas vacías y los valores en blanco cuando la columna se define como NOT NULL. Para obtener información acerca de cómo tratar este problema en suscriptores de Oracle, vea suscriptores de Oracle.

  • La replicación no elimina metadatos relacionados con la replicación (tabla de secuencia de transacciones) de suscriptores que no son de SQL Server cuando eliminas la suscripción.

Cumplir los requisitos de la base de datos de suscriptor

  • El esquema y los datos publicados deben cumplir con los requisitos de la base de datos del Suscriptor. Por ejemplo, si una base de datos no SQL Server tiene un tamaño máximo de fila menor que SQL Server, asegúrate de que el esquema y los datos publicados no superen este tamaño.

  • Las tablas replicadas a suscriptores que no son SQL Server adoptan las convenciones de nomenclatura de tablas de la base de datos del Suscriptor.

  • DDL no es compatible con suscriptores que no son de SQL Server. Para obtener más información sobre los cambios de esquema, vea Realizar cambios de esquema en bases de datos de publicaciones.

Soporte para funciones de replicación

  • SQL Server ofrece dos tipos de suscripciones: de inserción y de extracción. Los suscriptores que no sean SQL Server deben usar suscripciones push, en las que el Agente de distribución se ejecuta en el Distribuidor de SQL Server.

  • SQL Server ofrece dos formatos de instantánea: modo nativo de bcp y modo de caracteres. Los suscriptores que no son de SQL Server requieren instantáneas en modo carácter.

  • Los suscriptores que no son de SQL Server no pueden usar suscripciones con actualización inmediata o en cola, ni ser nodos en una topología de igual a igual.

  • Los suscriptores que no son de SQL Server no pueden inicializarse automáticamente desde una copia de seguridad.