Cómo configurar la réplica transaccional de punto a punto (SQL Server Management Studio)
En este tema se describe cómo crear una topología de réplica transaccional de punto a punto con tres nodos y cómo agregar un nodo a la topología existente. Los pasos siguientes proporcionan información general; cada paso se describe con más detalle en este tema:
- La topología inicial incluye el Servidor A, el Servidor B y el Servidor C. Para crear la topología, se presupone que no hay actividad en ninguna de las bases de datos del mismo nivel. Para crear la topología:
- Configure la distribución en el Servidor A, Servidor B y Servidor C.
Puede utilizar un distribuidor local o remoto. Si utiliza un distribuidor remoto, se recomienda que no utilice el mismo distribuidor remoto para todos los nodos, porque podría ser un punto único de error. Para obtener más información acerca del distribuidor, vea Configurar la distribución. - Cree una publicación en el Servidor A con el Asistente para nueva publicación.
- Habilite la publicación para la réplica de punto a punto en el cuadro de diálogo Propiedades de la publicación: <publicación>.
- Inicialice manualmente el esquema y los datos en el Servidor B y el Servidor C, o restaure la base de datos del Servidor A en el Servidor B y el Servidor C. El esquema debe ser idéntico en todos los nodos.
- Agregue el Servidor B y el Servidor C a la topología con el Asistente de configuración de la topología punto a punto. Al agregar los servidores se crea una publicación en cada servidor y suscripciones a las publicaciones existentes en los demás servidores de la topología.
Si hay columnas de identidad en tablas publicadas, debe reinicializar los intervalos de identidad para las tablas del Servidor B y del Servidor C.
- Configure la distribución en el Servidor A, Servidor B y Servidor C.
- Una vez creada la topología, se agrega el Servidor D. Para agregar el nodo a la topología existente, se presupone que hay actividad y que se debe reducir al mínimo el tiempo de inactividad del sistema. Para agregar un nodo a una topología existente:
- Configure la distribución en el Servidor D.
- Inicialice el esquema y los datos en el Servidor D, restaurando la base de datos del Servidor A en el Servidor D.
- Agregue el Servidor D a la topología con el Asistente de configuración de la topología punto a punto. En este momento, al agregar Servidor D se crea una publicación en el Servidor D y se crean suscripciones entre Servidor A y Servidor D.
Si hay columnas de identidad en tablas publicadas, debe reinicializar los intervalos de identidad para las tablas del Servidor D.
En este punto, el Servidor D puede enviar y recibir cambios de todos los servidores, pero todos los cambios deben pasar por el Servidor A, que está conectado al Servidor B y al Servidor C. Si desea agregar suscripciones entre el Servidor D y otros nodos, vaya al paso 4. No es necesario que agregue suscripciones, pero esto proporciona una mayor tolerancia a errores que una sola conexión entre el Servidor A y el Servidor D. - Detenga la topología; para ello, detenga todos los cambios y sincronice todos los servidores.
- Agregue suscripciones entre el Servidor D y otros nodos con el Asistente de configuración de la topología punto a punto.
Crear una topología de réplica punto a punto
En la siguiente serie de procedimientos se muestra cómo crear una topología de punto a punto con tres nodos.
[!NOTA] Asegúrese de que el Agente Microsoft SQL Server se esté ejecutando en cada nodo y de que el Agente de registro del LOG y el Agente de distribución se ejecuten una vez que esté configurada la topología. Para obtener información acerca del Agente SQL Server, vea Iniciar el Agente SQL Server; para obtener información acerca de cómo iniciar y detener agentes, vea Cómo iniciar y detener un agente de réplica (SQL Server Management Studio).
Para configurar la distribución para cada nodo
En Microsoft SQL Server Management Studio, conéctese al Servidor A (este proceso de configuración debe repetirse para el Servidor B y el Servidor C).
Expanda el nodo de servidor, haga clic con el botón secundario en la carpeta Réplica y haga clic en Configurar distribución.
En la página Distribuidor del Asistente para configurar la distribución, seleccione un distribuidor.
Para utilizar un distribuidor local, seleccione '<nombreDeServidor>' actuará como su propio distribuidor; SQL Server creará una base de datos de distribución y registro. Para utilizar un distribuidor remoto, seleccione Utilizar el siguiente servidor como distribuidor y, a continuación, seleccione un servidor. El servidor ya debe estar configurado como distribuidor y el publicador debe estar habilitado para usar el distribuidor. Para obtener más información, vea Cómo habilitar un publicador remoto en un distribuidor (SQL Server Management Studio).
Si selecciona un distribuidor remoto, debe escribir una contraseña en la página Contraseña administrativa para las conexiones del Servidor A al distribuidor. Esta contraseña debe coincidir con la que especificó al habilitar el Servidor A como publicador en el distribuidor remoto.
En la página Carpeta de instantáneas, especifique una carpeta de instantáneas.
La carpeta de instantáneas es simplemente un directorio designado como recurso compartido; los agentes que leen y escriben en esta carpeta deben tener permisos de acceso suficientes a ella. Este directorio almacena objetos necesarios para la réplica en el primer nodo; no se utiliza para la réplica de punto a punto en los demás nodos, pero se necesita para configurar un distribuidor. Para obtener más información acerca de cómo proteger correctamente la carpeta, vea Proteger la carpeta de instantáneas.
En la página Base de datos de distribución, especifique un nombre para la base de datos de distribución.
La base de datos de distribución almacena transacciones, metadatos y datos del historial.
En la página Publicadores, puede habilitar otros publicadores para que utilicen el Servidor A como distribuidor remoto.
Si hay otros publicadores habilitados para utilizar el Servidor A como distribuidor remoto, debe escribir una contraseña en la página Contraseña del distribuidor para las conexiones del publicador al distribuidor.
En la página Acciones del asistente, puede crear una secuencia de comandos para los parámetros de configuración. Para obtener más información, vea Crear secuencias de comandos para la réplica.
Para crear una publicación en el primer nodo
Conéctese al Servidor A en SQL Server Management Studio y expanda el nodo de servidor.
Expanda la carpeta Réplica y, a continuación, haga clic con el botón secundario en la carpeta Publicaciones locales.
Haga clic en Nueva publicación.
En la página Base de datos de publicaciones del Asistente para nueva publicación, seleccione la base de datos que desea publicar.
En la página Tipo de publicación, seleccione Publicación transaccional.
En la página Artículos, seleccione los objetos de base de datos que desea publicar.
Haga clic en Propiedades del artículo para ver y modificar las propiedades del artículo. No debe cambiar las propiedades siguientes:
- Nombre del objeto de destino
- Propietario del objeto de destino
- Las opciones Formato de entrega para <ACTION> (donde ACTION puede ser INSERT, UPDATE o DELETE), no se pueden establecer en Instrucción <ACTION> ni en Instrucción <ACTION> sin lista de columnas.
No se pueden definir filtros en la página Filtrar filas de tabla; no se admite el filtrado en las publicaciones punto a punto.
En la página Agente de instantáneas, desactive Crear una instantánea inmediatamente.
En la página Seguridad del agente, especifique las credenciales para el Agente de instantáneas y el Agente de registro del LOG.
Para obtener más información acerca de los permisos que necesita cada agente, vea Modelo de seguridad del Agente de réplica y Prácticas recomendadas de seguridad de réplica.
En la página Acciones del asistente, puede crear una secuencia de comandos para la publicación. Para obtener más información, vea Crear secuencias de comandos para la réplica.
En la página Finalización del asistente, especifique el nombre de la publicación. Los nombres de las publicaciones deben ser iguales en toda la topología; por este motivo, el Asistente de configuración de la topología punto a punto utiliza este nombre al crear una publicación en cada nodo.
Para habilitar la publicación para la réplica de punto a punto
Expanda la carpeta Réplica en el Servidor A y, a continuación, la carpeta Publicaciones locales.
Haga clic con el botón secundario en la publicación creada y, a continuación, haga clic en Propiedades.
En el cuadro de diálogo Propiedades de la publicación: <publicación>, en la página Opciones de suscripción, seleccione el valor True para la propiedad Permitir suscripciones punto a punto.
Haga clic en Aceptar.
Para inicializar el esquema y los datos en cada nodo
Los pares se pueden inicializar de una de las siguientes formas:
- Manualmente. Copie el esquema y los datos del Servidor A al Servidor B y al Servidor C, utilizando Integration Services (SSIS), secuencias de comandos u otro método. Asegúrese de que el esquema y los datos del Servidor B y el Servidor C son idénticos a los del Servidor A antes de configurar esos servidores como pares.
- Restaurando una copia de seguridad de la base de datos de publicaciones del Servidor A en el Servidor B y el Servidor C. Para obtener más información acerca de la copia de seguridad y restauración de bases de datos, vea Realizar copias de seguridad y restaurar bases de datos en SQL Server.
Importante: Al restaurar la base de datos, no especifique la opción KEEP_REPLICATION (para Transact-SQL) o la opción Conservar la configuración de réplica (para SQL Server Management Studio). La réplica configurará la base de datos como corresponda al ejecutar el Asistente de configuración de la topología punto a punto.
Para agregar nodos a la topología durante la configuración inicial
Haga clic con el botón secundario en la publicación creada en el Servidor A y, a continuación, haga clic en Configurar topología punto a punto. Puede ser necesario actualizar el nodo de la publicación para ver la opción Configurar topología punto a punto.
En la página Publicación del Asistente de configuración de la topología punto a punto, la publicación creada en el Servidor A aparece seleccionada.
En la página Pares, agregue el Servidor B y después, repita este proceso para el Servidor C:
- Haga clic en Agregar SQL Server.
- Conéctese al Servidor B en el cuadro de diálogo Conectar al servidor. Ahora aparece el Servidor B en la columna Instancia del servidor del nodo.
- Seleccione la base de datos del Servidor B en el menú Base de datos del nodo.
[!NOTA] El Servidor A también se muestra, pero ya está configurado, así que no debe activar la casilla de verificación del Servidor A.
En la página Seguridad del Agente de registro del LOG, especifique las credenciales para el Agente de registro del LOG en cada nodo.
Para obtener más información acerca de los permisos que necesita el Agente de registro del LOG, vea Modelo de seguridad del Agente de réplica y Prácticas recomendadas de seguridad de réplica.
En la página Seguridad del Agente de distribución, especifique las credenciales de los agentes de distribución que dan servicio a las suscripciones para cada nodo.
El Asistente de configuración de la topología punto a punto crea suscripciones de inserción (el Agente de distribución se ejecuta en el distribuidor), con un agente independiente para cada suscripción. En una topología de tres nodos, cada nodo tiene una suscripción para los otros dos nodos, por lo que se ejecutan dos agentes de distribución en cada distribuidor.
Para obtener más información acerca de los permisos que necesita el Agente de distribución, vea Modelo de seguridad del Agente de réplica y Prácticas recomendadas de seguridad de réplica.
En la página Inicialización de nuevos pares, seleccione He creado la base de datos del nodo manualmenteo he restaurado una copia de seguridad de la base de datos de publicaciones original que no se ha modificado desde la realización de la copia de seguridad.
Finalice el asistente. En la página Generando la topología punto a punto, aparece una advertencia de que ya existe el registro del LOG para el Servidor A. Esta advertencia es sólo con fines informativos y no requiere ninguna acción.
Si hay columnas de identidad en las tablas publicadas, después de la restauración, el intervalo de identidad asignado a las tablas en el Servidor A se utilizará también en las tablas del Servidor B y del Servidor C. Debe utilizar DBCC CHECKIDENT para reinicializar las tablas en el Servidor B y el Servidor C con el fin de asegurarse de que se utilice un intervalo distinto para cada una.
Para obtener más información acerca de la administración de los intervalos de identidad, vea la sección sobre asignación de intervalos para la administración manual de intervalos de identidad en el tema Replicar columnas de identidad.
Agregar un nodo a una topología existente
En la siguiente serie de procedimientos se muestra cómo agregar un nuevo nodo a la topología existente por etapas:
- En la etapa uno, que se trata en los tres primeros procedimientos, se conecta parcialmente el Servidor D a la topología creando suscripciones entre el Servidor A y el Servidor D. Esto permite que sigan ocurriendo cambios en el Servidor A, el Servidor B y el Servidor C. Los cambios en el Servidor D pueden comenzar en cuanto se creen suscripciones entre el Servidor A y el Servidor D.
- En la etapa dos, que se trata en los dos últimos procedimientos, se conecta completamente el Servidor D a la topología, creando suscripciones entre el Servidor B y el Servidor D, y entre el Servidor C y el Servidor D. Para esta etapa, es necesario detener el sistema.
La etapa dos no es obligatoria, pero proporciona una mayor tolerancia a errores que cuando se tiene una sola conexión entre el Servidor A y el Servidor D.
[!NOTA] Asegúrese de que el Agente SQL Server se esté ejecutando en cada nodo y de que el Agente de registro del LOG y el Agente de distribución se ejecuten una vez que esté configurada la topología. Para obtener información acerca de cómo iniciar el Agente SQL Server, vea Iniciar el Agente SQL Server; para obtener información acerca de cómo iniciar los agentes de réplica, vea Cómo iniciar y detener un agente de réplica (SQL Server Management Studio).
Para configurar la distribución para el nuevo nodo
- Consulte el procedimiento de la sección anterior.
Para inicializar el nuevo nodo
- Restaure en el Servidor D una copia de seguridad reciente de la base de datos de publicaciones del Servidor A. También puede utilizar una copia de seguridad del Servidor B o del Servidor C, pero debe seleccionar el servidor y la base de datos en la página Publicación del Asistente de configuración de la topología punto a punto al agregar el Servidor D.
Para agregar el nuevo nodo a la topología (creando suscripciones entre el Servidor A y el Servidor D)
Haga clic con el botón secundario en la publicación creada en el Servidor A y, a continuación, haga clic en Configurar topología punto a punto.
En la página Publicación del Asistente de configuración de la topología punto a punto, la publicación creada en el Servidor A aparece seleccionada.
En la página Pares, agregue el Servidor D:
- Haga clic en Agregar SQL Server.
- Conéctese al Servidor D en el cuadro de diálogo Conectar al servidor. Aparecerá el Servidor D en la columna Instancia del servidor del nodo.
- Seleccione la base de datos del Servidor D en el menú Base de datos del nodo.
[!NOTA] El Servidor A también se muestra, pero ya está configurado, así que no debe activar la casilla de verificación del Servidor A.
En la página Seguridad del Agente de registro del LOG, especifique las credenciales para el Agente de registro del LOG en el Servidor D.
En la página Seguridad del Agente de distribución, especifique las credenciales para los agentes de distribución en el Servidor A y el Servidor D.
En la página Inicialización de nuevos pares, seleccione He restaurado una copia de seguridad de la base de datos de publicaciones original y se ha modificado dicha base de datos después de realizar la copia de seguridad.
Si selecciona esta opción, todos los cambios no incluidos en la copia de seguridad del Servidor A se enviarán a la base de datos restaurada en el Servidor D. Al habilitar la publicación para la réplica de punto a punto, la propiedad allow_initialize_from_backup de la publicación se estableció en True. La réplica comenzó inmediatamente a realizar un seguimiento de los cambios en la base de datos de publicaciones en el Servidor A, para poder actualizar otros pares después de la restauración.
Haga clic en el botón Examinar para desplazarse a la copia de seguridad utilizada; la réplica leerá el número de secuencia de registro (LSN) de la copia de seguridad. Todos los cambios de la base de datos de publicaciones del Servidor A que tengan un LSN más alto se enviarán al Servidor D.
Finalice el asistente.
Para todas las tablas publicadas que incluyan intervalos de identidad, el intervalo de identidad asignado a cada tabla en el Servidor A se utilizará también en el Servidor D. Si no va a detener el sistema y conectar completamente todos los nodos, asigne el intervalo apropiado para cada tabla en el Servidor D con el procedimiento siguiente. Si va a conectar completamente todos los nodos, puede asignar los intervalos cuando finalice la detención:
- Ejecute sp_requestpeerresponse (Transact-SQL) en el Servidor D y recupere el parámetro de salida @request_id.
- De forma predeterminada, el Agente de distribución está configurado para ejecutarse de forma continua, por lo que los testigos deben enviarse automáticamente a todos los nodos. Si el Agente de distribución no se está ejecutando de forma continua, ejecútelo. Para obtener más información, vea Programming Replication Agent Executables o Cómo iniciar y detener un agente de réplica (SQL Server Management Studio).
- Ejecute sp_helppeerresponses (Transact-SQL), proporcionando el valor @request_id recuperado en el paso b. Espere a que todos los nodos indiquen que han recibido la solicitud de los pares.
- Use DBCC CHECKIDENT para reinicializar cada tabla en el Servidor D con el fin de asegurarse de que se utiliza un intervalo apropiado.
Para detener la topología
Detenga toda la actividad en todas las tablas publicadas de la topología punto a punto.
Ejecute sp_requestpeerresponse (Transact-SQL) en la base de datos del Servidor A, el Servidor B, el Servidor C y el Servidor D, y recupere el parámetro de salida @request_id.
De forma predeterminada, el Agente de distribución está configurado para ejecutarse de forma continua, por lo que los testigos deben enviarse automáticamente a todos los nodos. Si el Agente de distribución no se está ejecutando de forma continua, ejecútelo. Para obtener más información, vea Programming Replication Agent Executables o Cómo iniciar y detener un agente de réplica (SQL Server Management Studio).
Ejecute sp_helppeerresponses (Transact-SQL), proporcionando el valor @request_id recuperado en el paso 2. Espere a que todos los nodos indiquen que han recibido la solicitud de los pares.
Si es necesario, asigne nuevos intervalos de identidad. Ahora puede conectar completamente la topología, agregando las suscripciones restantes.
Para crear suscripciones adicionales para el nuevo nodo
Haga clic con el botón secundario en la publicación creada en el Servidor A y, a continuación, haga clic en Configurar topología punto a punto.
En la página Publicación del Asistente de configuración de la topología punto a punto, la publicación creada en el Servidor A aparece seleccionada.
En la página Pares, agregue el Servidor B y después, repita este proceso para el Servidor C y el Servidor D:
- Haga clic en Agregar SQL Server.
- Conéctese al Servidor B en el cuadro de diálogo Conectar al servidor. Aparecerá el Servidor B en la columna Instancia del servidor del nodo.
- Seleccione la base de datos del Servidor B en el menú Base de datos del nodo.
[!NOTA] El Servidor A también se muestra, pero ya está configurado, así que no debe activar la casilla de verificación del Servidor A.
En la página Seguridad del Agente de registro del LOG, especifique las credenciales para el Agente de registro del LOG en el Servidor B, el Servidor C y el Servidor D.
En la página Seguridad del Agente de distribución, especifique las credenciales para los agentes de distribución en el Servidor A, el Servidor B, el Servidor C y el Servidor D.
En la página Inicialización de nuevos pares, seleccione He creado la base de datos del nodo manualmenteo he restaurado una copia de seguridad de la base de datos de publicaciones original que no se ha modificado desde la realización de la copia de seguridad. Todos los nodos tienen ya los datos; al especificar esta opción, se asegura de que se establezcan las relaciones de suscripción correctas entre cada nodo.
Finalice el asistente.
Vea también
Conceptos
Réplica transaccional de punto a punto
Información general sobre los agentes de réplica