www.juliobattisti.com.br
Windows Vista - Curso Completo - 1476 páginas Windows Server 2003 - Curso Completo SQL Server 2005 - Curso Completo 1500 Tutoriais de Informática Windows Vista - Curso Completo - 1476 páginas Curso Completo de Access Certificações Microsoft
Cursos de Informática Cursos Disponíveis Cursos Online Com Certificado Como Comprar?
 Você está aqui: Principal > Artigos > Windows
  :: Autor: Rodrigo Crespi   :: Site:     www.crespi.pro.br/
  :: Data:  20/01/2006   :: e-mail: rodrigo@crespi.pro.br
Mais Artigos e Tutoriais Cursos de Informática Cursos Indicados Livros Relacionados
JOB no SQL Server

Introdução

O JOB é uma forma de auxiliar na manutenção com tarefas que devem ser executadas diversas vezes iguais ou em uma determinada data em especial sem precisar da intervenção do DBA, por exemplo, a desfragmentação de uma tabela no domingo. Como no domingo ninguém estará na empresa pode-se agendar o trabalho para ser executado nesse período.

Os JOBs podem ser criados de duas formas ou através do Enterprise manager ou por T-SQL, neste artigo vou mostrar duas formas que poderemos utilizar para criarmos um JOB.

Necessitamos que o serviço agente do SQL Server seja inicializado (SQLSERVERAGENT), para iniciar este serviço podemos procurá-lo na janela services ou iniciar através do SQL Service Manager. Também deveremos ter certeza que existe instalado no nosso servidor um banco de dados chamado MSDB, que é o banco utilizado pelo SQL Server para controlar os JOBs.

Nosso primeiro JOB

Vou começar explicando como criar um JOB de backup completo que irá ser executado de segunda a sexta as 23hr da noite, esse tipo de JOB é importante e muito utilizado, afinal todo DBA que se preza tem um bom plano de backup de dados. E a melhor maneira de planejar um backup é utilizando os JOBs.

Definido o objetivo do nosso JOB, devemos agora decidir como criar o JOB. Por interface gráfica com o Enterprise manager ou por T-SQL com o auxilio de uma serie de comandos. Neste artigo vou explicar as duas maneiras, vejamos por primeiro como criar o JOB através do Enterprise manager.

Enterprise manager

No Enterprise Manager clique com o botão direito do mouse sobre o ícone do servidor na tree, vá até novo e selecione a opção JOB, a tela que segue é para criarmos o JOB. Veja abaixo:

Abaixo a definição de cada campo da guia General:

  • Name: define o nome que daremos ao nosso JOB, no caso do nosso exemplo: “Backup do Banco Pubs”;
  • Category: define um rótulo para o JOB, porém não influencia em nada na execução do mesmo;
  • Owner: é o usuário dono do JOB;
  • Description: descrição que daremos para esse JOB.

Na guia Steps, é aonde iremos definir os passos do nosso JOB.

 

Clique em New e abrirá uma tela como a que segue abaixo:

Nesta janela iremos definir os seguintes campos:

  • Step name: nome do passo que estamos trabalhando, nomeie para Backup do banco de dados pubs;
  • Type: é o tipo de passo que estamos trabalhando, selecione a opção TSQL;
  • Database: o banco de dados em que o JOB será rodado selecione o banco Master;
  • Command: o comando que o JOB irá rodar, como vamos fazer um backup, primeiro crie um device chamado Pubs_BKP, e inclua a linha de comando abaixo no campo Command.

BACKUP DATABASE Pubs TO Pubs_BKP

Para verificar como esta o nosso JOB, de uma olhada na imagem abaixo, agora é só confirmar. E iremos para a próxima guia, Schedules. Esta guia permite criar-mos o agendamento do nosso JOB. Para isso clique em New Schedule e veja a tela que segue:


 
No campo Name definiremos o nome para o nosso agendamento, selecionamos a opção Recurring, e o botão Change, que irá abrir a tela aonde selecionaremos o período do agendamento.

Veja a tela abaixo, nela temos a opção de selecionar se o nosso agendamento que poderá ser diário, semanal ou mensal. Selecionaremos semanal (Weekly) e marcando os dias de segunda a sexta, indique o horário que o JOB irá ser executado também e é só confirmar a configuração com o OK.

Isso ira criar e configurar o JOB de backup do banco pubs para ocorrer todos os dias de segunda a sexta-feira, no horário das 23:00 horas.

T-SQL 

É fácil criar um JOB usando o Enterprise manager, mas se é tão fácil por que utilizar comandos t-SQL para criar um JOB? Por vários motivos, dentre eles vou citar dois que aconteceram comigo e eu tive que resolver desta forma:

  • Em uma aplicação, eu tinha como escopo de um projeto criar um agendamento de backup, e para não criar um novo agente para rodar o backup e consumir mais recursos do hardware, encapsulei o script t-SQL no meu código e permiti a concatenação das strings de parâmetros. Criando assim um JOB personalizado no servidor pelo usuário da minha aplicação;
  • Outra situação que talvez seja até muito mais comum, é que podemos estar utilizando um servidor MSDE ao invés do um servido SQL Server, o que não nos permite por licença utilizar o Enterprise Manager;

Então vamos ao código necessário para criar esse JOB no nosso servidor. Abaixo está o código na integra,  devidamente comentado e para entendê-lo basta conferir com os passos da criação de um JOB através do Enterprise Manager.

É só copiar e rodar este script, ele irá criar um JOB igual ao criado pelo Enterprise Manager.

Facilidades
 
Mas, poderá o caro leitor se questionar como aprender a criar scripts tão bons e úteis como esse? Se você estiver utilizando o MSDE, terá que aprender com muita experiência e muito estudo, mas, se você estiver usando o SQL Server fica fácil, pois o Enterprise Manager tem um recurso espetacular que é o de criar o script a partir de um objeto existente. Esse recurso está presente em quase todos os objetos.

Clique com o botão direito sobre o JOB criado e clique em:

  • Todas as tarefas, lá você encontrará a opção: Generate Script, essa opção irá criar um script igual ao que vimos anteriormente;

Na tela Generate SQL Script, podemos especificar o arquivo de destino ou visualizar o script.

Testando

Para fazer um Job funcionar no SQL Server nos devemos lembrar de iniciar o serviço do agente do SQL Server, chamado: msserveragent, vamos em Painel de controle/Ferramentas administrativas/Serviços, agora vamos procurar pelo serviço SQLSERVERAGENT, clique com o botão direito sobre o serviço e clique em iniciar.

Agora com nosso serviço iniciado vamos ao Enterprise Manager e executar o JOB, para isso siga a ordem de cliques da imagem abaixo, e em seguida no painel a direita aparecerá o nosso JOB.

Sobre o item clique com o botão direito e clique em Start para iniciar o JOB, com algumas exceções não aparecerá mensagem, e para verificar se realmente o JOB foi iniciado com sucesso, clique novamente com o botão direito sobre o JOB e clique na opção View Job History.

O View Job History mostra uma tela com o histórico de execuções do nosso JOB, indicações de erros e sucesso. Poderíamos também solicitar ao SQL Server para enviar um e-mail notificando o sucesso ou não do JOB.

Podemos conseguir informações de JOBs através de T-SQL dando um SELECT nas tabelas SYSJOBHISTORY e SYSJOBS do banco de dados MSDB.


Use MSDB
GO
select * from dbo.sysjobhistory
select * from dbo.sysjobs

Temos uma maneira mais fácil usando T-SQL que é chamar a STORED PROCEDURE SP_HELP_JOBHISTORY. Veja abaixo um exemplo de como utilizar essa stored procedure.


USE MSDB
GO
EXEC sp_help_jobhistory null, 'Backup do Banco Pubs'

Conclusão

Os JOBs são extremamente úteis para um bom administrador de banco de dados, eliminando algumas tarefas rotineiras que iriam tomar o tempo e a atenção do DBA.

Além disso, vimos como é fácil criar, acompanhar e administrar um JOB no SQL Server e no MSDE.

Web site: www.crespi.pro.br

email: rodrigo@crespi.pro.br



CURSO EM FORMATO DE VÍDEO-AULA
EXEMPLOS PRÁTICOS PASSO A PASSO COM SOM E IMAGEM
Clique no curso para informações detalhadas
Curso Duração Mais informações
DVD - Conversão de Formatos Digitais: Áudio e Vídeo 1 h 26 min Clique aqui
DVD - Curso de Oratória - Falando em Público sem Medo 33 min Clique aqui
Vídeo-Aula - Access 2007 Básico 2 h 1 min Clique aqui
Vídeo-Aula - Aprenda a Criar uma Agenda Telefônica no Excel 40 min Clique aqui
Vídeo-aula - Concursos: Inglês ESAF - Simulados e Provas Comentadas 2 h Clique aqui
Vídeo-Aula - Criação de Sites - Curso Básico 2 h 53 min Clique aqui
Vídeo-Aula - Curso Autocad 2D 4 h Clique aqui
Vídeo-Aula - Curso Autocad 3D 3 h 45 min Clique aqui
Vídeo-Aula - Curso Avançado de Access 2003 2 h 48 min Clique aqui
Vídeo-Aula - Curso Avançado de Excel 2003 3 h 41 min Clique aqui
Vídeo-Aula - Curso Avançado de Word 2003 1 h 34 min Clique aqui
Vídeo-Aula - Curso Básico de Access 2003 2 h 49 min Clique aqui
Vídeo-Aula - Curso Básico de Excel 2003 3 h 3 min Clique aqui
Vídeo-Aula - Curso Básico de PowerPoint 2003 2 h 22 min Clique aqui
Vídeo-Aula - Curso Básico de Windows XP 2 h 36 min Clique aqui
Vídeo-Aula - Curso Básico de Word 2003 2 h 14 min Clique aqui
Vídeo-Aula - Curso de Microinformática Prática 4 h 35 min Clique aqui
Vídeo-Aula - Curso de Teoria Musical 2 h 50 min Clique aqui
Vídeo-Aula - Curso Prático de Internet 40 min Clique aqui
Vídeo-Aula - Curso Profissional Photoshop 4 h 20 min Clique aqui
Vídeo-Aula - Excel 2007 - Curso Avançado 2 h 30 min Clique aqui
Vídeo-Aula - Excel 2007 - Curso Básico 2 h 35 min Clique aqui
Vídeo-Aula - Excel Para Concursos - Simulados e Provas Comentadas 2 h Clique aqui
Vídeo-Aula - Flash CS3 - Básico e Prático 4 h 45 min Clique aqui
Vídeo-Aula - Flash MX - Curso Básico 2 h 26 min Clique aqui
Vídeo-Aula - Fórmulas e Funções Matriciais no Excel 2 h 30 min Clique aqui
Vídeo-Aula - HTML - Curso Prático 2 h 40 min Clique aqui
Vídeo-Aula - Lógica de Programação - Curso Completo 22 h 15 min Clique aqui
Vídeo-Aula - Matemática Financeira - Teoria e Prática 9 h 10 min Clique aqui
Vídeo-Aula - Outlook Express – Curso Prático 55 min Clique aqui
Vídeo-Aula - PHP + HTML + CSS - Curso Completo 27 h 35 min Clique aqui
Vídeo-Aula - Programação VBA no Excel 2 h 54 min Clique aqui
Vídeo-Aula - Tudo Sobre Gráficos no Excel 9 h Clique aqui
Vídeo-Aula - Windows XP Básico + Intermediário + Dicas Práticas 8 h Clique aqui
Vídeo-Aula - Word 2007 - Curso Básico 2 h 23 min Clique aqui
Vídeo-Aula interativa: Tudo Sobre Tabelas Dinâmicas no Excel 2003 2 h 30 min Clique aqui
LIVROS CAMPEÕES DE VENDA NO SITE
Dossiê Hacker
Universidade Project
Loja de Livros