Usar varias versiones de SQL Server en una topología de réplica

Actualizado: 15 de septiembre de 2007

La réplica admite la réplica de datos en diferentes versiones de Microsoft SQL Server. Este tema comprende:

  • Versiones de SQL Server admitidas
  • Asignar tipos de datos de SQL Server 2005 para versiones anteriores
  • Restaurar una base de datos replicada a partir de una versión anterior
  • Nivel de compatibilidad para publicaciones de mezcla

Para obtener información sobre cómo replicar datos en Microsoft SQL Server 2005 Express Edition y Microsoft SQL Server Compact Edition, vea Replicar datos en SQL Server Express y Replicar datos en SQL Server Compact Edition. Para obtener información sobre las características admitidas en cada edición de SQL Server, vea Características compatibles con las ediciones de SQL Server 2005.

[!NOTA] Este tema se encuentra disponible en la documentación de la Ayuda del programa de instalación y en los Libros en pantalla de SQL Server 2005. Los vínculos de temas que aparecen en negrita en la documentación de la Ayuda del programa de instalación hacen referencia a temas que sólo se encuentran disponibles en los Libros en pantalla de .

Versiones admitidas de SQL Server

El Service Pack 4 (SP4) de SQL Server 7.0 es la versión más antigua que puede participar en una topología de réplica con SQL Server 2005. Si utiliza SQL Server 2000, es necesario el Service Pack 3 o posterior.

Al utilizar la réplica entre versiones diferentes de SQL Server, a menudo se está limitado por las funciones de la versión más antigua. Por ejemplo, si actualiza un distribuidor a una instancia de SQL Server 2005, pero tiene un publicador en el que se ejecuta una instancia de SQL Server 2000 y un suscriptor en el que se ejecuta una instancia de SQL Server 7.0, estará limitado a las funciones generales y a las funciones de réplica de SQL Server 7.0.

[!NOTA] Como el formato de almacenamiento en disco de SQL Server es el mismo en los entornos de 64 bits y de 32 bits, una topología de réplica puede combinar instancias del servidor que se ejecutan en un entorno de 32 bits e instancias del servidor que se ejecutan en un entorno de 64 bits.

Para todos los tipos de réplica, la versión del distribuidor no debe ser anterior a la versión del publicador (en muchos casos, el distribuidor es la misma instancia que el publicador). Puede utilizar SQL Server 2005 como distribuidor remoto para SQL Server 2005 y SQL Server 2000, pero no para SQL Server 7.0. En las tablas siguientes se proporciona información adicional acerca de las versiones de SQL Server que pueden participar en la misma topología. Para obtener más información acerca de las características de réplica compatibles con las distintas ediciones de SQL Server, vea Características compatibles con las ediciones de SQL Server 2005.

Réplica transaccional y réplica de instantáneas con suscriptores de sólo lectura

Distribuidor

SQL Server 7.0

SQL Server 2000

SQL Server 2005

Publicador

SQL Server 7.0

SQL Server 7.0

SQL Server 2000

SQL Server 2000

SQL Server 2005

Suscriptores

SQL Server 7.0

SQL Server 2000

SQL Server 2005

SQL Server 7.0

SQL Server 2000

SQL Server 2005

SQL Server 7.0

SQL Server 2000

SQL Server 2005

En la tabla anterior se muestra que un suscriptor de sólo lectura para una publicación transaccional puede ser de cualquiera de las dos versiones del publicador. Por ejemplo, un publicador de SQL Server 7.0 puede tener suscriptores de SQL Server 2005 y un publicador de SQL Server 2005 puede tener suscriptores de SQL Server 7.0.

Réplica transaccional con suscriptores de actualización

Distribuidor

SQL Server 7.0

SQL Server 2000

SQL Server 2005

Publicador

SQL Server 7.01

SQL Server 7.01

SQL Server 20002

SQL Server 20002

SQL Server 20053

Suscriptores

SQL Server 7.0

SQL Server 7.0

SQL Server 2000

SQL Server 2005

SQL Server 7.0

SQL Server 2000

SQL Server 2005

1 Para un publicador de SQL Server 7.0, sólo se admiten suscriptores de SQL Server 7.0.

2 Para un publicador de SQL Server 2000, se admiten suscriptores de SQL Server 7.0, SQL Server 2000 y SQL Server 2005.

3 Para un publicador de SQL Server 2005, se admiten suscriptores de SQL Server 2000 y SQL Server 2005.

Réplica de mezcla

Distribuidor

SQL Server 7.0

SQL Server 2000

SQL Server 2005

Publicador

SQL Server 7.0

SQL Server 7.0

SQL Server 2000

SQL Server 2000

SQL Server 2005

Suscriptores

SQL Server 7.0

SQL Server 7.0

SQL Server 2000

SQL Server 7.0

SQL Server 2000

SQL Server 2005

En la tabla anterior se muestra que un suscriptor para una publicación de mezcla puede ser de cualquier versión que no sea posterior a la versión del publicador. Para obtener más información acerca de la compatibilidad con versiones anteriores, vea "Nivel de compatibilidad para publicaciones de mezcla" más adelante en este tema.

SQL Server 7.0 y SQL Server Management Studio

SQL Server Management Studio se puede conectar a instancias que ejecuten SQL Server 2000 o posterior. Para suscriptores que ejecuten SQL Server 7.0:

  • Las suscripciones y publicaciones se pueden crear con herramientas de SQL Server 7.0, herramientas de SQL Server 2000, Objetos de administración distribuidos de SQL (SQL-DMO) o procedimientos almacenados.
  • Los agentes para suscripciones de extracción no se pueden iniciar desde Management Studio o el Monitor de réplica. Se puede especificar que los agentes se ejecuten en función de una programación al crear la suscripción, o se pueden ejecutar a petición desde el símbolo del sistema.

Las suscripciones para suscriptores que ejecutan SQL Server 7.0 aparecen en Management Studio y el Monitor de réplica después de crearse. Para obtener más información acerca de cómo crear suscripciones y publicaciones y cómo ejecutar agentes, vea los Libros en pantalla de SQL Server 7.0.

Usar un distribuidor de SQL Server 2005 con un publicador que ejecute SQL Server 2000

SQL Server 2005 se puede usar como distribuidor remoto para publicadores que ejecuten SQL Server 2000. Para cambiar las propiedades del agente en este escenario, ejecute los siguientes procedimientos almacenados en el distribuidor. Estos procedimientos permiten cambiar las nuevas propiedades de SQL Server 2005:

Si tiene un publicador y un distribuidor en los que se ejecuta SQL Server 2000, puede cambiar las credenciales con las que los agentes realizan las conexiones mediante sp_changedistpublisher y sp_changesubscriber. No obstante, si actualiza el distribuidor a SQL Server 2005, estos procedimientos no se podrán utilizar para cambiar las credenciales utilizadas en trabajos de agente existentes (los procedimientos afectan a trabajos de agente creados después de que aquellos sean llamados). Para cambiar las credenciales de trabajos de agente existentes, llame a uno de los cuatro procedimientos anteriores.

Asignar tipos de datos de SQL Server 2005 para versiones anteriores

SQL Server 2005 ha incluido una serie de nuevos tipos de datos. Estos nuevas tipos de datos se asignan a tipos de datos compatibles del suscriptor si se utilizan suscripciones de extracción de un distribuidor de SQL Server 2005.

Tipo de datos de SQL Server 2005 Tipo de datos de SQL Server 2000 o SQL Server 7.0

xml

ntext

Tipos definidos por el usuario de CLR (UDT)

image

varchar(max)

text

nvarchar(max)

ntext

varbinary(max)

image

Debe comprobar que los tipos varchar(max), nvarchar(max), varbinary(max), xmlL y los tipos definidos por el usuario de CLR se asignan adecuadamente si están replicados en suscriptores en los que se ejecutan versiones anteriores de SQL Server (esto se hace de manera predeterminada en el caso de los artículos de las publicaciones de mezcla). El comportamiento de asignación de estos tipos está controlado por las opciones de esquema 0x20, 0x10000000 y 0x20000000 para sp_addarticle y sp_addmergearticle. Para obtener más información acerca de cómo establecer opciones de esquema, vea Cómo especificar opciones de esquema (SQL Server Management Studio) y How to: Specify Schema Options (Replication Transact-SQL Programming).

SQL Server 2000 incluía dos tipos de datos que se asignaban a tipos de datos compatibles de SQL Server 7.0. Estos nuevos tipos de datos se asignan a tipos de datos compatibles del suscriptor si se utilizan suscripciones de extracción de un distribuidor de SQL Server 2005 o SQL Server 2000.

Tipo de datos de SQL Server 2005 o SQL Server 2000 Tipo de datos de SQL Server 7.0

SQL_VARIANT

IMAGE

BIGINT

DECIMAL

Restaurar una base de datos replicada a partir de una versión anterior

Puede mantener la configuración de réplica cuando restaure una copia de seguridad de una base de datos replicada a partir de una versión anterior. Si restaura las copias de seguridad en un servidor y una base de datos con los mismos nombres que el servidor y la base de datos en los que se creó la copia de seguridad, o si especifica la opción KEEP_REPLICATION, se mantiene la configuración de réplica. Para obtener más información, vea RESTORE (Transact-SQL). Tras restaurar la base de datos, ejecute sp_vupgrade_replication (Transact-SQL) para actualizar el esquema y los datos del sistema con el fin de permitir la réplica en el nivel de producto actual.

Si bien es posible mantener la réplica tras restaurar a partir de la copia de seguridad de una versión anterior, se utiliza en raras ocasiones como opción de actualización. Es más común actualizar la base de datos replicada como parte de una actualización de producto o crear de nuevo la base de datos y la configuración de réplica a partir de un conjunto de secuencias de comandos.

Nivel de compatibilidad para publicaciones de mezcla

La réplica de mezcla utiliza el nivel de compatibilidad de publicación para determinar qué características utilizan las aplicaciones en una determinada base de datos. Los valores van de 70RTM (SQL Server 7.0 sin ningún Service Pack instalado) a 90RTM. El nivel de compatibilidad se especifica:

Las siguientes características requieren un nivel de compatibilidad de 90RTM o superior:

Las siguientes características no dependen del nivel de compatibilidad, pero requieren el Agente de mezcla incluido con SQL Server 2005; Los suscriptores en los que se ejecutan versiones anteriores de SQL Server funcionan como si la característica no estuviese habilitada:

Comportamiento del nivel de compatibilidad de la publicación en SQL Server 2005

Es importante entender el comportamiento del nivel de compatibilidad de publicación:

  • El nivel de compatibilidad de la publicación no está relacionado con el nivel de compatibilidad de la base de datos.
  • Si crea una publicación con sp_addmergepublication, o mediante Objetos de administración de réplica (RMO), el nivel de compatibilidad de la publicación se establece de manera predeterminada en 80RTM. Si crea una publicación en el Asistente para nueva publicación, el nivel de compatibilidad de la publicación vendrá determinado por las opciones elegidas en la página Tipos de suscriptor del asistente.
  • En versiones anteriores de SQL Server, el nivel de compatibilidad de la publicación aumentaba automáticamente si se habilitaba una característica que necesitase un nivel superior. En SQL Server 2005, debe establecer manualmente el nivel de compatibilidad de la publicación en 90RTM antes de habilitar funciones que requieran dicho nivel de compatibilidad.
    Si actualiza un publicador de SQL Server 7.0 y después selecciona una o más características que necesitan un nivel de compatibilidad de 80RTM, el nivel de compatibilidad aumentará automáticamente.
  • El nivel de compatibilidad de la publicación sólo puede disminuir si el Agente de instantáneas no se ha iniciado y no existen suscripciones a la publicación.
  • Todas las publicaciones de la misma base de datos deben tener el mismo nivel de compatibilidad. Este requisito tiene las siguientes consecuencias:
    • Si una base de datos contiene una publicación con un nivel de compatibilidad inferior (como 80RTM), y desea agregar otra publicación a la misma base de datos con un nivel de 90RTM, deberá aumentar manualmente el nivel de la primera publicación antes de que se agregue la nueva publicación.
    • Si una base de datos contiene dos o más publicaciones con niveles de compatibilidad inferiores y desea agregar otra publicación en la misma base de datos con un nivel de 90RTM, debe quitar todas las publicaciones existentes excepto una; aumentar el nivel de esa publicación a 90RTM; crear de nuevo las publicaciones que había quitado con un nivel de 90RTM y crear la nueva publicación con un nivel de 90RTM.

Vea también

Conceptos

Compatibilidad con versiones anteriores de réplica
Actualizar bases de datos replicadas

Otros recursos

Mejoras en la réplica

Ayuda e información

Obtener ayuda sobre SQL Server 2005

Historial de cambios

Versión Historial

15 de septiembre de 2007

Contenido nuevo:
  • Se ha agregado una nota acerca del formato de almacenamiento en disco de SQL Server, que es el mismo en entornos de 64 bits y 32 bits.

14 de abril de 2006

Contenido modificado:
  • Se han agregado tablas para clarificar las versiones de SQL Server que se pueden usar en la misma topología de réplica.
  • Se agregó información sobre las opciones de esquema utilizadas para asignar tipos de datos.
  • Se ha quitado la información que decía que SQL Server 7.0 puede usar una instancia de SQL Server 2005 como distribuidor remoto. No se admite esta configuración.