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