As procedures do SQL Server são executadas de forma simples e o comando admite a entrada dos parâmetros da procedure.

Exemplo de execução: exec dbo.cadastrar_contato 2344, 1, '02138604567'

Temos no exemplo acima a procedure "cadastrar_contato" com três parâmetros de entrada.

Problema:

Alguns procedures precisam ser executados de tempos em tempos, por exemplo: atualizar os dados de uma tabela para a extração de um relatório. Nesse caso, precisamos agendar a execução automática do procedure, com uma certa periodicidade. Como fazê-lo ?

Solução:

A solução desse problema é conhecido pelo famoso nome: criação de job.

Antes de mais nada é preciso saber que toda tarefa dentro do SQL Server é agendada através de um serviço do windows chamado SQL Server Agent, maiores explicações sobre o mesmo visite: Os serviços do SQL Server no ambiente Windows.

  1. Versão express do SQL Server

No SQL Server versões 2005 ou 2008, a versão express de ambas não possuem SQL Server Agent, tornando impossível o agendamento de tarefa de dentro do SQL Server, nesses casos, você deve criar o arquivo .sql, manter em uma pasta e executa-lo através de um arquivo .bat com o agendador de tarefas do windows.

1º passo: criamos o arquivo script.sql com a(s) linha(s) de comando chamando procedure(s). No nosso exemplo esse arquivo conteria 1 linha com o comando:

exec dbo.cadastrar_contato 2344, 1, '02138604567'

2º passo: criamos o arquivo script.bat com a(s) linha(s) de comando executando os scripts em sql. No nosso exemplo esse arquivo conteria 1 linha com o comando:

sqlcmd -S servidor\sqlexpress -i C:\temp\script.sql -o C:\temp\relatorio.txt

Onde:

servidor\sqlexpress >> servidor e instância de banco de dados;

Obs: esse comando será executado pelo usuário do Windows que possui também acesso ao banco de dados.

3º passo: criamos o agendamento e periodicidade de execução do arquivo script.bat, no agendador de tarefas do Windows do servidor de banco de dados.

 

  1. Versão profissional do SQL Server

Entre no SQL Server Agent, no gerenciador de objetos do banco de dados.

Clique no “+” no SQL Server Agent

 

Execute as ações contidas em:
https://fabrizziocaputo.wordpress.com/2011/09/01/sql-server-basico-4-agendando-um-job-no-sql-server/