ver una teclas teclado saber resultados resultado rapidas query que por los esta enviar ejecutando ejecucion consultas consulta como automáticamente atajos sql sql-server database sql-server-2008 sql-job

una - ver consultas en ejecucion sql server



¿Cómo programar un trabajo para que la consulta SQL se ejecute diariamente? (6)

Necesito saber cómo hacer que una consulta sql se ejecute diariamente utilizando trabajos de agente de servidor sql con la configuración de configuración mínima requerida.


  1. Expanda el nodo Agente de SQL Server y haga clic con el botón secundario en el nodo Trabajos en el Agente SQL Server y seleccione ''New Job''

  2. En la ventana ''New Job'' , ingrese el nombre del trabajo y una descripción en la pestaña ''General'' .

  3. Seleccione ''Steps'' en el lado izquierdo de la ventana y haga clic en ''New'' en la parte inferior.

  4. En la ventana ''Steps'' , ingrese el nombre de un paso y seleccione la base de datos con la que desea ejecutar la consulta.

  5. Pegue en el comando T-SQL que desea ejecutar en la ventana de comandos y haga clic en ''OK'' .

  6. Haga clic en el menú ''Schedule'' a la izquierda de la ventana Nuevo trabajo e ingrese la información de la programación (p. Ej., Diariamente y una hora).

  7. Haga clic en ''OK'' , y así debería ser.

(Por supuesto, hay otras opciones que puede agregar, pero yo diría que es lo mínimo que necesita para configurar un trabajo y programarlo)


Aquí hay un código de muestra:

Exec sp_add_schedule @schedule_name = N''SchedulName'' @freq_type = 1 @active_start_time = 08300


Hice un GIF animado de los pasos en la respuesta aceptada. Esto es de MSSQL Server 2012


Para hacer esto en t-sql, puede usar los siguientes procedimientos almacenados del sistema para programar un trabajo diario. Este ejemplo programa diariamente a la 1:00 a.m. Consulte la ayuda de Microsoft para obtener detalles sobre la sintaxis de los procedimientos almacenados individuales y el rango válido de parámetros.

DECLARE @job_name NVARCHAR(128), @description NVARCHAR(512), @owner_login_name NVARCHAR(128), @database_name NVARCHAR(128); SET @job_name = N''Some Title''; SET @description = N''Periodically do something''; SET @owner_login_name = N''login''; SET @database_name = N''Database_Name''; -- Delete job if it already exists: IF EXISTS(SELECT job_id FROM msdb.dbo.sysjobs WHERE (name = @job_name)) BEGIN EXEC msdb.dbo.sp_delete_job @job_name = @job_name; END -- Create the job: EXEC msdb.dbo.sp_add_job @job_name=@job_name, @enabled=1, @notify_level_eventlog=0, @notify_level_email=2, @notify_level_netsend=2, @notify_level_page=2, @delete_level=0, @description=@description, @category_name=N''[Uncategorized (Local)]'', @owner_login_name=@owner_login_name; -- Add server: EXEC msdb.dbo.sp_add_jobserver @job_name=@job_name; -- Add step to execute SQL: EXEC msdb.dbo.sp_add_jobstep @job_name=@job_name, @step_name=N''Execute SQL'', @step_id=1, @cmdexec_success_code=0, @on_success_action=1, @on_fail_action=2, @retry_attempts=0, @retry_interval=0, @os_run_priority=0, @subsystem=N''TSQL'', @command=N''EXEC my_stored_procedure; -- OR ANY SQL STATEMENT'', @database_name=@database_name, @flags=0; -- Update job to set start step: EXEC msdb.dbo.sp_update_job @job_name=@job_name, @enabled=1, @start_step_id=1, @notify_level_eventlog=0, @notify_level_email=2, @notify_level_netsend=2, @notify_level_page=2, @delete_level=0, @description=@description, @category_name=N''[Uncategorized (Local)]'', @owner_login_name=@owner_login_name, @notify_email_operator_name=N'''', @notify_netsend_operator_name=N'''', @notify_page_operator_name=N''''; -- Schedule job: EXEC msdb.dbo.sp_add_jobschedule @job_name=@job_name, @name=N''Daily'', @enabled=1, @freq_type=4, @freq_interval=1, @freq_subday_type=1, @freq_subday_interval=0, @freq_relative_interval=0, @freq_recurrence_factor=1, @active_start_date=20170101, --YYYYMMDD @active_end_date=99991231, --YYYYMMDD (this represents no end date) @active_start_time=010000, --HHMMSS @active_end_time=235959; --HHMMSS


Usando T-SQL: Mi trabajo está ejecutando el procedimiento almacenado. Puede cambiar fácilmente @command para ejecutar su sql.

EXEC msdb.dbo.sp_add_job @job_name = N''MakeDailyJob'', @enabled = 1, @description = N''Procedure execution every day'' ; EXEC msdb.dbo.sp_add_jobstep @job_name = N''MakeDailyJob'', @step_name = N''Run Procedure'', @subsystem = N''TSQL'', @command = ''exec BackupFromConfig''; EXEC msdb.dbo.sp_add_schedule @schedule_name = N''Everyday schedule'', @freq_type = 4, -- daily start @active_start_time = ''230000'' ; -- start time 23:00:00 EXEC msdb.dbo.sp_attach_schedule @job_name = N''MakeDailyJob'', @schedule_name = N''Everyday schedule'' ;


si desea una copia de seguridad diaria // siguiendo el almacenamiento de scripts sql en C: / Users / admin / Desktop / DBScript / DBBackUpSQL.sql

DECLARE @pathName NVARCHAR(512), @databaseName NVARCHAR(512) SET @databaseName = ''Databasename'' SET @pathName = ''C:/DBBackup/DBData/DBBackUp'' + Convert(varchar(8), GETDATE(), 112) + ''_'' + Replace((Convert(varchar(8), GETDATE(), 108)),'':'',''-'')+ ''.bak'' BACKUP DATABASE @databaseName TO DISK = @pathName WITH NOFORMAT, INIT, NAME = N'''', SKIP, NOREWIND, NOUNLOAD, STATS = 10 GO

abra el programador de tareas

crear tarea-> seleccionar pestaña Triggers Seleccione New .

Botón Seleccionar botón de radio diario

haga clic en el botón Ok

luego Action clic en la pestaña Action Selecciona Nuevo.

Botón Poner "C:/Program Files/Microsoft SQL Server/100/Tools/Binn/SQLCMD.EXE" -S ADMIN-PC -i "C:/Users/admin/Desktop/DBScript/DBBackUpSQL.sql" en el programa / cuadro de texto del script (asegúrese de Coincidir con la ruta de sus archivos y Ponga el doble de la ruta citada en el cuadro de inicio-> búsqueda y, si lo encuentra, haga clic en él y verá que la copia de seguridad está allí o no)

- la ruta anterior puede estar insted 100 write 90 "C:/Program Files/Microsoft SQL Server/90/Tools/Binn/SQLCMD.EXE" -S ADMIN-PC -i "C:/Users/admin/Desktop/DBScript/DBBackUpSQL.sql"

luego haz clic en el botón Aceptar

el script se ejecutará a tiempo, que selecciona en la pestaña Trigger a diario

disfrútala.............