Esse artigo faz parte da revista SQL Magazine edição 66. Clique aqui para ler todos os artigos desta edição

rotinas, dentre outras.

Todas estas atividades demandam um determinado tempo para serem executadas. Por isso, é importante que o DBA automatize as tarefas rotineiras, para que seu tempo seja dedicado a tarefas que demandam um cuidado maior.

Para auxiliá-lo nesta atividade, ele poderá utilizar um serviço presente nas edições Workgroup, Standard e Enterprise do SQL Server 2005/2008 e na edição Web do SQL Server 2008, denominado SQL Server Agent. O papel deste serviço é controlar estas tarefas agendadas.

Este artigo tem como principal objetivo descrever as funcionalidades deste serviço, e explicar como proceder para criar tarefas agendadas dentro do SQL Server 2005/2008. Para alcançar tal objetivo, será seguido um estudo de caso simulando um ambiente onde será necessário automatizar algumas tarefas rotineiras.

 

Conhecendo os componentes SQL Server Agent

Quem já não utilizou o assistente de tarefas agendadas do Windows para automatizar a execução de algum processo na máquina, seja para realizar um backup nos documentos ou executar um determinado programa?

De forma semelhante, este mesmo processo pode ser executado através de um serviço disponibilizado pelo SQL Server 2005/2008, o SQL Server Agent. Este serviço permitirá que você automatize tarefas administrativas para os seus bancos de dados, sendo que este recurso chama suas tarefas pelo nome trabalho (Job).

O SQL Server Agent utiliza os seguintes componentes para a automatização destas tarefas:

 

·   Jobs (Trabalhos): um trabalho é uma série de ações especificadas pelo DBA e que serão executadas pelo SQL Server Agent. Ele pode conter uma ou mais etapas, por exemplo: 1ª etapa – realizar um backup; 2ª etapa – realizar um shrink (ver Nota DevMan 1). Um trabalho pode executar em um servidor local ou em vários servidores remotos, podendo ser executado das seguintes maneiras:

o  De acordo com uma ou mais agendas;

o  Em resposta um ou mais alertas;

o  Ao ser executada a Stored Procedure sp_start_job.

 

Nota DevMan 1. Shrink

Cada arquivo de um banco de dados pode ser reduzido para remover páginas inutilizadas. Embora o Database Engine vá reutilizar o espaço de maneira eficaz, há situações em que um arquivo não precisa ser tão grande quanto era no início, por exemplo, após a exclusão de uma grande quantidade de dados, poderá fazer com os arquivos ocupem um espaço que não está mais sendo utilizado, sendo necessário desta forma diminuir os arquivos manualmente ou automaticamente em intervalos específicos.

 

·   Schedules (Agenda): uma agenda especifica quando um trabalho será executado. Mais que um trabalho pode ser executado ao mesmo tempo, e mais de uma agenda pode ser aplicada ao mesmo trabalho. A agenda pode definir as seguintes condições para o momento em que o trabalho é executado:

o  Sempre que o SQL Server Agent for iniciado;

o  Sempre que a utilização da CPU do computador estiver em um nível que você tenha definido como ocioso;

o  Um momento, uma hora e data específica;

o  Em um calendário recorrente.

 

·   Alerts (Alertas): um alerta é uma resposta automática para um evento específico. Por exemplo, um evento pode ser um trabalho que começa sua execução ou recursos do sistema que atingem um determinado limite. O DBA definirá as condições em que um alerta ocorrerá. Os alertas podem responder a uma das seguintes condições:

o  Eventos do SQL Server;

o  Condições de desempenho do SQL Server;

o  Eventos Microsoft Windows Management Instrumentation (WMI) no computador onde o SQL Server Agent está executando;

 

Um alerta pode executar as seguintes ações:

o  Avisar um ou mais operadores;

o  Executar um trabalho.

 

·   Operators ...

Quer ler esse conteúdo completo? Tenha acesso completo