fbpx

¿Qué es SQL Server Agent y para que nos sirve?

1. Introducción

SQL Server Agent es una de las herramientas poco conocidas o mas infravaloradas de SSMS(SQL Server Management Studio) pero no quiere decir que no sea una herramienta muy útil y poderosa.

Como desarrolladores de software, y en especial de Backend, tenemos la necesidad de que se ejecuten ciertos procesos nocturnos o en horas no productivas o en horas en donde no exista mucha interacción con usuarios como por ejemplo en paginas web globales en donde el horario no importa ya que siempre vamos a tener usuarios que estén interactuando con nuestra pagina web, esos podrían ser los escenarios mas comunes pero no necesariamente los únicos.

Ahí es donde entra SQL Server Agent que es donde podemos crear esos Jobs(y no es steve) tan necesarios para la ejecución de dichos procesos.

Aquí les voy a mostrar como crear y dejar programado un Job en SQL Server Agent, algo sencillo pero muy útil y poderoso.

2. Crear Job en SQL Server Agent

Lo primero es ejecutar nuestro SSMS y revisar que se este ejecutando el servicio mencionado.

sql server agent en ejecucion
SQL Server Agent en ejecución

Sobre el folder/carpeta Jobs y con el botón derecho del mouse seleccionar New Job

Crear New Job

3. Agregar los Datos Generales al Job

Enseguida nos va a pedir las características del Job como lo son: Nombre, los pasos a ejecutar, cada que se va a ejecutar ese Job, las alertas, las notificaciones, etc…

En esta pantalla se capturara el nombre del Job, el Propietario, la categoría y una descripción general de lo que hace el Job

Datos generales del Job

4. Agregar los Steps al Job

Enseguida seleccionamos la pagina llamada Steps en donde se van a capturar los Steps a ejecutar del Job y seleccionamos el botón de New, no olvidemos que un Job puede tener varios Steps

Una vez capturados todos los Steps procedemos a capturar el Schedules o programación de Job, que es cuando, que días a que hora deseamos que se ejecute nuestro Job, recordemos que solo nosotros sabemos o debemos de saber que tiene que hacer el Job por que solo nosotros como programadores de Backend sabemos como esta construida la lógica del negocio, aunque en algunas ocasiones los DBA(DataBase Administrator) también realizan cierto tipos de tareas pero son mas de mantenimiento sobre la Base de datos que sobre la lógica de programación del negocio, todo depende de que es lo que se quiera realizar con el Job.

5. Agregar el Schedule al Job

En el ejemplo que estamos viendo se trata de un Job que Ejecuta una lógica del negocio la cual no conoce un DBA(DataBase Administrator), ya en un ambiente productivo el solo nos ayudara a crearlo pero quizás no conocerá el detalle de el por que se esta ejecutando de esa manera, solo el programador de backend.

En la página de Schedules se captura el momento de ejecución de Job, no confundir con el concepto de si esta habilitado o no el Job, son dos cosas diferentes.

6. Agregar Alertas al Job

Esto sirve para informar a ciertos usuarios que proceso se ejecuto o se esta ejecutando si así se desea, inclusive errores de bases de datos.

7. Agregar Notificaciones al Job

Aquí se pueden agregar notificaciones de acuerdo al estado del Job, ya sea que se ejecute o termine de manera exitosa sin errores o que por algún motivo el Job se interrumpa por algún motivo.

Notificaciones del Job

No confundir la terminación del Job de manera exitosa con algún error en la ejecución de las instrucciones de los Steps.

Aquí vemos el Job ya creado y habilitado para su ejecución de acuerdo al Schedule en SQL Server Agent

Job ya creado y habilitado

Te recomiendo leer este otro articulo Cómo monitorear las ejecuciones de scripts sobre mi base de datos en Microsoft Sql Server con SQL Profiler otra herramienta muy poderosa e imprescindible para cualquier programador de Backend.

8. Conclusiones

Como podemos darnos cuenta casi podría salir un libro completo con la información que se muestra, pero el objetivo de este articulo es darles un panorama de por que existen los Jobs y para que nos sirven, las posibilidades son muchas, en realidad la utilidad de este servicio es muy amplia, nos puedes ayudar bastante con esos procesos tan necesarios a ejecutar en una aplicación de software, en lo personal como programador me han servido bastante, solo imaginen que procesos nocturnos se ejecutan en los bancos ¿Tienen una idea de cuantos son?

¿Te quedaste con alguna duda o conocías ya esta herramienta? coméntanoslo.

¿Necesitas ayuda con tu desarrollo de software o el marketing de tu negocio? No dudes en contactarnos

Halcón de cola roja como imagen del autor.

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

* *
*

Scroll al inicio