Inquiridor
Rodar comando SQL em determinado horário

Pergunta
-
Todas as Respostas
-
Boa tarde Rodolfo, entre no management studio do SQL Server vá em SQL Server Agent depois em Jobs, clique botão direito em New Job, ai é somente seguir os passos Primeiro coloque um nome para seu Job, depois vá em steps e coloque lá o seu Script, crie os schedules.
SDS.
-
-
Cara...
Você pode criar um arquivo .sql com as instruções que você deseja e executar através do utilitário sqlcmd. Então você pode agendar sua execução através do Schedule do próprio Windows.
http://msdn.microsoft.com/en-us/library/ms162773.aspx
Abx.
-
Rodolfo exemplo de criação de Jobs por Script, acha que isto vai lhe ajudar
USE
[msdb]GO
/****** Object: Job [Trunca LOG DBSEU] Script Date: 11/28/2008 12:33:44 ******/
BEGIN
TRANSACTIONDECLARE
@ReturnCode INTSELECT
@ReturnCode = 0/****** Object: JobCategory [[Uncategorized (Local)]]] Script Date: 11/28/2008 12:33:44 ******/
IF
NOT EXISTS (SELECT name FROM msdb.dbo.syscategories WHERE name=N'[Uncategorized (Local)]' AND category_class=1)BEGIN
EXEC
@ReturnCode = msdb.dbo.sp_add_category @class=N'JOB', @type=N'LOCAL', @name=N'[Uncategorized (Local)]'IF
(@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollbackEND
DECLARE
@jobId BINARY(16)EXEC
@ReturnCode = msdb.dbo.sp_add_job @job_name=N'Trunca LOG DBSEU',@enabled
=1,@notify_level_eventlog
=0,@notify_level_email
=0,@notify_level_netsend
=0,@notify_level_page
=0,@delete_level
=0,@description
=N'No description available.',@category_name
=N'[Uncategorized (Local)]',@owner_login_name
=N'sa', @job_id = @jobId OUTPUTIF
(@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback/****** Object: Step [1] Script Date: 11/28/2008 12:33:44 ******/
EXEC
@ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'1',@step_id
=1,@cmdexec_success_code
=0,@on_success_action
=3,@on_success_step_id
=0,@on_fail_action
=2,@on_fail_step_id
=0,@retry_attempts
=0,@retry_interval
=0,@os_run_priority
=0, @subsystem=N'TSQL',@command
=N'backup log DBSEU with truncate_only',@database_name
=N'DBSEU',@flags
=0IF
(@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback/****** Object: Step [2] Script Date: 11/28/2008 12:33:44 ******/
EXEC
@ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'2',@step_id
=2,@cmdexec_success_code
=0,@on_success_action
=1,@on_success_step_id
=0,@on_fail_action
=2,@on_fail_step_id
=0,@retry_attempts
=0,@retry_interval
=0,@os_run_priority
=0, @subsystem=N'TSQL',@command
=N'DBCC SHRINKDATABASE (DBSEU, 10)'
,@database_name
=N'DBSEU',@flags
=0IF
(@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollbackEXEC
@ReturnCode = msdb.dbo.sp_update_job @job_id = @jobId, @start_step_id = 1IF
(@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollbackEXEC
@ReturnCode = msdb.dbo.sp_add_jobschedule @job_id=@jobId, @name=N'Trunca LOG e Compacta Base SEU',@enabled
=1,@freq_type
=4,@freq_interval
=1,@freq_subday_type
=1,@freq_subday_interval
=0,@freq_relative_interval
=0,@freq_recurrence_factor
=0,@active_start_date
=20080828,@active_end_date
=99991231,@active_start_time
=131500,@active_end_time
=235959IF
(@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollbackEXEC
@ReturnCode = msdb.dbo.sp_add_jobserver @job_id = @jobId, @server_name = N'(local)'IF
(@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollbackCOMMIT
TRANSACTIONGOTO
EndSaveQuitWithRollback
: IF (@@TRANCOUNT > 0) ROLLBACK TRANSACTIONEndSave
:- Sugerido como Resposta Alexandre Aparecido André segunda-feira, 22 de junho de 2009 16:59