Daniel Calbimonte

Cómo ejecutar trabajos en múltiples SQL Servers

October 2, 2016 by

Introducción

En el capítulo anterior explicamos cómo correr consultas en múltiples SQL Servers usando SQL Central Management Server. En este nuevo capítulo, mostraremos cómo propagar un trabajo desde SQL Server Master Agent Job a un servidor destino.

Esta característica es llamada Administración Multiservidor. En una administración multiservidor, usted necesita un Servidor Maestro y uno o más servidores destino. En el servidor maestro, usted crea una copia del trabajo y entonces es copiado y ejecutado en los servidores destino.

Los trabajos están programados para correr y ser ejecutados en cada Servidor Destino.

Requerimientos

  • SQL Server instalado (2 SQL Servers o 2 Instancias SQL Server).
  • 2 SQL Server Agents corriendo.

Iniciando

  1. Abra regedit para editar el registro de Windows y cambiar el registro \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\<instance_name>\SQL Server Agent\AllowDownloadedJobsToMatchProxyName a 1 en los servidores maestro y destino.


    Figura 1. Registro

  2. En SQL Server Management Studio vaya a SQL Server Agent, haga clic derecho y seleccione Multi Server Administration y seleccione la opción Make this a Master option.


    Figura 2. La opción Multi Server

  3. El asistente para crear el servidor maestro será mostrado. Presione Next.


    Figura 3. Asistente Master Server

  4. La siguiente ventana es Master Server Operator. El operador puede recibir notificación usando correo electrónico, dirección de buscapersonas o con una dirección de red. Especifique la dirección de su preferencia y presione Next.


    Figura 4. La dirección del operador

  5. En la ventana Target Server, seleccionaremos todos los servidores destino. En este ejemplo, tenemos sólo un servidor destino, pero en la vida real, puede que tengamos muchos. Presione el botón Add connection para añadir un nuevo servidor destino.


    Figura 5. Servidores Destino

  6. Conéctese al SQL Server que será usado como Servidor Destino.


    Figura 6. Información de conexión

  7. Si todo está bien, usted recibirá un mensaje de éxito relacionado a la compatibilidad entre los 2 servidores.


    Figura 7. Revisión de Compatibilidad de Servidores

  8. Usted puede revisar el reporte, grabar el reporte en un archivo, en el portapapeles o enviarlo por correo electrónico. En este ejemplo, seleccionaremos la primera opción.


    Figura 8. Opciones de reporte

  9. En esta opción, el reporte mostrará el resultado acerca de la compatibilidad de versiones entre los servidores maestro y destino.


    Figura 9. Reporte de Compatibilidad

  10. Cuando usted finaliza el Asistente, el MXOperator (el operador del servidor maestro) será creado. El segundo paso es la verificación de que SQL Agent está corriendo, y luego la verificación del inicio de la cuenta del agente en el servidor destino. Finalmente, el servidor destino es listado en el servidor maestro.


    Figura 10. Las acciones para listar el servidor destino y crear el MSX Operator

  11. Usted notará que en el Servidor Maestro dice (MSX). Significa que es un Servidor Maestro. Haga clic derecho y seleccione la opción New Job.


    Figura 11. Creando un nuevo trabajo

  12. Crearemos una copia de seguridad en el servidor destino. Si usted tiene muchos servidores destino, la copia de seguridad será creada en todos ellos.
  13. La creación del trabajo será similar a los trabajos locales. Usted sólo necesita un nombre y opcionalmente una descripción.


    Figura 12. Creando una copia de seguridad

  14. Vaya a la página Steps y haga clic en el botón New para crear un nuevo trabajo.


    Figura 13. Creando nuevos pasos

  15. Especifique el nombre y el comando. En este ejemplo, estamos respaldando una base de datos llamada db2 en el archivo db2.bak. Usted puede modificar las sentencias T-SQL a sus propias necesidades:

    BACKUP DATABASE [db2] TO DISK = N’C:\Backup\db2.bak’ WITH NO FORMAT
    GO


    Figura 14. El paso para crear copias de seguridad

  16. Esta es la sección clave, vaya a la página Targets y seleccione los múltiples servidores destino donde usted desea correr el trabajo. En este ejemplo, tenemos un servidor destino. Seleccione la opción Target multiple servers y seleccione los servidores donde usted desea correr el trabajo.


    Figura 15. Seleccionando servidores destino

  17. Como puede ver, e trabajo fue creado en una carpeta llamada Multi-Server Jobs. Haga clic derecho y seleccione Start Job at Step.


    Figura 16. Start Job at Step

  18. Si todo está bien, usted recibirá un mensaje de éxito de que el trabajo fue publicado remotamente para su ejecución.


    Figura 17. Mensaje de éxito de ejecución

  19. Una nueva copia de seguridad será creada en el servidor destino. Como puede ver, trabajar con servidores maestro y destino es un proceso fácil.


    Figura 18. La copia de seguridad SQL Server creada.

Algunos problemas comunes

Un problema muy común cuando está creando un servidor destino (paso 10) es el siguiente mensaje:


Figura 19. Mensaje de Error cuando el servidor destino es creado

Este error está relacionado a la encriptación entre los servidores maestro y destino.

Si usted obtiene este error, verifique que el registro
\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\<instance_name>\SQL Server Agent\MsxEncryptChannelOptions es igual en los servidores maestro y destino. SI no lo es, modifique los registros. Este registro controla la encriptación entre los servidores maestro y destino. El valor 0 significa no encriptación. 1 significa encriptar sin un certificado y 2 con un certificado.


Figura 20. El registro MsxEncryptChannelOptions

Algunas opciones administrativas

En el servidor maestro (MSX), es posible administrar la configuración Multi Server. Haga clic derecho en SQL Server Agent en Multi Server Administration, seleccione Manage Target Servers.


Figura 21. Multi Server Administration

La pestaña de estado del servidor destino muestra la lista de los servidores destino, el tiempo local

(Los datos y el tiempo en el servidor destino en el tiempo local) y la última vez que el servidor destino sondeó el maestro.

El botón Force Poll fuerza el sondeo del servidor destino seleccionado al servidor maestro. EL botón Force Defection permite desertar el servidor destino y el botón Post Instruction permite enviar instrucciones.


Figura 22. El estado del servidor destino

La pestaña Download Instructions muestra las operaciones enviadas a los servidores destino, especificando Object Name, Date Posted y Date Downloaded.


Figura 23. La pestaña Download Instructions

Cuando un proxy es requerido

Si un proxy es necesario, usted necesitará crear una credencial y luego asociarla con el proxy. Asegúrese de que el nombre del proxy es el mismo en los servidores Maestro y Destino.

Cómo remover el servidor destino

La opción para remover el servidor destino de Multi-Server. Usted puede hacer eso en el servidor destino.

Vaya a SQL Server Agent, haga clic derecho y seleccione Multi Server Administration;Defect


Figura 24. Desertar el sistema Multi-Server

Conclusión

Como puede ver, crear un servidor maestro y servidores destino es un proceso sencillo. Una vez configurado, usted puede enviar trabajo a múltiples servidores al mismo tiempo.

Referencias

Para más información acerca de los servidores Maestro y Destino, consulte los siguientes enlaces:

Algunos procedimientos almacenados útiles:

Algunas vistas de sistema útiles:

Daniel Calbimonte

Daniel Calbimonte

Daniel Calbimonte es un Microsoft Most Valuable Professional, Microsoft Certified Trainer y Microsoft Certified IT Professional en SQL Server. He is an accomplished SSIS author, Intructor en academias de IT y tienedécadas de experience trabajando con diferentes bases de datos.

Realizó consultorias para empresas gubernamentales, empresas petroleras, sitios web, revistas y universidades alrededor del mundo. Daniel participa regularmente en conferencias de SQL Server y blogs. Escribe material sobre SQL Server y exámenes de certificación.

También realiza la traducción de artículos de SQLShack al español

Ver todas las publicaciones de Daniel Calbimonte
Daniel Calbimonte
1,794 Views