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