Noções básicas sobre erros do mecanismo de banco de dados
Aplica-se a:SQL Server
Banco de Dados SQL do Azure
Instância Gerenciada SQL do Azure
Azure Synapse Analytics
Analytics Platform System (PDW)
ponto de extremidade de análise SQL no Microsoft Fabric
Warehouse no Microsoft Fabric
Os erros gerados pelo Mecanismo de Banco de Dados do Microsoft SQL Server têm os atributos descritos na tabela a seguir.
Atributo | Descrição |
---|---|
Número do erro | Cada mensagem de erro tem um número de erro exclusivo. |
Cadeia de caracteres de mensagem de erro | A mensagem de erro contém informações de diagnóstico sobre a causa do erro. Muitas mensagens de erro têm variáveis de substituição nas quais informações, como o nome do objeto que gera o erro, são inseridas. |
Gravidade | A gravidade indica a gravidade do erro. Os erros de baixa gravidade, como 1 ou 2, são mensagens informativas ou avisos de baixo nível. Erros de alta gravidade indicam problemas que devem ser resolvidos o mais rápido possível. Para obter mais informações sobre os níveis de gravidade, consulte Severidades de erro do Mecanismo de Base de Dados. |
Estado | Algumas mensagens de erro podem ser geradas em vários pontos no código do Mecanismo de Banco de Dados. Por exemplo, um erro 1105 pode ser gerado para várias condições diferentes. Cada condição específica que gera um erro atribui um código de estado exclusivo. Quando estiver visualizando bancos de dados que contêm informações sobre problemas conhecidos, como a Base de Dados de Conhecimento Microsoft, você pode usar o número de estado para determinar se o problema registrado é o mesmo que o erro encontrado. Por exemplo, se um artigo da Base de Dados de Conhecimento descrever um erro 1105 com um estado de 2 e a mensagem de erro 1105 recebida tiver um estado de 3, o erro provavelmente terá uma causa diferente da relatada no artigo. Um engenheiro de suporte da Microsoft também pode usar o código de estado de um erro para localizar o local no código-fonte onde esse código de erro está sendo gerado. Essas informações podem fornecer ideias adicionais sobre como diagnosticar o problema. |
Nome do procedimento | É o nome do procedimento armazenado ou gatilho no qual o erro ocorreu. |
Número da linha | Indica qual instrução em um lote, procedimento armazenado, gatilho ou função gerou o erro. |
Todas as mensagens de erro definidas pelo sistema e pelo usuário em uma instância do Mecanismo de Banco de Dados estão contidas no sys.messages exibição de catálogo. Você pode usar a instrução RAISERROR para retornar erros definidos pelo usuário para um aplicativo.
Todas as APIs de banco de dados, como o Microsoft .NET Framework o namespace SQLClient, ActiveX Data Objects (ADO), OLE DB e Open Database Connectivity (ODBC), relatam os atributos de erro básicos. Essas informações incluem o número do erro e a cadeia de caracteres da mensagem. No entanto, nem todas as APIs relatam todos os outros atributos de erro.
Informação sobre um erro que ocorre no escopo do bloco TRY de um bloco TRY...CATCH pode ser obtida no código Transact-SQL usando funções como ERROR_LINE, ERROR_MESSAGE, ERROR_NUMBER, ERROR_PROCEDURE, ERROR_SEVERITY e ERROR_STATE no escopo do bloco CATCH associado. Para obter mais informações, consulte TRY... CATCH (Transact-SQL).
Exemplos
O exemplo a seguir consulta a exibição de catálogo sys.messages
para retornar uma lista de todas as mensagens de erro definidas pelo sistema e pelo usuário no Mecanismo de Banco de Dados com texto em inglês (1033
).
SELECT
message_id,
language_id,
severity,
is_event_logged,
text
FROM sys.messages
WHERE language_id = 1033;
Para obter mais informações, consulte sys.messages (Transact-SQL).
Ver também
sys.messages (Transact-SQL)
RAISERROR (Transact-SQL)
@@ERROR (Transact-SQL)
TENTE... CATCH (Transact-SQL)
LINHA_ERRO (Transact-SQL)
MENSAGEM_DE_ERRO (Transact-SQL)
ERROR_NUMBER (Transact-SQL)
PROCEDIMENTO_ERRO (Transact-SQL)
ERROR_SEVERITY (Transact-SQL)
ERROR_STATE (Transact-SQL)