Subido por Gaby Cruz

Tutorial Replicacion SQL Server 2014

Anuncio
Tutorial: Preparación de SQL Server
para la replicación (publicador,
distribuidor, suscriptor)


01/04/2018
Tiempo de lectura: 8 minutos
SE APLICA A:
SQL Server
Azure SQL Database
Azure Synapse
Analytics (SQL DW)
Almacenamiento de datos paralelos
Es importante planificar la seguridad antes de configurar la topología de
replicación. Este tutorial le mostrará cómo asegurar mejor una topología de
replicación. También muestra cómo configurar la distribución, que es el primer
paso en la replicación de datos. Debe finalizar este tutorial antes que cualquiera de
los otros tutoriales.
Nota
Para replicar datos de forma segura entre servidores, debe implementar todas las
recomendaciones de Prácticas recomendadas de seguridad de replicación.
Aprendizaje
Este tutorial le enseñará a preparar un servidor de manera que la replicación se
ejecute de forma segura con los privilegios mínimos.
En este tutorial, aprenderá a:



Crear cuentas de Windows para replicación
Preparar la carpeta de instantáneas
Configurar la distribución
Prerequisites
Este tutorial está pensado para usuarios que están familiarizados con las
operaciones básicas de las bases de datos, pero que tienen una experiencia
limitada en operaciones de replicación.
Para completar este tutorial, necesita tener SQL Server, SQL Server Management
Studio (SSMS) y una base de datos de AdventureWorks:





En el servidor del publicador (origen), instale:
o Cualquier edición de SQL Server, excepto SQL Server Express o SQL Server
Compact. Estas ediciones no pueden ser publicadores de replicación.
o La base de datos de ejemplo AdventureWorks2012 . Con el objeto de
mejorar la seguridad, las bases de datos de ejemplo no se instalan de
forma predeterminada.
En el servidor del suscriptor (destino), instale cualquier edición de SQL Server,
excepto SQL Server Compact. SQL Server Compact no puede ser un suscriptor
de una replicación transaccional.
Instale SQL Server Management Studio.
Instale SQL Server 2017 Developer Edition.
Descargue la base de datos de ejemplo AdventureWorks. Para obtener
instrucciones sobre cómo restaurar una base de datos en SSMS, vea Restaurar
una copia de seguridad de base de datos con SSMS.
Nota
 La replicación no se admite entre instancias de SQL Server que estén
separadas por más de dos versiones entre sí. Para más información, vea la
entrada de blog Supported SQL Server versions in Replication
Topology (Versiones de SQL Server admitidas en la topología de replicación).
 En SQL Server Management Studio, debe conectarse al publicador y al
suscriptor con un inicio de sesión que sea miembro del rol fijo de
servidor sysadmin. Para más información sobre este rol, vea Roles de nivel
de servidor.
Tiempo estimado para completar este tutorial: 30 minutos
Creación de cuentas de Windows para replicación
En esta sección, crea cuentas de Windows para ejecutar agentes de replicación. Va
a crear distintas cuentas de Windows en el servidor local para los siguientes
agentes:
Agente
Ubicación
Nombre de cuenta
Agente de
instantáneas
publicador
<nombreDeEquipo>\repl_snapshot
Agente
Ubicación
Nombre de cuenta
Agente de registro
del LOG
publicador
<nombreDeEquipo>\repl_logreader
Agente de
distribución
Publicador y
suscriptor
<nombreDeEquipo>\repl_distribution
Agente de mezcla
Publicador y
suscriptor
<nombreDeEquipo>\repl_merge
Nota
En los tutoriales de replicación, el publicador y el distribuidor comparten la misma
instancia (NODE1\SQL2016) de SQL Server. La instancia del suscriptor
(NODE2\SQL2016) es remota. El publicador y el suscriptor pueden compartir la
misma instancia de SQL Server, aunque no es necesario. Si el publicador y el
suscriptor comparten la misma instancia, no se requieren los pasos que se utilizan
para crear las cuentas en el suscriptor.
Creación de cuentas locales de Windows para agentes de replicación
en el publicador
1. En el publicador, vaya al Panel de control y abra Administración de
equipos en Herramientas administrativas.
2. En Herramientas del sistema, expanda Usuarios y grupos locales.
3. Haga clic con el botón derecho en Usuarios y, después, seleccione Usuario
nuevo.
4. Escriba repl_snapshot en el cuadro Nombre de usuario, proporcione la
contraseña y demás información relevante y, después, seleccione Crear para
crear la cuenta repl_snapshot:
5. Repita el paso anterior para crear las cuentas repl_logreader, repl_distribution
y repl_merge:
6. Seleccione Cerrar.
Creación de cuentas locales de Windows para agentes de replicación
en el suscriptor
1. En el suscriptor, vaya al Panel de control y abra Administración de
equipos en Herramientas administrativas .
2. En Herramientas del sistema, expanda Usuarios y grupos locales.
3. Haga clic con el botón derecho en Usuarios y, después, seleccione Usuario
nuevo.
4. Escriba repl_distribution en el cuadro Nombre de usuario, proporcione la
contraseña y demás información relevante y, después, seleccione Crear para
crear la cuenta repl_distribution.
5. Repita el paso anterior para crear la cuenta repl_merge.
6. Seleccione Cerrar.
Para más información, consulte Información general sobre los agentes de
replicación.
Preparación de la carpeta de instantáneas
En esta sección va a configurar la carpeta de instantáneas que se utiliza para crear y
almacenar la instantánea de publicación.
Crear un recurso compartido para la carpeta de instantáneas y
asignar permisos
1. En el Explorador de archivos, vaya a la carpeta de datos SQL Server. La
ubicación predeterminada es C:\Archivos de programa\Microsoft SQL
Server\MSSQL.X\MSSQL\Data.
2. Cree una carpeta con el nombre repldata.
3. Haga clic con el botón derecho en esta carpeta y seleccione Propiedades.
A. En la pestaña Compartir del cuadro de diálogo Propiedades de repldata,
seleccione Uso compartido avanzado.
B. En el cuadro de diálogo Uso compartido avanzado, seleccione Compartir
esta carpeta y, después, seleccione Permisos.
4. En el cuadro de diálogo Permisos de repldata, seleccione Agregar. En el
cuadro de texto Seleccionar usuarios, equipos, cuentas de servicio o
grupos, escriba el nombre de la cuenta del Agente de instantáneas creado
anteriormente, como
<Nombre_De_Equipo_Publicador> \repl_snapshot. Seleccione Comprobar
nombres y, después, Aceptar.
5. Repita el paso 6 para agregar las otras dos cuentas que se crearon
previamente: <Nombre_De_Equipo_Publicador> \repl_merge y
<Nombre_De_Equipo_Publicador> \repl_distribution.
6. Después de agregar las tres cuentas, asigne los permisos siguientes:
o repl_distribution: Lectura
o repl_merge: Lectura
o repl_snapshot: Control total
7. Después de configurar correctamente los permisos de los recursos
compartidos, seleccione Aceptar para cerrar el cuadro de diálogo Permisos
de repldata. Seleccione Aceptar para cerrar el cuadro de diálogo Uso
compartido avanzado.
8. En el cuadro de diálogo Propiedades de repldata, seleccione la
pestaña Seguridad y seleccione Editar:
9. En el cuadro de diálogo Permisos de repldata, seleccione Agregar. En el
cuadro de texto Seleccionar usuarios, equipos, cuentas de servicio o
grupos, escriba el nombre de la cuenta del Agente de instantáneas creado
anteriormente, como
<Nombre_De_Equipo_Publicador> \repl_snapshot. Seleccione Comprobar
nombres y, después, Aceptar.
10. Repita el paso anterior para agregar permisos para el Agente de distribución,
por ejemplo <Nombre_De_Equipo_Publicador> \repl_distribution y, para el
Agente de mezcla, <Nombre_De_Equipo_Publicador> \repl_merge.
11. Compruebe que se admiten los siguientes permisos:
o repl_distribution: Lectura
o repl_merge: Lectura
o repl_snapshot: Control total
12. Vuelva a seleccionar la pestaña Compartir y anote la Ruta de acceso a la
red para el recurso compartido. Necesitará esta ruta de acceso más adelante
cuando configure la carpeta de instantáneas.
13. Seleccione Aceptar para cerrar el cuadro de diálogo Propiedades de
repldata.
Para más información, consulte Proteger la carpeta de instantáneas.
Configuración de distribución
En esta sección va a configurar la distribución en el publicador y establecer los
permisos requeridos en las bases de datos de publicación y distribución. Si ya ha
configurado el distribuidor, debe deshabilitar la publicación y distribución antes de
iniciar esta sección. No lo haga si debe mantener una topología de replicación
existente, especialmente en producción.
En este tutorial no se contempla la configuración de un publicador con un
distribuidor remoto.
Configuración de la distribución en el publicador
1. Conéctese al publicador en SQL Server Management Studio y, después,
expanda el nodo de servidor.
2. Haga clic con el botón derecho en la carpeta Replicación y luego
seleccione Configurar distribución:
Nota
Si se ha conectado con SQL Server mediante localhost en lugar del nombre
real del servidor, aparecerá una advertencia indicando que SQL Server no se
puede conectar con localhost. En el cuadro de diálogo de advertencia,
seleccione Aceptar. En el cuadro de diálogo Conectar al servidor, cambie
el nombre del servidor de localhost al nombre del servidor. A continuación,
seleccione Conectar.
Se inicia el Asistente para configurar la distribución.
3. En la página Distribuidor, seleccione < 'NombreServidor' > actuará como su
propio distribuidor; SQL Server creará una base de datos y un registro de
distribución. Luego, seleccione Siguiente.
4. Si el Agente SQL Server no se está ejecutando, en la páginaSQL Server Inicio
del Agente, seleccione SíSQL Server y configure el servicio del
Agente para que se inicie automáticamente. Seleccione Siguiente.
5. Escriba la ruta de acceso \\<Nombre_De_Equipo_Publicador> \repldata en el
cuadro de texto Carpeta de instantáneas y, después,
seleccione Siguiente. Esta ruta de acceso debe coincidir con lo que vimos
anteriormente en Ruta de acceso a la red de la carpeta de propiedades de
repldata después de configurar las propiedades del recurso compartido.
6. Acepte los valores predeterminados en las páginas restantes del asistente.
7. Seleccione Finalizar para habilitar la distribución.
El siguiente error puede aparecer al configurar el distribuidor. Es una indicación de
que la cuenta que se utilizó para iniciar la cuenta del Agente SQL Server no es un
administrador del sistema. Necesitará iniciar manualmente el Agente SQL Server,
conceder dichos permisos a la cuenta existente o modificar la cuenta que utiliza el
Agente SQL Server.
Si su instancia de SQL Server Management Studio se ejecuta con derechos
administrativos, puede iniciar el Agente de SQL manualmente desde dentro de
SSMS:
Nota
Si no se inicia el Agente SQL de forma visible, haga clic con el botón derecho en el
Agente SQL Server en SSMS y seleccione Actualizar. Si está todavía en estado
detenido, inícielo manualmente desde el Administrador de configuración de SQL
Server.
Establecer los permisos para la base de datos
1. En SQL Server Management Studio, expanda Seguridad, haga clic con el
botón derecho en Inicios de sesióny, después, seleccione Nuevo inicio de
sesión:
2. En la página General, seleccione Buscar. Escriba
<Nombre_De_Equipo_Publicador> \repl_snapshot en el cuadro Escriba el
nombre de objeto a seleccionar, seleccione Comprobar nombres y,
después, seleccione Aceptar.
3. En la página Asignación de usuarios, en la lista Usuarios asignados a este
inicio de sesión, seleccione las bases de datos de distribución y
de AdventureWorks2012.
En la lista Pertenencia al rol de la base de datos, seleccione el
rol db_owner para el inicio de sesión en ambas bases de datos.
4. Seleccione Aceptar para crear el inicio de sesión.
5. Repita los pasos del 1 al 4 para crear un inicio de sesión para el resto de
cuentas locales (repl_distribution, repl_logreader y repl_merge). Estos inicios
de sesión también se deben asignar a usuarios que son miembros del rol fijo
de base de datos db_owner en las bases de
datos distribution y AdventureWorks.
Para obtener más información, vea:


Configuración de la distribución
Modelo de seguridad del Agente de replicación
Tutorial: Configuración de la
replicación entre dos servidores
conectados completamente
(transaccional)


13/03/2017
Tiempo de lectura: 8 minutos
SE APLICA A:
SQL Server
Azure SQL Database
Azure Synapse
Analytics (SQL DW)
Almacenamiento de datos paralelos
La replicación transaccional es una buena solución para el problema de mover
datos entre servidores conectados de forma continua. Mediante el Asistente para
replicación, puede configurar y administrar fácilmente una topología de replicación.
Este tutorial le mostrará cómo configurar una topología de replicación
transaccional para servidores conectados de forma continua. Para más información
sobre cómo funciona la replicación transaccional, vea Replicación transaccional.
Aprendizaje
En este tutorial aprenderá a publicar datos de una base de datos en otra mediante
la replicación transaccional.
En este tutorial, aprenderá a:



Crear un publicador mediante la replicación transaccional
Crear un suscriptor para el publicador transaccional
Validar la suscripción y medir la latencia
Prerequisites
Este tutorial es para usuarios que están familiarizados con las operaciones básicas
de las bases de datos, pero tienen poca experiencia con operaciones de
replicación. Antes de empezar este tutorial, debe haber completado Tutorial:
Preparación de SQL Server para la replicación.
Para completar este tutorial, necesita tener SQL Server, SQL Server Management
Studio (SSMS) y una base de datos de AdventureWorks:





En el servidor del publicador (origen), instale:
o Cualquier edición de SQL Server, excepto SQL Server Express o SQL Server
Compact. Estas ediciones no pueden ser publicadores de replicación.
o La base de datos de ejemplo AdventureWorks2012 . Con el objeto de
mejorar la seguridad, las bases de datos de ejemplo no se instalan de
forma predeterminada.
En el servidor del suscriptor (destino), instale cualquier edición de SQL Server,
excepto SQL Server Compact. SQL Server Compact no puede ser un suscriptor
de una replicación transaccional.
Instale SQL Server Management Studio.
Instale SQL Server 2017 Developer Edition.
Descargue la base de datos de ejemplo AdventureWorks. Para obtener
instrucciones sobre cómo restaurar una base de datos en SSMS, vea Restaurar
una copia de seguridad de base de datos con SSMS.
Nota
 La replicación no se admite entre instancias de SQL Server que estén
separadas por más de dos versiones entre sí. Para más información, vea la
entrada de blog Supported SQL Server versions in Replication
Topology (Versiones de SQL Server admitidas en la topología de replicación).
 En SQL Server Management Studio, debe conectarse al publicador y al
suscriptor con un inicio de sesión que sea miembro del rol fijo de
servidor sysadmin. Para más información sobre este rol, vea Roles de nivel
de servidor.
Tiempo estimado para completar este tutorial: 60 minutos
Configurar el publicador para la replicación
transaccional
En esta sección, se crea una publicación transaccional mediante SQL Server
Management Studio para publicar un subconjunto filtrado de la tabla Product en
la base de datos de ejemplo AdventureWorks2012. También se agrega un inicio
de sesión de SQL Server que usa el Agente de distribución a la lista de acceso a la
publicación (PAL).
Crear publicaciones y definir artículos
1. Conéctese al publicador en SQL Server Management Studio y, después,
expanda el nodo de servidor.
2. Haga clic con el botón derecho en Agente SQL Server y seleccione Iniciar. El
Agente SQL Server debe estar ejecutándose antes de crear la publicación. Si
esto no inicia el agente, deberá hacerlo manualmente desde el Administrador
de configuración de SQL Server.
3. Expanda la carpeta Replicación, haga clic con el botón derecho en la
carpeta Publicaciones locales y, después, seleccione Nueva
publicación. Este paso inicia el Asistente para nueva publicación:
4. En la página Base de datos de publicación,
seleccione AdventureWorks2012 y haga clic en Siguiente.
5. En la página Tipo de publicación, seleccione Publicación transaccional y,
después, seleccione Siguiente:
6. En la página Artículos, expanda el nodo Tablas y seleccione la
casilla Producto. Después, expanda Producto y desactive las casillas junto
a ListPrice y StandardCost. Seleccione Siguiente.
7. En la página Filtrar filas de tabla, seleccione Agregar.
8. En el cuadro de diálogo Agregar filtro, seleccione la
columna SafetyStockLevel. Seleccione la flecha derecha para agregar la
columna a la cláusula WHERE de la instrucción de filtro en la consulta del
filtro. Después, escriba manualmente en el modificador de la cláusula WHERE
lo siguiente:
SQLCopiar
WHERE [SafetyStockLevel] < 500
9. Seleccione Aceptary luego seleccione Siguiente.
10. Active la casilla Crear una instantánea inmediatamente y mantenerla
disponible para inicializar suscripciones y seleccione Siguiente:
11. En la página Seguridad del agente, desactive la casilla Use the security
settings from the Snapshot Agent (Usar la configuración de seguridad del
Agente de instantáneas).
Seleccione Configuración de seguridad para el Agente de
instantáneas. Escriba <Nombre_De_Equipo_Publicador> > \repl_snapshot en
el cuadro Cuenta de proceso, escriba la contraseña de la cuenta y, luego,
seleccione Aceptar.
12. Repita el paso anterior para establecer
<Nombre_De_Equipo_Publicador> \repl_logreader como la cuenta de
proceso para el Agente de registro del LOG. Después, seleccione Aceptar.
13. En la página Complete the Wizard (Finalización del asistente),
escriba AdvWorksProductTrans en el cuadro Nombre de publicación y
seleccione Finalizar:
14. Una vez se haya creado la publicación, seleccione Cerrar para finalizar el
asistente.
Podría producirse el siguiente error si el Agente SQL Server no se está ejecutando
cuando intenta crear la publicación. Este error indica que la publicación se creó
correctamente, pero no se pudo iniciar el Agente de instantáneas. Si esto ocurre,
debe iniciar al Agente SQL Server y, después, iniciar manualmente el Agente de
instantáneas. En la siguiente sección se proporcionan instrucciones.
Ver el estado de la generación de instantáneas
1. Conéctese al publicador en SQL Server Management Studio, expanda el nodo
del servidor y luego la carpeta Replicación.
2. En la carpeta Publicaciones locales, haga clic con el botón derecho
en AdvWorksProductTrans y luego seleccione Ver estado del Agente de
instantáneas:
3. Se muestra el estado actual del trabajo del Agente de instantáneas para la
publicación. Compruebe que el trabajo de instantáneas sea correcto antes de
continuar con la siguiente sección.
Si el Agente SQL Server no se estaba ejecutando cuando creó la publicación, verá
que el Agente de instantáneas nunca se ejecutó cuando compruebe el estado del
Agente de instantáneas para su publicación. Si es así, seleccione Iniciar para iniciar
el Agente de instantáneas:
Si ve un error aquí, vea Troubleshooting Snapshot Agent errors (Solucionar errores
con el Agente de instantáneas).
Agregar el inicio de sesión del Agente de distribución a la lista de
acceso de la publicación (PAL)
1. Conéctese al publicador en SQL Server Management Studio, expanda el nodo
del servidor y luego la carpeta Replicación.
2. En la carpeta Publicaciones locales, haga clic con el botón derecho
en AdvWorksProductTrans y luego seleccione Propiedades. Aparece el
cuadro de diálogo Propiedades de la publicación.
A. Seleccione la página Lista de acceso a la publicación y
seleccione Agregar.
B. En el cuadro de diálogo Agregar acceso de publicación, seleccione
<Nombre_De_Equipo_Publicador> > \repl_distribution y seleccione Aceptar.
Para más información, vea Conceptos de la programación de replicación.
Creación de una suscripción a la publicación
transaccional
En esta sección se agrega un suscriptor a la publicación que creada
anteriormente. Este tutorial usa un suscriptor remoto (NODE2\SQL2016), pero
también puede agregar una suscripción localmente en el publicador.
Crear la suscripción
1. Conéctese al publicador en SQL Server Management Studio, expanda el nodo
del servidor y luego la carpeta Replicación.
2. En la carpeta Publicaciones locales, haga clic con el botón derecho en la
publicación AdvWorksProductTrans y, después, seleccione Nuevas
suscripciones. Se inicia el Asistente para nueva suscripción:
3. En la página Publicación, seleccione AdvWorksProductTrans y, después,
seleccione Siguiente:
4. En la página Ubicación del Agente de distribución, seleccione Ejecutar
todos los agentes en el distribuidor y luego seleccione Siguiente. Para más
información sobre las suscripciones de inserción y de extracción,
vea Suscribirse a publicaciones.
5. En la página Suscriptores, si no se muestra el nombre de la instancia del
suscriptor, seleccione Agregar suscriptor y, después, seleccione Agregar
suscriptor de SQL Server en la lista desplegable. Este paso abre el cuadro de
diálogo Conectar al servidor. Escriba el nombre de instancia del suscriptor y,
después, seleccione Conectar.
Después de agregar el suscriptor, active la casilla situada junto al nombre de
instancia del suscriptor. Después, seleccione Nueva base de datos en Base
de datos de suscripción.
6. Aparece el cuadro de diálogo Nueva base de
datos. Escriba ProductReplica en el cuadro Nombre de base de datos,
seleccione Aceptar y, después, seleccione Siguiente:
7. En la página Seguridad del Agente de distribución, haga clic en el botón de
puntos suspensivos ( ... ). Escriba
<Nombre_De_Equipo_Publicador> >rpl_distribution el cuadro Cuenta de
proceso, escriba la contraseña para esta cuenta, seleccione Aceptar y, a
luego, Siguiente.
8. Seleccione Finalizar para aceptar los valores predeterminados en las páginas
restantes y finalizar el asistente.
Establecer permisos de base de datos en el suscriptor
1. Conéctese al suscriptor en SQL Server Management
Studio. Expanda Seguridad, haga clic con el botón derecho en Inicios de
sesión y, después, seleccione Nuevo inicio de sesión.
A. En la página General, en Nombre de inicio de sesión, seleccione Buscar y
agregue el inicio de sesión para
<Nombre_De_Equipo_Suscriptor> > \repl_distribution.
B. En la página Asignaciones de usuario, otorgue el inicio de sesión al
miembro db_owner para la base de datos ProductReplica.
2. Seleccione Aceptar para cerrar el cuadro de diálogo Nuevo inicio de sesión.
Ver el estado de sincronización de la suscripción
1. Conéctese al publicador en SQL Server Management Studio. Expanda el nodo
del servidor y luego la carpeta Replicación.
2. En la carpeta Publicaciones locales, expanda la
publicación AdvWorksProductTrans, haga clic con el botón derecho en la
suscripción de la base de datos ProductReplica y, después, seleccione Ver
estado de sincronización. Se muestra el estado de sincronización actual de
la suscripción:
3. Si la suscripción no está visible en AdvWorksProductTrans, presione F5 para
actualizar la lista.
Para obtener más información, vea:



Inicializar una suscripción con una instantánea
Crear una suscripción de inserción
Suscribirse a publicaciones
Medir la latencia de replicación
En esta sección se emplean testigos de seguimiento para comprobar que los
cambios se replican en el suscriptor y para determinar la latencia. La latencia es el
tiempo necesario para que un cambio realizado en el publicador aparezca en el
suscriptor.
1. Conéctese al publicador en SQL Server Management Studio. Expanda el nodo
del servidor, haga clic con el botón derecho en la carpeta Replicación y luego
seleccione Iniciar Monitor de replicación:
2. Expanda un grupo de publicador en el panel izquierdo, expanda la instancia
del publicador y, después, seleccione la publicación AdvWorksProductTrans.
A. Seleccione la pestaña Testigos de seguimiento.
B. Seleccione Insertar seguimiento.
c. Vea el tiempo transcurrido para el testigo de seguimiento en las siguientes
columnas: Publicador a distribuidor, Distribuidor a suscriptor, Latencia
total. El valor Pendiente indica que el testigo no ha alcanzado un punto
especificado.
Para obtener más información, vea:


Medir la latencia y validar las conexiones de la replicación transaccional
Buscar errores con los agentes de replicación transaccional
Pasos siguientes
Ha configurado correctamente el publicador y el suscriptor para la replicación
transaccional. Ahora puede insertar, actualizar o eliminar datos en la
tabla Product del publicador. Después, puede consultar la tabla Product en el
suscriptor para ver los cambios replicados.
Tutorial: Configuración de la
replicación (de mezcla) entre un
servidor y clientes móviles


02/04/2018
Tiempo de lectura: 10 minutos
SE APLICA A:
SQL Server
Azure SQL Database
Azure Synapse
Analytics (SQL DW)
Almacenamiento de datos paralelos
La replicación de mezcla es una buena solución al problema de mover datos entre
un servidor central y clientes móviles que solo se conectan en determinadas
ocasiones. Al usar los asistentes para replicación, es más fácil configurar y
administrar una topología de replicación de mezcla.
Este tutorial le mostrará cómo configurar una topología de replicación para clientes
móviles. Para más información sobre la replicación de mezcla, vea Replicación de
mezcla.
Aprendizaje
En este tutorial se explica cómo usar la replicación de mezcla para publicar datos
de una base de datos central en uno o más usuarios móviles, de modo que cada
usuario obtenga un subconjunto de datos filtrado de manera exclusiva.
En este tutorial, aprenderá a:



Configurar un publicador para la replicación de mezcla
Agregar un suscriptor móvil para la publicación de mezcla
Sincronizar la suscripción con la publicación de mezcla
Prerequisites
Este tutorial es para usuarios que están familiarizados con las operaciones básicas
de las bases de datos, pero tienen una experiencia limitada en operaciones de
replicación. Antes de empezar este tutorial, debe haber completado Tutorial:
Preparación de SQL Server para la replicación.
Para completar este tutorial, necesita tener SQL Server, SQL Server Management
Studio (SSMS) y una base de datos de AdventureWorks:





En el servidor del publicador (origen), instale:
o Cualquier edición de SQL Server, excepto SQL Server Express o SQL Server
Compact. Estas ediciones no pueden ser publicadores de replicación.
o La base de datos de ejemplo AdventureWorks2012 . Con el objeto de
mejorar la seguridad, las bases de datos de ejemplo no se instalan de
forma predeterminada.
En el servidor de suscriptor (destino), instale cualquier edición de SQL Server,
excepto SQL Server Express o SQL Server Compact. La publicación que se crea
en este tutorial no es compatible con SQL Server Express ni con SQL Server
Compact.
Instale SQL Server Management Studio.
Instale SQL Server 2017 Developer Edition.
Descargue la base de datos de ejemplo AdventureWorks. Para obtener
instrucciones sobre cómo restaurar una base de datos en SSMS, vea Restaurar
una copia de seguridad de base de datos con SSMS.
Nota
 La replicación no se admite entre instancias de SQL Server que estén
separadas por más de dos versiones entre sí. Para más información, vea la
entrada de blog Supported SQL Server versions in Replication
Topology (Versiones de SQL Server admitidas en la topología de replicación).
 En SQL Server Management Studio, debe conectarse al publicador y al
suscriptor con un inicio de sesión que sea miembro del rol fijo de
servidor sysadmin. Para más información sobre este rol, vea Roles de nivel
de servidor.
Tiempo estimado para completar este tutorial: 60 minutos
Configurar un publicador para la replicación de
mezcla
En esta sección, se crea una publicación de mezcla mediante SQL Server
Management Studio para publicar un subconjunto de las
tablas Employee, SalesOrderHeader y SalesOrderDetail en la base de datos de
ejemplo AdventureWorks2012. Estas tablas están filtradas con filtros de fila con
parámetros para que cada suscripción contenga una partición única de los
datos. También se agrega el inicio de sesión de SQL Server usado por el Agente de
mezcla a la lista de acceso a la publicación (PAL).
Crear publicaciones de mezcla y definir artículos
1. Conéctese al publicador en SQL Server Management Studio y, después,
expanda el nodo del servidor.
2. Inicie el Agente SQL Server haciendo clic con el botón derecho en el
Explorador de objetos y seleccionando Iniciar. Si esto no inicia el agente,
deberá hacerlo manualmente desde el Administrador de configuración de
SQL Server.
3. Expanda la carpeta Replicación, haga clic con el botón derecho en la
carpeta Publicaciones localesy, después, seleccione Nueva publicación. Se
inicia el Asistente para nueva publicación:
4. En la página Base de datos de publicación,
seleccione AdventureWorks2012 y haga clic en Siguiente.
5. En la página Tipo de publicación, seleccione Publicación de mezcla y haga
clic en Siguiente.
6. En la página Tipos de suscriptor, asegúrese de que solo esté
seleccionado SQL Server 2008 o posterior y, después, haga clic en Siguiente:
7. En la página Artículos, expanda el nodo Tablas. Seleccione las tres tablas
siguientes: Employee, SalesOrderHeader y SalesOrderDetail. Seleccione Sig
uiente.
Nota
La tabla Employee contiene una columna (OrganizationNode) que tiene el
tipo de datos hierarchyid. Este tipo de datos se admite para la replicación
solo en SQL Server 2017.
Si usa una versión anterior a SQL 2017, verá un mensaje en la parte inferior de
la pantalla que le notifica de posibles pérdidas de datos si usa esta columna
en la replicación bidireccional. Puede ignorar este mensaje, ya que no afecta
al propósito de este tutorial. Pero no olvide que este tipo de datos no debería
replicarse en un entorno de producción, a menos que esté usando la versión
compatible.
Para más información sobre cómo replicar el tipo de datos hierarchyid,
vea Usar columnas hierarchyid en tablas replicadas.
8. En la página Filtrar filas de tabla, seleccione Agregar y luego Agregar filtro.
9. En el cuadro de diálogo Agregar filtro, seleccione Employee
(HumanResources) en Seleccione la tabla que desea filtrar. Seleccione la
columna LoginID, seleccione la flecha derecha para agregar la columna a la
cláusula WHERE de la consulta del filtro y modifique la cláusula WHERE de la
manera siguiente:
SQLCopiar
WHERE [LoginID] = HOST_NAME()
Seleccione A row from this table will go to only one subscription (Una fila
de esta tabla irá a una sola suscripción) y luego elija Aceptar.
10. En la página Filtrar filas de tabla, seleccione Employee (Human
Resources) , luego Agregar y, después, Add Join to Extend the Selected
Filter (Agregar combinación para ampliar el filtro seleccionado).
A. En el cuadro de diálogo Agregar combinación,
seleccione Sales.SalesOrderHeader en Tabla
combinada. Seleccione Escribir instrucción de combinación
manualmente y complete la instrucción de combinación de la manera
siguiente:
SQLCopiar
ON [Employee].[BusinessEntityID] =
[SalesOrderHeader].[SalesPersonID]
B. En Especifique las opciones de combinación, seleccione Clave únicay, a
continuación, seleccione Aceptar.
11. En la página Filtrar filas de tabla, seleccione SalesOrderHeader,
elija Agregar y luego Add Join to Extend the Selected Filter (Agregar
combinación para ampliar el filtro seleccionado).
A. En el cuadro de diálogo Agregar combinación ,
seleccione Sales.SalesOrderDetail en Tabla combinada.
B. Seleccione Usar generador de instrucciones para crear la instrucción.
c. En el cuadro Vista previa, confirme que la instrucción de combinación es
como sigue:
SQLCopiar
ON [SalesOrderHeader].[SalesOrderID] = [SalesOrderDetail].[SalesOrderID]
d. En Especifique las opciones de combinación, seleccione Clave únicay, a
continuación, seleccione Aceptar. Seleccione Siguiente.
12. Seleccione Crear una instantánea inmediatamente, desactive Programar el
Agente de instantáneas para ejecutarsey, a continuación,
seleccione Siguiente:
13. En la página Seguridad del agente, elija Configuración de
seguridad. Escriba <Nombre_De_Equipo_Publicador> > \repl_snapshot en el
cuadro Cuenta de proceso, escriba la contraseña de la cuenta y, luego,
seleccione Aceptar. Seleccione Siguiente.
14. En la página Finalización del asistente,
escriba AdvWorksSalesOrdersMerge en el cuadro Nombre de
publicación y seleccione Finalizar:
15. Una vez creada la publicación, seleccione Cerrar. En el nodo Replicación en
el Explorador de objetos, haga clic con el botón derecho en Publicaciones
locales y en Actualizar para ver la nueva replicación de mezcla.
Ver el estado de la generación de instantáneas
1. Conéctese al publicador en SQL Server Management Studio, expanda el nodo
del servidor y luego la carpeta Replicación.
2. En la carpeta Publicaciones locales, haga clic con el botón derecho
en AdvWorksSalesOrdersMerge y luego seleccione Ver estado del Agente
de instantáneas:
3. Se muestra el estado actual del trabajo del Agente de instantáneas para la
publicación. Compruebe que el trabajo de instantáneas sea correcto antes de
continuar con la siguiente lección.
Agregar el inicio de sesión del Agente de mezcla a la lista de acceso
de la publicación (PAL)
1. Conéctese al publicador en SQL Server Management Studio, expanda el nodo
del servidor y luego la carpeta Replicación.
2. En la carpeta Publicaciones locales, haga clic con el botón derecho
en AdvWorksSalesOrdersMerge y seleccione Propiedades.
A. Seleccione la página Lista de acceso a la publicación y
seleccione Agregar.
B. En el cuadro de diálogo Agregar acceso de publicación, seleccione
<Nombre_De_Equipo_Publicador> > \repl_merge y
seleccione Aceptar. Vuelva a hacer clic en Aceptar.
Para obtener más información, vea:



Filtrar datos publicados
Filtros con parámetros: filtros de fila con parámetros
Definir un artículo
Crear una suscripción a la publicación de mezcla
En esta sección, se agrega una suscripción a la publicación de mezcla que se creó
anteriormente. Este tutorial usa el suscriptor remoto (NODE2\SQL2016). Luego se
establecen los permisos en la base de datos de suscripciones y se genera
manualmente la instantánea de datos filtrados para la nueva suscripción.
Agregar un suscriptor para la publicación de mezcla
1. Conéctese al suscriptor en SQL Server Management Studio y expanda el nodo
de servidor. Expanda la carpeta Replicación, haga clic con el botón derecho
en la carpeta Suscripciones locales y luego seleccione Nuevas
suscripciones. Se inicia el Asistente para nueva suscripción:
2. En la página Publicación, seleccione Buscar publicador de SQL Server en la
lista Publicador.
En el cuadro de diálogo Conectar al servidor, escriba el nombre de la
instancia del publicador en el cuadro Nombre del servidor y, después,
seleccione Conectar:
3. Seleccione AdvWorksSalesOrdersMerge y Siguiente.
4. En la página Ubicación del Agente de mezcla, seleccione Ejecutar cada
agente en su suscriptor y, luego, Siguiente:
5. En la página Suscriptores, seleccione el nombre de instancia del servidor del
suscriptor. En Base de datos de suscripciones, seleccione Nueva base de
datos en la lista.
En el cuadro de diálogo Nueva base de datos,
escriba SalesOrdersReplica en el cuadro Nombre de la base de
datos. Seleccione Aceptary luego seleccione Siguiente.
6. En la página Seguridad del agente de mezcla, seleccione el botón de puntos
suspensivos ( ... ). Escriba <Nombre_De_Equipo_Suscriptor> \repl_merge en el
cuadro Cuenta de proceso y especifique la contraseña para esta
cuenta. Seleccione Aceptar, Siguiente y, después, elija otra vez Siguiente.
7. En la página Programación de sincronización, establezca Programación del
agente en Run on demand only (Ejecutar solamente a
petición). Seleccione Siguiente.
8. En la página Inicializar suscripciones, seleccione En la primera
sincronización de la lista Inicializar cuando. Seleccione Siguiente para
continuar con la página Tipo de suscripción y seleccione el tipo de
suscripción adecuado. En este tutorial se usa Cliente. Después de seleccionar
el tipo de suscripción, seleccione Siguiente otra vez.
9. En la página Valores de HOST_NAME, escriba un valor para adventureworks\pamela0 en el cuadro Valor de HOST_NAME. Después,
seleccione Finalizar.
10. Seleccione Finalizar otra vez. Una vez creada la suscripción,
seleccione Cerrar.
Establecer permisos de servidor en el suscriptor
1. Conéctese al suscriptor en SQL Server Management
Studio. Expanda Seguridad, haga clic con el botón derecho en Inicios de
sesión y, después, seleccione Nuevo inicio de sesión.
En la página General, seleccione Buscar y escriba
<Nombre_De_Equipo_Suscriptor> > \repl_merge en el campo Escriba el
nombre de objeto. Seleccione Comprobar nombres y, después, Aceptar.
2. En la página Asignación de usuario, seleccione la base de
datos SalesOrdersReplica y seleccione el rol db_owner. En la
página Elementos protegibles, conceda el permiso Explícito para Modificar
seguimiento. Seleccione Aceptar.
Crear la instantánea de datos filtrados para la suscripción
1. Conéctese al publicador en SQL Server Management Studio, expanda el nodo
del servidor y luego la carpeta Replicación.
2. En la carpeta Publicaciones locales, haga clic con el botón derecho en la
publicación AdvWorksSalesOrdersMerge y, luego, seleccione Propiedades.
A. Seleccione la página Particiones de datos y seleccione Agregar.
B. En el cuadro de diálogo Agregar partición de datos, escriba adventureworks\pamela0 en el cuadro Valor de HOST_NAME y, después,
seleccione Aceptar.
c. Seleccione la partición agregada recientemente, elija Generar instantáneas
seleccionadas ahora y, después, seleccione Aceptar.
Para obtener más información, vea:



Suscribirse a publicaciones
Crear una suscripción de extracción
Instantáneas para publicaciones de combinación con filtros con parámetros
Sincronizar la suscripción con la publicación de
mezcla
En esta sección, se iniciará el Agente de mezcla para inicializar la suscripción
mediante SQL Server Management Studio. Este procedimiento también se usa para
sincronizar con el publicador.
Iniciar la sincronización e inicializar la suscripción
1. Conéctese al suscriptor en SQL Server Management Studio.
2. Asegúrese de que el Agente SQL Server se está ejecutando. Si no lo está, haga
clic con el botón derecho en el Agente SQL Server desde el Explorador de
objetos y seleccione Iniciar. Si esto no inicia el agente, deberá hacerlo
manualmente mediante el Administrador de configuración de SQL Server.
3. Expanda el nodo Replicación. En la carpeta Suscripciones locales, haga clic
con el botón derecho en la suscripción de la base de
datos SalesOrdersReplica y, después, seleccione Ver estado de
sincronización.
Seleccione Iniciar para inicializar la suscripción.
Pasos siguientes
Ha configurado correctamente el publicador y el suscriptor para la replicación de
mezcla. También puede:
1. Insertar, actualizar o eliminar datos en la
tabla SalesOrderHeader o SalesOrderDetail en el publicador o el suscriptor.
2. Repetir este procedimiento cuando la conectividad de red esté disponible
para sincronizar los datos entre el publicador y el suscriptor.
3. Consultar la tabla SalesOrderHeader o SalesOrderDetail en el otro servidor
para ver los cambios replicados.
Para obtener más información, vea:



Inicializar una suscripción con una instantánea
Sincronizar datos
Sincronizar una suscripción de extracción
Fuente:
https://docs.microsoft.com/es-es/sql/relational-databases/replication/tutorial-preparing-theserver-for-replication?view=sql-server-ver15
Descargar