Daniel Paulo [email protected]. Introdução Neste capítulo será abortado o planejamento e...

33
Daniel Paulo [email protected]

Transcript of Daniel Paulo [email protected]. Introdução Neste capítulo será abortado o planejamento e...

Page 1: Daniel Paulo dptsalvador@hotmail.com. Introdução Neste capítulo será abortado o planejamento e configuração das atividades administrativas do dia a dia.

Daniel [email protected]

Page 2: Daniel Paulo dptsalvador@hotmail.com. Introdução Neste capítulo será abortado o planejamento e configuração das atividades administrativas do dia a dia.

IntroduçãoNeste capítulo será abortado o planejamento

e configuração das atividades administrativas do dia a dia de um DBA.

Page 3: Daniel Paulo dptsalvador@hotmail.com. Introdução Neste capítulo será abortado o planejamento e configuração das atividades administrativas do dia a dia.

O SQL Server Agent- Execução de tarefas previamente

configuradas de forma automática- Envio de email e notificações - Acionamento de alertas

Page 4: Daniel Paulo dptsalvador@hotmail.com. Introdução Neste capítulo será abortado o planejamento e configuração das atividades administrativas do dia a dia.

Pré requisitos do SQL Server Agent- Serviço precisa estar ativo em conta - Na instalação este serviço é configurado

como Manual, recomenda-se alterar para Automático

Page 5: Daniel Paulo dptsalvador@hotmail.com. Introdução Neste capítulo será abortado o planejamento e configuração das atividades administrativas do dia a dia.

A conta em que o SQL Server Agent é executadoNetwork Service: É um conta disponibilizada do Windows XP e

Windows Server. Esta conta é similar a uma autenticação no S.O.

A conta de serviço tem o mesmo nível de acessos aos recursos e objetos dos membros do grupo de usuários.

- O nome atribuído à conta NT Authority\Network Service.- Evitar a utilização desta conta, pois outros servidores podem

utiliza-la e dificulta o controle de acesso a recursos

Page 6: Daniel Paulo dptsalvador@hotmail.com. Introdução Neste capítulo será abortado o planejamento e configuração das atividades administrativas do dia a dia.

Local System: - Esta conta faz parte do grupo Asministrators do

computador- Desta forma ela faz parte do fixed server role

sysadmin- Possui acesso a qualquer recurso do sistema

LOCAL- Denominada NT AUTHORITY\System

Page 7: Daniel Paulo dptsalvador@hotmail.com. Introdução Neste capítulo será abortado o planejamento e configuração das atividades administrativas do dia a dia.

Windows Domain:- Maior segurança pois necessita de definição de

segurança

Page 8: Daniel Paulo dptsalvador@hotmail.com. Introdução Neste capítulo será abortado o planejamento e configuração das atividades administrativas do dia a dia.

Local Service: - É um conta disponibilizada do Windows XP e

Windows Server.- Acessa os recursos de Rede sem utilizar

credenciais- Denominada NT AUTHORITY\LocalService- Não suporta SQL Server Agent

Page 9: Daniel Paulo dptsalvador@hotmail.com. Introdução Neste capítulo será abortado o planejamento e configuração das atividades administrativas do dia a dia.

Observações:- Para conta de domínio devem ser membro do grupo Pre-Windows 2000

Compatible Access- SeBatchLogonRight: Permite efetuar o logon utilizando as credenciais

de logon de grupo- SeAssignPrimaryTokenPrivilege: Permite substituir o sinal referente ao

nível do processo- SeChangeNotifyPrivilege: Permite que a transação transversal seja

ignorada- SeTcbPrivilege: Permite que um processo seja autenticado como um

determinado usuário nas situações que utilizamos o Windows 2000

Page 10: Daniel Paulo dptsalvador@hotmail.com. Introdução Neste capítulo será abortado o planejamento e configuração das atividades administrativas do dia a dia.

- SelncreaseQuotaPrivilege: Permite fazer com que as cotas de memória sejam ajustadas a um determinado processo

- A conta selecionada deve ter acesso ao namespace que contêm os eventos: WMI e o ALTER ANY EVENT NOTIFICATION

Page 11: Daniel Paulo dptsalvador@hotmail.com. Introdução Neste capítulo será abortado o planejamento e configuração das atividades administrativas do dia a dia.

Autenticação do SQL Agent no SQL Server- A autenticação do SQL Agent não é suportada a

SQL Server Authentication- A validação da conta é realizada pelo sistema

operacional, para poder utilizar os recursos da rede

- A conta deve fazer parte do grupo local de administradores

Page 12: Daniel Paulo dptsalvador@hotmail.com. Introdução Neste capítulo será abortado o planejamento e configuração das atividades administrativas do dia a dia.

Configurando o SQL Server para enviar e-mailsO envio de e-mails a determinados operadores é uma tarefa

realizada pelo SQL Server Agent Mail.SQL Mail: - Utiliza e-mails por meio da interface Extended MAPI- Deve possui uma conta de usuário de domínio Windows para

efetuar logon na instancia do SQL Server- Uma mailbox (local de armazenamento de e-mails)- Um perfil de e-mail- Uma conexão de correio

Page 13: Daniel Paulo dptsalvador@hotmail.com. Introdução Neste capítulo será abortado o planejamento e configuração das atividades administrativas do dia a dia.

Database Mail:- É uma solução de e-mails do SQL Server

Database Engine- É um sistema que não se encontra ativo- Oferece recursos mais robustos- Trabalha com servidores SMTP- Utiliza a procedure sp_send_dbmail

Page 14: Daniel Paulo dptsalvador@hotmail.com. Introdução Neste capítulo será abortado o planejamento e configuração das atividades administrativas do dia a dia.

JOBSSão utilizados para automatizar a execução

de determinadas tarefas.

Page 15: Daniel Paulo dptsalvador@hotmail.com. Introdução Neste capítulo será abortado o planejamento e configuração das atividades administrativas do dia a dia.

Fatores importantes:- Determinar o proprietário responsável por executar o

JOB (Usuário que criou o JOB é o responsável padrão)- Definir se a execução será local ou em diversos

servidores- Assegurar que o JOB esteja habilitado (Padrão)- Criar categorias de jobs a fim de que o

gerenciamento seja facilitado

Page 16: Daniel Paulo dptsalvador@hotmail.com. Introdução Neste capítulo será abortado o planejamento e configuração das atividades administrativas do dia a dia.

JOBS que executam comandos TSQL- Definir uma tarefa para um JOB que executa

comandos TSQL requer a identificação do Banco de Dados, assim como a inclusão de variáveis e parâmetros no passo do job e envio de seu resultado para um arquivo de OUTPUT

Page 17: Daniel Paulo dptsalvador@hotmail.com. Introdução Neste capítulo será abortado o planejamento e configuração das atividades administrativas do dia a dia.

JOBS cmdExec e ActiveScripting- São tarefas que podem estar contidas em JOBS- Nas situações em que esses JOBS são executados

por um usuário que não está na role SYSADMIN, essa execução ocorre no contexto da conta do usuário do Windows associada ao SQL Server Agent

- Recomendado somente usuários da role sysadmin executem JOBS

Page 18: Daniel Paulo dptsalvador@hotmail.com. Introdução Neste capítulo será abortado o planejamento e configuração das atividades administrativas do dia a dia.

JOBS de replicação- A replicação é executada no servidor por

meio de agentes implementados no SQL

Page 19: Daniel Paulo dptsalvador@hotmail.com. Introdução Neste capítulo será abortado o planejamento e configuração das atividades administrativas do dia a dia.

Determinando o fluxo lógico de ação- A execução de cada passo do job pode ser realizada com

sucesso, porém, pode ocorrer falhas- Por padrão o SQL avança para a próxima tarefa caso

ocorra com sucesso- Caso ocorra erro o JOB é paralisado- Pode ser determinado quantas vezes pode ser realizado a

tentativa de reexecução. Também pode ser determinado o tempo em minutos

Page 20: Daniel Paulo dptsalvador@hotmail.com. Introdução Neste capítulo será abortado o planejamento e configuração das atividades administrativas do dia a dia.

Programando o horário de execução - O JOB é executado em horário definido

previamente- Recomendado planejar os horários para

evitar sobrecarga do servidor

Page 21: Daniel Paulo dptsalvador@hotmail.com. Introdução Neste capítulo será abortado o planejamento e configuração das atividades administrativas do dia a dia.

Histórico dos JOBS- As tarefas executadas são armazenadas na

tabela dbo.sysjobshistory- A visualização do histórico pode ser obtida

com a consulta na tabela ou graficamente através do Object Explorer

Page 22: Daniel Paulo dptsalvador@hotmail.com. Introdução Neste capítulo será abortado o planejamento e configuração das atividades administrativas do dia a dia.

Operadores- Há usuários que são configurados para receber os

email e notificações da execução dos JOBS- Pode ser criado grupos de usuários- O comando net send é utilizado pelo envio de

mensagens na rede- Atribuir nomes aos operadores para evitar conflitos - Recomenda-se utilizar nomes totalmente qualificados

Page 23: Daniel Paulo dptsalvador@hotmail.com. Introdução Neste capítulo será abortado o planejamento e configuração das atividades administrativas do dia a dia.

Alertas- Definimos alertas para o monitoramento das

atividades do SQL- Pode ser definido alertas para:

- Erros definidos pelo usuário- Erros do SQL- Determinadas condições dos contadores de

Performance Monitor

Page 24: Daniel Paulo dptsalvador@hotmail.com. Introdução Neste capítulo será abortado o planejamento e configuração das atividades administrativas do dia a dia.

Alertas definidos em erros do SQL Server- Mais de um alerta pode ser definido sobre o mesmo erro- O número de erro deve estar configurado para que seja

escrito no LOG de aplicativo do Windows- Um alerta pode ser definido sobre qualquer número de

erro, desde que este número esteja armazenado na sys.messages

- Pode ser definido em qualquer banco ou em todos

Page 25: Daniel Paulo dptsalvador@hotmail.com. Introdução Neste capítulo será abortado o planejamento e configuração das atividades administrativas do dia a dia.

Alertas definidos na severidade de um erro do SQL ServerO nível de severidade determina alguns fatores: - Severidade entre 19 e 25 é escrito no LOG de aplicativos

do Windows- Entre 20 e 25 são considerados erros fatais e devem ser

notificados para os operadores- Erros podem ser gravados com a cláusula RAISERROR

With LOG ou xp_logevent

Page 26: Daniel Paulo dptsalvador@hotmail.com. Introdução Neste capítulo será abortado o planejamento e configuração das atividades administrativas do dia a dia.

Criando uma mensagem de erro do usuário- Os erros definidos pelo usuário são

armazenados na sys.messages- Banco Master- Devem possuir número superior a 50.000- Pode ser utilizado o SQL Server Management

Studio ou a SP_addMessage

Page 27: Daniel Paulo dptsalvador@hotmail.com. Introdução Neste capítulo será abortado o planejamento e configuração das atividades administrativas do dia a dia.

Gerando um erro a partir de um aplicativo- Podemos utilizar o comando RAISERROR- Capturar a partir do @@error ou TRY CATCH

Exemplo:RAISERROR (50001, 16 , 1 , @codcli , User_Name()

Error: 50001, Severity: 16, State 1 O Cliente 732 foi excluído pelo Aluno1

Page 28: Daniel Paulo dptsalvador@hotmail.com. Introdução Neste capítulo será abortado o planejamento e configuração das atividades administrativas do dia a dia.

Gravando eventos no LOG no Event Viewer- Os registros são gravado no Event Viewer nas

situações:• Severidade entre 19 e 25• Gerados pelo comando RAISERROR WITH LOG• A partir da procedure xp_logevent• Definidos pelo usuário de forma automática

Page 29: Daniel Paulo dptsalvador@hotmail.com. Introdução Neste capítulo será abortado o planejamento e configuração das atividades administrativas do dia a dia.

Alertas em contadores de Performance Monitor

Podemos criar alertas com a finalidade de:- Monitoramento de transações- Utilização de espaço em disco- Tamanho dos banco de dados estiverem em

n% do tamanho máximo

Page 30: Daniel Paulo dptsalvador@hotmail.com. Introdução Neste capítulo será abortado o planejamento e configuração das atividades administrativas do dia a dia.

Ambientes de múltiplos servidoresEste ambiente é composto por um servidor

MASTER e um ou mais servidores TARGET- Podemos realizar o gerenciamento centralizado- Agrupar servidores por funções lógicas- As tabelas sysjobhistory e sysjobservers

mostram as informações dos jobs

Page 31: Daniel Paulo dptsalvador@hotmail.com. Introdução Neste capítulo será abortado o planejamento e configuração das atividades administrativas do dia a dia.

Procedures para configurar jobs, alertas e operadores- sp_add_job sp_update_job- sp_delete_sob sp_help_job- sp_add_Jobschedule- sp_update_Jobschedule- sp_delete_Jobschedule- sp_help_Jobschedule- sp_add_jobstep sp_update_jobstep- sp_delete_jobstep sp_help_jobstep

Page 32: Daniel Paulo dptsalvador@hotmail.com. Introdução Neste capítulo será abortado o planejamento e configuração das atividades administrativas do dia a dia.

Solução de Problemas

Página 416 à 418

Page 33: Daniel Paulo dptsalvador@hotmail.com. Introdução Neste capítulo será abortado o planejamento e configuração das atividades administrativas do dia a dia.

Laboratório página 616 à 648