Suscriptores que no son de SQL Server
Se aplica a: SQL Server
Los suscriptores siguientes que no son de SQL Server se pueden suscribir a publicaciones de instantáneas y transaccionales mediante suscripciones de inserción. Las suscripciones se admiten en las dos versiones más recientes de cada base de datos enumerada utilizando la versión más reciente del proveedor OLE DB indicado.
La replicación heterogénea en suscriptores que no son SQL Server está desusada. La publicación de Oracle está desusada. Para mover datos, cree soluciones mediante captura de datos modificados 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 de instantáneas y transaccional:
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 compatible |
La replicación heterogénea en suscriptores que no son SQL Server está desusada. La publicación de Oracle está desusada. Para mover datos, cree soluciones mediante captura de datos modificados 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 consideraciones siguientes al replicar datos en suscriptores que no sean de SQL Server:
Consideraciones generales
La replicación es compatible con la publicación de tablas y vistas indizadas como tablas en suscriptores que no son de SQL Server (las vistas indexadas no se pueden replicar como vistas indexadas).
Al crear una publicación en el Asistente para nueva publicación y luego habilitarla para suscriptores que no son de SQL Server mediante el cuadro de diálogo Propiedades de la publicación, no se específica el propietario de todos los objetos de la base de datos de suscripción para los suscriptores que no son de SQL Server, mientras que para los suscriptores de Microsoft SQL Server, se establece en el propietario del objeto correspondiente de la base de datos de publicación.
Si una publicación tiene suscriptores de SQL Server y suscriptores que no son de SQL Server, se debe habilitar la publicación para los suscriptores que no son de SQL Server antes de crear cualquier suscripción a suscriptores de SQL Server.
De forma predeterminada, los scripts generados por el Agente de instantáneas para los suscriptores que no son de SQL Server usan identificadores sin comillas en la sintaxis
CREATE TABLE
. Por lo tanto, una tabla publicada denominada 'test' se replica como 'TEST'. Para usar mayúsculas y minúsculas como en la tabla de la base de datos de publicación, utilice el parámetro -QuotedIdentifier para el Agente de distribución. También se debe utilizar el parámetro -QuotedIdentifier si los nombres de objeto publicados (como tablas, columnas y restricciones) contienen espacios o palabras que son palabras reservadas en la versión de la base de datos de suscriptor que no es de 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.
De manera predeterminada para los suscriptores que no son de SQL Server, el Agente de distribución utiliza el valor [(destino predeterminado)] para la base de datos de suscripciones (el parámetro -SubscriberDB del Agente de distribución):
En Oracle, un servidor tiene como máximo una base de datos, por lo que no es necesario especificarla.
En IBM Db2, la base de datos se especifica en la cadena de conexión DB2. Para más información, consulte Crear una suscripción para un suscriptor que no sea de SQL Server.
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 mueve los datos en formato Unicode con independencia de las páginas de intercalación/códigos utilizadas en el publicador y el suscriptor. Se recomienda elegir una página de intercalación/códigos compatible al replicar entre publicadores y suscriptores.
Si se agrega o elimina un artículo de una publicación, se deben reinicializar las suscripciones a suscriptores que no sean de SQL Server.
Las únicas restricciones que admiten los suscriptores que no son de SQL Server son: NULL y NOT NULL. Las restricciones de clave principal se replican como índices únicos.
El valor NULL se trata de manera distinta en diferentes bases de datos y esto afecta al modo de representar un valor en blanco, una cadena vacía y un valor NULL. A su vez, afecta al comportamiento de los valores insertados en columnas con restricciones únicas definidas. Por ejemplo, Oracle permite varios valores NULL en una columna considerada única, mientras que SQL Server solo permite un valor NULL en una columna única.
Otro factor es cómo se tratan los valores NULL, las cadenas vacías y los valores en blanco cuando se define la columna como NOT NULL. Para obtener información acerca de cómo tratar este problema en suscriptores de Oracle, vea suscriptores de Oracle.
Los metadatos relacionados con la replicación (tabla de secuencias de transacciones) no se elimina de los suscriptores que no son de SQL Server cuando se quita la suscripción.
Cumplir los requisitos de la base de datos de suscriptor
El esquema y los datos publicados deben respetar los requisitos de la base de datos en el suscriptor. Por ejemplo, si una base de datos que no es de SQL Server tiene un tamaño de fila máximo menor que SQL Server, debe asegurarse de que el esquema y los datos publicados no superen dicho tamaño.
Las tablas replicadas en suscriptores que no sean de SQL Server adoptarán las convenciones de nomenclatura de tablas de la base de datos en el suscriptor.
DDL no se admite para suscriptores que no sean 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.
Compatibilidad con la característica de replicación
SQL Server ofrece dos tipos de suscripciones: de inserción y de extracción. Los suscriptores que no son de SQL Server deben utilizar suscripciones de inserción, en las que el Agente de distribución se ejecuta en el distribuidor de SQL Server.
SQL Server proporciona dos formatos de instantánea: modo bcp nativo y modo de carácter. Los suscriptores que no son de SQL Server requieren instantáneas en modo de carácter.
Los suscriptores que no son de SQL Server no pueden utilizar suscripciones de actualización inmediata o actualización en cola, ni ser nodos en una topología punto a punto.
Los suscriptores que no son de SQL Server no se pueden inicializar automáticamente desde una copia de seguridad.