Administrar y monitorear copias de seguridad de SQL Server desde una localización central

Introducción

Correr y mantener múltiples instancias de SQL Server puede ser a menudo un desafío formidable, especialmente si estas instancias corren e múltiples servidores. Es suficientemente fácil configurar un trabajo de SQL Server Agent para cada servidor para automatizar las copias de seguridad, pero ¿qué pasa si hay 20, 30 o 100 servidores que necesitan mantenimiento? En este escenario, configurar agentes en cada servidor tomaría demasiado tiempo, y monitorear la configuración entera sería una pesadilla para cualquier administrador. Por supuesto, Hay muchas soluciones para este escenario:

  1. Es posible configurar Central Management Server para definir grupos de servidores y añadir uno o más servidores a estos grupos. De esta forma, las sentencias T-SQL o políticas de administración basada en directivas podrían ser ejecutadas en todos los servidores registrados desde un Grupo de Servidores al mismo tiempo. El mayor defecto de CMS es el complejo monitoreo y l automatización limitada. Además, sólo la Autenticación de Windows está permitida al usar CMS.

  2. Usted podría crear un ambiente multiservidor. Si usa esta solución, el servidor Maestro (MSX) y uno o más servidores objetivo tienen que ser configurados usando SQL Server Agent. En esta configuración, los trabajos son inicialmente definidos en el servidor maestro. Los trabajos definidos luego son pasado y ejecutados en los servidores objetivo automáticamente. Los reportes acerca de los trabaron que corren en los servidores objetivo son mandados de vuelta al servidor maestro, lo cual hace el monitoreo mucho más fácil.

  3. Use ApexSQL Backup. Un software simple de usar con todas las características en un solo lugar. La interfaz de usuario, la base de datos del repositorio central y el Servicio Backup Agent de ApexSQL Backup son instalados en el servidor que es usado para la administración de respaldos y monitoreo. Conectándose a otros servidores usando ApexSQl Backup, la aplicación instala automáticamente el Servicio Backup Agent en los servidores conectados. Todos los servidores conectados son mostrados en la lista de servidores de aplicación. A través de esta aplicación, es posible administrar y monitorear copias de seguridad con facilidad, todo desde una sola máquina.

Servidor de Administración Central y Grupos de Servidores

Para esta configuración, usted tiene que instalar el Servidor de Administración Central (Central Management Server, CMS) primero. Usted no podrá administrar las bases de datos en este servidor usando la ejecución central de scripts o políticas PBM. Por lo tanto, la mejor práctica es usar una máquina que no requiere mantenimiento de base de datos como Servidor de Administración Central. El proceso entero consiste en unos pocos pasos básicos: crear el CMS, definir nuevos grupos de servidores y registrar nuevos servidores en estos grupos. Aquí están las instrucciones básicas para esta configuración usando SSMS:

  1. Ingrese al servidor que desea usar como CMS.

  2. Vaya al menú View y haga clic en Registered servers.

  3. En Object Explorer, conéctese a todos los servidores que desea incluir en esta configuración. Asegúrese de usar autenticación de Windows para todos ellos.

  4. Haga clic derecho en Central Management Servers, seleccione Register Central Management Server…

  5. En el campo Server name, seleccione el servidor que desea usar como CMS desde el menú desplegable. Opcionalmente, usted puede reemplazar el nombre del servidor registrado o añadir una descripción. Haga clic en el botón Test para asegurarse de que la conexión con el servidor funciona apropiadamente. Si usted obtiene el mensaje “The connection was tested successfully”, haga clic en el botón Save para completar el registro de CMS.

  6. Para crear los grupos de servidores, haga clic derecho en su CMS. Seleccione New Server Group…

  7. Especifique Group name y Group description (opcional).

  8. Repitiendo los pasos 6 y 7, usted puede añadir tantos grupos como necesite. En este artículo, 3 grupos son definidos: Production, Sales y Transport.

  9. Para añadir nuevos servidores a grupos de servidores definidos, haga clic derecho en el grupo de servidor y seleccione New server registration… desde el menú desplegable en Server names, seleccione uno de los servidores que desea añadir y añádalo al grupo. Ingrese el nombre del servidor registrado y la descripción si es necesario, pruebe la conexión con test y grabe los cambios con Save. Repitiendo este paso, servidores adicionales pueden ser registrados y ordenados entre grupos de servidores.

  10. Todos los tipos de consultas pueden ser corridas contra cualquiera de los grupos de servidores definidos, incluyendo consultas de copias de seguridad. Haciendo clic derecho en un grupo y seleccionando New query, usted puede definir la consulta que correrá contra todos los servidores en el grupo seleccionado. En este ejemplo, la consulta Backup corre contra todos los servidores del grupo Production. Los resultados de la consulta son mostrados en la pantalla inferior, en Messages.

  11. Una simple política PBM puede ser usada para monitorear el estado de las copias de seguridad. Cree la política que desea evaluar y córrala contra uno o todos los grupos de servidores.

Copias de seguridad en un ambiente multiservidor

Para crear un ambiente multiservidor, usted necesita asignar el servidor maestro (MSX) y añadir uno o más servidores objetivo (TSX) a él.

  1. Conéctese a la instancia de servidor que desea usar como servidor maestro.
  2. Haga clic derecho en SQL Server Agent, seleccione Multi Server Administration, y Make this a Master.

  3. La opción iniciará el asistente de configuración del servidor Maestro. En el primer paso del asistente, las direcciones para las notificaciones pueden ser: E-mail, Page o Net send address.

  4. El siguiente paso asigna los servidores objetivo. Todos los servidores registrados son mostrados a la izquierda. Cada uno de ellos puede ser usado como un servidor objetivo, simplemente añadiéndolo a la lista en la ventana derecha. Si usted desea añadir más servidores objetivo que aún no están en la lista, usted puede usar el botón Add connection. A diferencia de la configuración CMS, el ambiente multiservidor permite la autenticación de SQL Server cuando se añaden servidores objetivo a la lista.

  5. Después de que todos los servidores sean añadidos, el asistente revisa la compatibilidad entre los servidores maestro y objetivo. Si todos los procesos se completaron exitosamente, haga clic en Close.

  6. Opcionalmente, usted puede especificar un nuevo inicio de sesión (login) para usar cuando se conecte a los servidores objetivo.

  7. En el paso final, la lista de acciones pendientes es mostrada.

  8. El asistente ejecuta las acciones del paso previo, y si todo se completa exitosamente, haga clic en cerrar. Si obtiene un error, puede que necesita modificar la cuenta de inicio para el servidor objetivo, y otorgar permisos adicionales o crear una nueva cuenta. Yo también tuve la oportunidad de registrar el valor para MsxencryptChannelOptions de 2 (por defecto) a 0.

  9. Después de que la configuración del ambiente multiservidor se completa exitosamente, necesitamos crear trabajos de respaldo que correrán en los servidores objetivo. Para crear un nuevo trabajo, conéctese al servidor que es usado como MSX, expanda SQL Server Agent (MSX), haga clic derecho en Jobs y seleccione New job.

  10. En la ventana New Job, pestaña General, el nombre (Name), el propietario (Owner), la categoría (Category) y la descripción (Description) para el trabajo son especificados.

  11. En la pestaña Steps, cada paso del procedimiento necesita ser definido. Para añadir el primer paso, haga clic en New.

  12. Step name (nombre de paso), Type (tipo) y Command (comando) necesitan ser definidos para el paso. Para este paso, estamos usando el script T-SQL que respalda todas las bases de datos que no son del sistema en la carpeta C:\Backup\. Cuando esté hecho, haga clic en OK. Si pasos adicionales son necesarios para el trabajo, repita este paso hasta que el trabajo esté configurado de acuerdo a sus necesidades.

  13. Schedules (programas), Alerts (alertas) y Notifications (notificaciones) pueden ser especificados para el trabajo.
  14. Finalmente, en la pestaña Targets, seleccione el botón radial Target multiple servers, y marque las casillas frente a los servidores que necesitan ser respaldados. Haga clic en OK cuando termine.

  15. Para correr el trabajo creado, expanda SQL Server Agent (MSX) y Jobs. Haga clic derecho en cualquier trabajo que necesita ser hecho y seleccione Start Job at Step.

  16. Si todo es hecho apropiadamente, el trabajo ejecutará todos los pasos definidos y mostrará el mensaje de éxito.

ApexSQL Backup

ApexSQL Backup es una aplicación de software de terceros, que puede ser usada para administrar múltiples copias de seguridad a través de cualquier número de servidores. Soporta autenticación de Windows y SQL Server. La aplicación consiste en tres componentes principales: La Interfaz de Usuario, la Base de Datos de Repositorio Central y un servicio de agente. La interfaz de usuario es usada para manipular, programar y ejecutar trabajos; la base de datos de repositorio central es usada para almacenar los datos de información y configuración, y los servicios de agente sirven para la comunicación entre la interfaz de usuario, la base de datos de repositorio central y las instancias de SQL Server. Para instalar ApexSQL Backup, realice los siguientes pasos:

  1. El instalador puede ser descargado aqui.

  2. Ejecute el instalador, seleccione Install ApexSQL Backup y haga clic en Next.

  3. Acepte el Acuerdo de Licencia y haga clic en Next.

  4. Especifique la ruta de instalación para ApexSQl Backup.

  5. Complete la configuración haciendo clic en el botón Close.

  6. Ejecutar ApexSQlL Backup por primera vez iniciará automáticamente la instalación de la base de datos de repositorio central. En este paso, podemos elegir el servidor que hospedará la base de datos de repositorio central de ApexSQL Backup. Esta puede ser instalada en un servidor local o en red.

  7. Usted también debería elegir el tipo de Inicio de Sesión para el servidor que hospedará la base de datos de repositorio central de ApexSQL Backup. Usted puede elegir Autenticación ya sea de Windows o de SQL Server, dependiendo del Inicio de Sesión que es usado para administrar este SQL Server. El Inicio de Sesión que es usado necesita tener privilegios administrativos en el servidor elegido. Es también recomendado usar Autenticación de SQL Server si planea administrar múltiples servidores que no pertenecen al mismo dominio. Haga clic en OK cuando termine.

  8. Para añadir servidores que desee administrar con la aplicación, haga clic en Add en la parte superior izquierda. Usted puede elegir servidores que desea añadir y especificar los Inicios de Sesión que usa para acceder a estos servidores. Es una buena práctica añadir primero el servidor que hospeda la base de datos de repositorio central de ApexSQL Backup.

  9. Añadir el primer servidor iniciará la instalación del agente de ApexSQL Backup inmediatamente. Usted debería especificar la cuenta de Windows que es usada para correr este servicio de Windows. Asegúrese de que la cuenta que es usada tiene un acceso completo a la carpeta C:\ProgramData\ApexSQL y a todos sus subcarpetas. Si C: no es la letra de su dispositvo en el sistema, refiérase a la letra correspondiente. ProgramData es una carpeta oculta por defecto, así que asegúrese de seleccionar “Show hidden files and folders” en Opciones de Carpeta si desea cambiar los permisos en esa carpeta. En el campo Username, ingrese la cuenta de usuario de Windows que usa en esta máquina. En el campo Password, provea la contraseña que usa para ingresar a Windows. Una contraseña vacía no es aceptable. En este ejemplo, una cuenta de usuario de dominio es usada.

  10. Si desea añadir servidores remotos a la lista, sólo haga clic en el botón Add en la parte superior izquierda. Elija el ícono a la derecha y seleccione el servidor que desea añadir de la lista. Elija el tipo de autenticación para el servidor. El Inicio de Sesión que es usado para acceder al servidor necesita tener permisos apropiados para respaldar y restaurar bases de datos en los servidores respectivos. Es mejor usar la autenticación de SQL Server para los servidores que están fuera del dominio.

  11. Cada vez que añade un servidor a una nueva máquina, este inicia la instalación del agente de ApexSQL Backup en esa máquina. Sólo un agente de ApexSQL Backup por máquina es instalado, y administra los respaldos de todos los servidores en esa máquina. La instalación del agente es la misma que en el paso 9. De esta manera, usted puede añadir tanto servidores a la lista como usted desee.

Después de que la configuración es terminada, podemos tratar de ejecutar algunas operaciones básicas usando la interfaz de usuario de la aplicación.

  1. Para realizar operaciones de respaldo, haga clic en el botón Backup en la parte superior izquierda.

  2. Esto iniciará el asistente de Copias de Seguridad. Usted puede especificar el SQL Server que será usado en la operación, las bases de datos exactas que desea respaldar, el tipo de respaldo y el componente de respaldo.

  3. En el siguiente paso del Asistente, los nombres y las reglas de descripción pueden ser especificadas. Una o más rutas de destino pueden ser definidas.

  4. En el paso Options, acciones adicionales pueden ser realizadas en las copias de seguridad de la base de datos, como verificación, compresión y encriptación.

  5. En el paso Schedule, usted puede decidir si desea ejecutar todas las acciones definidas inmediatamente, o si desea crear un programa y realizar las acciones definidas más tarde. El programa puede ser grabado y reutilizado, o puede ser configurado para ejecutarse automáticamente.

  6. En el paso final, todas las acciones ejecutadas son listadas.

  7. Hay muchas opciones implementadas en la herramienta que es usada para monitorear copias de seguridad:

    1. Usted puede rastrear todas las copias de seguridad realizadas con la opción Activities. Todas las actividades respecto a la base de datos, servidor o lista completa de servidores seleccionados son mostradas a la derecha.

    2. Todos los programas son mostrados en la opción Schedules. De nuevo, los programas pueden ser mostrados para todos los servidores, un solo servidor, o una sola base de datos. Hay también una opción para filtrar programas de acuerdo a acciones que son realizadas en este programa.

    3. La opción Backup history muestra los detalles de todas las copias de seguridad realizadas en la base de datos seleccionada.

    julio 7, 2017