Configurar trabajos de SQL en SQL Server usando T-SQL

En este artículo, aprenderemos cómo configurar trabajos de SQL en SQL Server usando T-SQL. Además, discutiremos los parámetros de los trabajos SQL en SQL Server usando T-SQL en detalle. Discutámoslo uno por uno.

Introducción:
el Agente SQL Server es un componente utilizado para la automatización de tareas de bases de datos. Por ejemplo, si necesitamos realizar el mantenimiento del índice en los servidores de producción solo durante el horario no comercial. Por lo tanto, creamos un trabajo de SQL Server para ejecutar el mantenimiento del índice y lo programamos para las horas «fuera». Cuando instalamos SQL Server, el Agente SQL Server está deshabilitado. Así que al principio lo habilitaremos y lo iniciaremos manualmente. Luego, configuraremos el trabajo de SQL Server utilizando SQL Server Management Studio y los procedimientos almacenados del sistema de la base de datos MSDB. Entonces, este artículo explica cómo crear un trabajo de SQL Server utilizando los procedimientos almacenados del sistema de la base de datos MSDB.

Procedimientos almacenados del sistema de la base de datos MSDB:
SQL Server utiliza los siguientes son los siguientes.

Consulta-1: sp_add_job:
el procedimiento es para crear un nuevo trabajo. Si tiene éxito, devuelve @job_id. Los siguientes argumentos son aplicables de la siguiente manera.

  • @job_name: 
    es un nombre de trabajo único.
  • @enabled: el 
    trabajo está habilitado o deshabilitado. Una vez que se crea un trabajo, puede establecer el valor del parámetro en 1 para habilitar el trabajo.
  • @notify_level_eventlog: 
    este parámetro se usa para escribir el estado del trabajo de SQL en el visor de eventos de Windows.
Valor                             Descripción
0 El resultado del trabajo no se escribirá en el registro de eventos.
1 Si el trabajo se ejecuta correctamente, el resultado se escribirá en el visor de eventos.
2 (valor predeterminado) Si el trabajo falla, el resultado y el mensaje de error se escribirán en el visor de eventos.
3 El resultado del trabajo se escribe en el visor de eventos.
  • @notify_level_email: 
    enviará el correo en función del resultado del trabajo. Los valores válidos del parámetro son los mismos que los valores del argumento @notify_level_eventlog.
  • @notify_level_page: 
    este parámetro sirve para enviar la notificación del buscapersonas del resultado del trabajo de SQL. Los valores válidos de los parámetros son los mismos que los valores del argumento @notiify_level_eventlog.
  • @delete_level: 
    este parámetro sirve para eliminar el trabajo una vez finalizado. En este caso, el valor del parámetro debe ser
  • Nota:
    el valor predeterminado es 0; entonces, no eliminará el trabajo después de completarlo.
  • @category_level: 
    este parámetro indica los valores de la categoría de trabajo. El valor predeterminado es Nulo.
  • @owner_login_name: 
    el valor es el nombre de dominio o el nombre de inicio de sesión de SQL del propietario del trabajo.

Consulta-2: Sp_add_jobserver: 
para la ejecución de trabajos de SQL, especifica el servidor de destino. Acepta los siguientes argumentos de la siguiente manera.

  • @job_id: 
    en el trabajo de SQL, identifica los valores únicos y es un IDENTIFICADOR ÚNICO. Su valor por defecto es NULL.
  • @job_name: 
    en el trabajo de SQL, este parámetro especifica el nombre del trabajo.
  • @server_name: 
    es el nombre del servidor donde desea ejecutar el trabajo de SQL. El valor del argumento predeterminado puede ser el servidor local (LOCAL) o el nombre de host del servidor de destino.

Consulta-3: sp_add_jobstep: 
este procedimiento almacenado funciona para agregar el paso de trabajo en SQL Job. Los procedimientos utilizan los siguientes argumentos de la siguiente manera.

  • @job_name: 
    el nombre del trabajo en el que está agregando el paso. Es un SYSNAME con NULL como valor predeterminado.
  • @step_name: 
    el nombre del paso. Es un SYSYNAME con NULL como valor predeterminado.
  • @step_id: 
    el ID secuencial del paso del trabajo. Es un número incremental sin espacio. Es un valor INT y el valor predeterminado es NULL.
  • @cmdexec_success_code: 
    el subsistema CmdExec devuelve este valor. Indica si la ejecución del comando fue exitosa. El código es valor int con 0 como valor predeterminado.
  • @on_success_action: 
    este valor indica la acción que se debe realizar después de que el paso del trabajo se complete correctamente. Los valores pueden ser cualquiera de los siguientes:
Valor Descripción
1 Dejar el trabajo y volver al éxito.   
2 Salir del trabajo y volver fallado.
3 Ir al siguiente paso del trabajo
4 Vaya a la identificación del paso de on_success_step_id
  • @on_fail_action: 
    especifique qué acción se realizará si fallan los pasos del trabajo. Es un valor INT y el valor predeterminado es NULL.
  • @retry_attempt: 
    especifique el número de reintentos después del error del paso del trabajo. Es un valor INT y el valor predeterminado es NULL.
  • @retry_interval: establezca 
    el intervalo de tiempo entre dos intentos de error de paso de trabajo de SQL. Es un valor INT y el valor predeterminado es NULL.
  • @Subsystem: 
    especifique el nombre del subsistema utilizado por el Agente SQL Server para ejecutar el comando. Los valores válidos son los siguientes:
Valor del subsistema               Descripción
Archivo CmdExec (*.exe,*.bat) Comando del sistema operativo o el ejecutable
ANÁLISISCONSULTA            Consultas del servicio de análisis de SQL Server, por ejemplo, MDX, DMX
CONSULTA DE ANÁLISIS           Comando del servicio de análisis de SQL Server, por ejemplo, XMLA.
SSIS                    Paquete de servicio de integración de SQL Server.
Potencia Shell                     Comando de PowerShell en el script.
T-SQL                         Consulta T-SQL o procedimiento almacenado
Distribución                  Agente distribuidor de replicación de SQL Server.
Instantánea                 Agente de instantáneas de replicación de SQL Server.
Lector de registro                Agente de lectura del registro de replicación de SQL Server.
QueueReader           Lector de cola de replicación de SQL Server.
  • @command: 
    especifique el comando que el servicio del Agente SQL Server debe ejecutar a través del subsistema. El tipo de datos es varchar(max) y el valor predeterminado es NULL.
  • @Database_name: 
    especifique el nombre de la base de datos donde desea ejecutar el comando. Este parámetro es útil cuando ejecuta un script T-SQL con el Agente SQL Server.

Query-4:Sp_add_jobschedule: 
los procedimientos almacenados sirven para crear la programación del trabajo SQL. Este procedimiento utiliza los siguientes argumentos de la siguiente manera.

  • @job_name:
    especifique el nombre del trabajo de SQL. La programación se realizará para el trabajo de SQL especificado en el argumento @job_name.
  • @name – 
    Nombre del horario. El tipo de datos es varchar y el valor predeterminado es NULL.
  • @enabled: establezca 
    1 para habilitar el horario o 0 para deshabilitar el horario.
  • @freq_types: 
    indica el tiempo de ejecución del trabajo SQL. El tipo de datos del parámetro es INT y el valor predeterminado es 0. Los valores válidos son cualquiera de los siguientes :
Valor Descripción
1 El TRABAJO se ejecutará una sola vez.
4 Diariamente
8  Semanalmente
dieciséis Mensual
64 Ejecuta el trabajo cuando se inician los servicios del Agente SQL Server.
128 Ejecute el trabajo de SQL cuando el servidor esté inactivo.
  • @freq_interval: 
    indica el día de la ejecución del trabajo SQL. El tipo de datos es INT y el valor predeterminado es 0. El valor depende del valor especificado en el parámetro @freq_type. Los valores válidos son cualquiera de los siguientes:
Valor Efecto en el horario de trabajo
1 (una vez) No se utilizará @Freq_interval .
4 (Diario) Cada @freq_interval días
8

 El valor de @Freq_interval puede ser cualquiera de los siguientes de la siguiente manera.

                          1=domingo

                          2=lunes

                          4=martes

                          8=miércoles

                          16=jueves

                          32= viernes

                          64= sábado

dieciséis Ejecute el trabajo el día @Freq_interval del mes
64 No se utilizará @Freq_interval  .
128 No se utilizará @Freq_interval .
  • @freq_subday_type: 
    especifique la unidad de freq_subday_interval. El tipo de datos es INT y el valor predeterminado es NULL.
  • @active_start_date: establezca 
    la fecha en la que desea iniciar la ejecución del trabajo. El tipo de datos es INT y no tiene un valor predeterminado. El formato de fecha es AAMMDD. El valor debe ser mayor o igual que 19900101.
  • @active_end_date: 
    especifique la fecha en la que detener la ejecución del trabajo. El tipo de datos es INT, sin valor predeterminado. El formato de fecha es AAMMDD y el valor debe ser mayor o igual que 19900101.
  • @active_start_time: 
    especifique la hora a la que desea iniciar la ejecución del trabajo. El tipo de datos es INT, sin un valor predeterminado. El formato de hora es HHMMSS.
  • @active_end_time: 
    especifique la hora a la que desea detener la ejecución del trabajo. El tipo de datos es INT, sin un valor predeterminado. El formato de hora es HHMMSS.

Publicación traducida automáticamente

Artículo escrito por akashpandit1103 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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