DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:
 
 

  Este é um post disponível para assinantes MVP
Este post também está disponível para assinantes da SQL Magazine DIGITAL
ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!

Artigo SQL Magazine 45 - Tratamento de erros no SQL Server 2000 e 2005

Artigo da Revista SQL Magazine - Edição 45.

[fechar]

Você não gostou da qualidade deste conteúdo?

(opcional) Você gostaria de comentar o que não lhe agradou?

Clique aqui para ler todos os artigos desta edição

Banco de Dados

Tratamento de erros no SQL Server 2000 e 2005

 

Por tratar-se de uma parte delicada de qualquer sistema, devemos sempre implementar boas práticas no tratamento de erros. Um bom sistema oferece sempre um tratamento de erros eficiente uma vez que este não deve comprometer seriamente a execução de um software.

Neste artigo vamos entender quais são os recursos disponíveis no SQL para tratamento de erros. Veremos como funcionam as variáveis @@ERROR (ver Nota 1) e @@ROWCOUNT do SQL Server utilizadas no auxilio ao tratamento de erros, em seguida vamos simular alguns erros e mostrar como tratá-los. Para concluir o artigo, faremos uma comparação com o novo mecanismo de tratamento de erros presente no SQL Server 2005.

 

Nota 1. A variável @@ERROR

A variável @@ERROR é a base para tratamento de erros no SQL Server. Ela armazena sempre o número do último erro ocorrido após a execução de algum comando (devemos checar o valor desta variável a cada execução de uma linha de instruções Transact-SQL). Um valor 0 (zero) indica que nenhum erro ocorreu.

Os erros no SQL Server são compostos por um número, uma mensagem, um nível de severidade e um número de estado. A mensagem é um texto que descreve o erro, o nível de severidade indica o nível de gravidade do erro e o número do estado indica em que parte da arquitetura do SQL Server o erro ocorreu.

Tipos de erros e níveis de severidade

Vamos agora conhecer os níveis de severidade:

·         Erros com severidade de 0 a 10: indicam erros de severidade baixa (apenas mensagens informativas). Estas mensagens ocorrem raramente;

·         Erros com severidade de 11 a 16: indicam erros de severidade média. Estes erros normalmente podem ser corrigidos pelo desenvolvedor, exemplos: permissões negadas, erros de sintaxe, etc;

·         Erros com severidade 17: indicam falta de recursos no sistema, por exemplo, espaço em disco;

·         Erros com severidade 18: indicam a ocorrência de erros internos de software. O SQL Server pode reportar este erro quando ocorrer algum problema durante a otimização de uma query, por exemplo;

·         Erros com severidade 19: indicam que algum limite interno não configurável foi excedido. Estes erros ocorrem raramente, entretanto, o DBA deve ser informado sobre sua ocorrência. Não existe na documentação do SQL Server nenhum exemplo de erro com esse nível de severidade;

·         Erros com severidade de 20 a 25: indicam erros de maior gravidade e normalmente requerem a intervenção do DBA. Quando um erro com estes níveis de severidade ocorre, o DBA deve ser informado imediatamente, pois pode haver algum problema com o banco de dados. Nestes casos, pode haver problemas físicos no disco, e também casos em que será necessário restaurar a base de dados.

 

Estados de um erro

O estado de um erro indica em que parte do núcleo do SQL Server este erro ocorreu. Isto pode ajudar a equipe de desenvolvimento do SQL Server a encontrar as possíveis causas deste erro. Veja abaixo a descrição das principais partes do núcleo do SQL Server.

·         "

A exibição deste artigo foi interrompida.

  Este é um post disponível para assinantes MVP
Este post também está disponível para assinantes da SQL Magazine DIGITAL
ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!


Paulo Sergio Pereira
Bacharel em Ciência da Computação pela Univap(Universidade do Vale do Paraíba). É desenvolvedor Java, Visual Basic, Visual C++.NET e ADVPL. É administrador de bancos de dados Progress, SQL Server e DB2.
O que você achou deste post?

    0 COMENTÁRIO

[Fechar]

Este post é fechado - você precisa ter acesso ao post para incluir um comentário.


Nenhum comentário foi postado - seja o primeiro a comentar!
Cursos relacionados
Publicidade
[Fechar]

Você precisa estar logado para dar um feedback.

Clique aqui para efetuar o login
[Fechar]


Este post está fechado. Saiba mais sobre a assinatura MVP!
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2013 - Todos os Direitos Reservados a web-03