Últimos cambios en la réplica de SQL Server 2005

Actualizado: 14 de abril de 2006

En este tema se describen los cambios en las características de réplica que pueden requerir cambios en las aplicaciones.

[!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 con 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.

Últimos cambios que afectan a todos los tipos de réplica

Las siguientes cambios se aplican a todos los tipos de réplica de Microsoft SQL Server 2005.

Característica Descripción

Cambios necesarios para secuencias de comandos de réplica

El modelo de seguridad del agente de réplica ha cambiado desde Microsoft SQL Server 2000. Para obtener más información sobre el modelo de seguridad, vea Modelo de seguridad del Agente de réplica. Si es miembro de la función fija del servidor sysadmin en SQL Server 2005 y ejecuta secuencias de comandos de réplica creadas en SQL Server 2000 o SQL Server 7.0, las secuencias de comandos se ejecutarán correctamente. Si es miembro de la función fija de base de datos dbo o de otra función, las secuencias de comandos serán incorrectas y deberán actualizarse. Para obtener información sobre la actualización de secuencias de comandos, vea How to: Upgrade Replication Scripts (Replication Transact-SQL Programming). Aunque no es necesario actualizar las secuencias de comandos ejecutadas por miembros de la función sysadmin, se recomienda hacerlo para sacar provecho de las mejoras de seguridad.

Conexiones locales para agentes de réplica

Al actualizar a SQL Server 2005, las conexiones locales que utilizan la autenticación de SQL Server se modifican para utilizar la autenticación de Windows. Las conexiones locales son aquellas realizadas por un agente en una instancia de SQL Server que se ejecuta en el mismo equipo que el agente. Por ejemplo, el Agente de mezcla de una suscripción de extracción se ejecuta en el suscriptor, por lo tanto las conexiones que realice en el suscriptor serán conexiones locales.

En versiones anteriores de SQL Server, los agentes se ejecutaban, de manera predeterminada, en el contexto de la cuenta de servicio del Agente SQL Server. Después de la actualización, las conexiones locales se realizan en el contexto de esta cuenta. SQL Server 2005 permite el control exhaustivo de cada cuenta en la que los agentes de réplica se ejecuten y realicen conexiones integradas de Windows en bases de datos y demás recursos; se puede especificar una cuenta diferente para cada agente. Después de la actualización, se recomienda especificar distintas cuentas para cada agente. Para obtener más información, vea Actualizar bases de datos replicadas y Modelo de seguridad del Agente de réplica.

Controles ActiveX

Todos los controles ActiveX están marcados como no seguros para secuencias de comandos e inicialización.

El control ActiveX del Agente de instantáneas no está disponible en SQL Server 2005. Utilice en su lugar el nuevo Agente de instantáneas administrado. Para obtener más información, vea SnapshotGenerationAgent y How to: Create the Initial Snapshot (RMO Programming).

Contraseña para la cuenta distributor_admin

Ya no se admiten conexiones de confianza entre un publicador y un distribuidor remoto porque no necesitaban contraseña (las conexiones de confianza se utilizaban de manera predeterminada en versiones anteriores a SQL Server 2000 Service Pack 3). Si utiliza un distribuidor remoto, antes de actualizar a SQL Server 2005, convierta las conexiones de confianza en conexiones no de confianza (este problema no afecta a los publicadores que utilizan un distribuidor local). Para obtener más información sobre la cuenta distributor_admin, vea Proteger el distribuidor.

Para determinar el tipo de conexión utilizada

Para cambiar a una conexión de no confianza

  1. Ejecute sp_changedistpublisher (Transact-SQL) en el distribuidor, especificando un valor 'trusted' para el parámetro @property y un valor 'False' para el parámetro @value.
    ms143470.note(es-es,SQL.90).gifNota:
  2. Ejecute sp_changedistributor_password (Transact-SQL) tanto en el publicador como en el distribuidor, especificando una contraseña segura para el parámetro @password.

SQL Server Express no incluye el Agente SQL Server

Si actualiza a SQL Server Express, deberá reconfigurar la sincronización de réplica porque SQL Server Express no incluye el Agente SQL Server.

Si desea utilizar suscripciones de extracción, deberá sincronizarlas mediante Objetos de administración de réplica (RMO), el Administrador de sincronización de Windows o ejecutando el Agente de réplica en la línea de comandos. Para obtener más información, vea Replicar datos en SQL Server Express.

Si desea continuar utilizando el Agente SQL Server para ejecutar trabajos del Agente de réplica, deberá utilizar las suscripciones de inserción o actualizar a una versión diferente de SQL Server (todas las versiones salvo SQL Server Express y Microsoft SQL Server 2005 Compact Edition incluyen el Agente SQL Server). Con las suscripciones de inserción, el Agente de distribución o el Agente de mezcla se ejecuta en el distribuidor y, por lo tanto, está disponible el Agente SQL Server (SQL Server Express no puede ser un distribuidor).

Suscriptores de Microsoft Access (Jet 4.0)

Jet es la base de datos subyacente utilizada por Access, y la réplica admitía suscripciones con las bases de datos de Jet en SQL Server 2000. Ya no se admiten estas suscripciones.

Se recomienda utilizar en su lugar Microsoft SQL Server 2005 Express Edition. Access puede utilizar una base de datos de SQL Server como servidor, y las bases de datos de SQL Server no se verán afectadas por este problema. Para obtener más información, vea Replicar datos en SQL Server Express.

Últimos cambios en la réplica transaccional

Las siguientes cambios se aplican a la réplica transaccional de SQL Server 2005.

Característica

Descripción

Opción Message Queuing para suscripciones de actualización en cola

Con las suscripciones de actualización en cola, los cambios de los suscriptores se escriben en una cola; los cambios se leen posteriormente en la cola y se entregan al publicador mediante el Agente de lectura de cola. En SQL Server 2000, las suscripciones podían usar una cola de SQL Server o Message Queuing para poner en cola los cambios. El tipo de cola se especificaba con el parámetro @queue_type de sp_addpublication (Transact-SQL), que permitía valores de sql y msmq. En SQL Server 2005, sólo se permite un valor de sql. Las publicaciones existentes que utilizan Message Queuing se modifican durante la actualización para que utilicen una cola de SQL Server. Si tiene aplicaciones que dependen de las actualizaciones en cola que utilizan Message Queuing, estas aplicaciones deberán reescribirse para su inclusión en una cola de SQL Server. Para obtener más información sobre suscripciones de actualización en cola, vea Suscripciones actualizables para réplica transaccional.

La actualización quitará las colas de suscripción Message Queuing (MSMQ) existentes si el servicio Message Queuing se está ejecutando y SQL Server se está actualizando.

ms143470.note(es-es,SQL.90).gifImportante:

En Windows 2000 y Windows XP, el servicio Coordinador de transacciones distribuidas de Microsoft (MSDTC) también debe estar en ejecución, puesto que Message Queuing requiere MSDTC en estos sistemas operativos.

Si el servicio Message Queuing no se ejecuta, quite manualmente las colas una vez finalizada la actualización. Para obtener más información acerca de cómo quitar colas, vea la documentación de Windows.

Últimos cambios en la réplica de mezcla

Las siguientes cambios se aplican a la réplica de mezcla de SQL Server 2005.

Característica Descripción

Publicación desde SQL Server Express

SQL Server MSDE podía servir como publicador para publicaciones de mezcla. SQL Server Express, el sustituto de MSDE, no se puede utilizar como publicador. Puede suscribirse a publicaciones de mezcla, transaccionales y de instantáneas. La réplica de mezcla y la réplica transaccional con actualización de suscripciones permiten ambas que los cambios se propaguen de nuevo de los suscriptores al publicador. Para obtener más información acerca de cómo realizar réplicas en SQL Server Express, vea Replicar datos en SQL Server Express.

Escritura de cambios por lotes

En versiones anteriores de SQL Server, los cambios realizados por el Agente de mezcla se hacían fila por fila. En SQL Server 2005, los cambios se ejecutan en lotes para mejorar el rendimiento; por lo tanto, se puede insertar, actualizar o eliminar más de una fila en una sola instrucción. Si las tablas publicadas en las bases de datos de publicaciones o suscripciones tienen desencadenadores, asegúrese de que los desencadenadores pueden controlar inserciones, actualizaciones y eliminaciones en varias filas. Para obtener más información, vea Consideraciones acerca de operaciones con varias filas para desencadenadores DML.

Nueva creación de tablas de conflictos

Al actualizar a SQL Server 2005, las tablas de conflictos se vuelven a crear con DBO como con su propietario. Si alguna tabla pertenecía a otros usuarios de SQL Server 2000, puede que su aplicación deba modificarse.

La réplica de mezcla crea una tabla de conflictos para cada artículo de una publicación, con un nombre del tipo conflict_nombreDePublicación_nombreDeArtículo. Todas las tablas de metadatos se vuelven a crear durante la actualización y todas las tablas de conflictos se crean en el esquema de DBO.

Nuevos intervalos de identidad asignados

En tablas que utilicen la administración automática de intervalos de identidad, la réplica puede asignar nuevos intervalos de identidad durante la actualización. Si alguna tabla tiene un intervalo de identidad asignado al suscriptor más grande que el del publicador, la réplica asignará un intervalo al publicador igual al del suscriptor.

Para determinar los intervalos que se utilizan para cada artículo, ejecute sp_helpmergearticle (Transact-SQL) en la base de datos de publicación y compruebe las columnas pub_identity_range e identity_range.

Vea también

Conceptos

Compatibilidad con versiones anteriores de réplica

Otros recursos

Mejoras en la réplica

Ayuda e información

Obtener ayuda sobre SQL Server 2005