Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Banco de Dados SQL do Azure
Instância Gerenciada de SQL do Azure
Azure Synapse Analytics
Analytics Platform System (PDW)
O driver ODBC do SQL Server Native Client especifica os seguintes campos de diagnóstico adicionais para SQLGetDiagField. Esses campos dão suporte a relatórios de erros avançados para aplicativos do SQL Server e estão disponíveis em todos os registros de diagnóstico gerados em identificadores de conexão ODBC conectados e identificadores de instrução ODBC. Os campos são definidos em sqlncli.h.
| Campo de registro de diagnóstico | Descrição |
|---|---|
| SQL_DIAG_SS_LINE | Informa o número da linha de um procedimento armazenado que gera um erro. O valor de SQL_DIAG_SS_LINE só será útil se SQL_DIAG_SS_PROCNAME retornar um valor. O valor é retornado como um inteiro de 16 bits sem-sinal. |
| SQL_DIAG_SS_MSGSTATE | O estado de uma mensagem de erro. Para obter informações sobre o estado da mensagem de erro, consulte RAISERROR. O valor é retornado como um inteiro de 32 bits com assinatura. |
| SQL_DIAG_SS_PROCNAME | O nome do procedimento armazenado que gera um erro, se apropriado. O valor é retornado como uma cadeia de caracteres. O comprimento da cadeia de caracteres (em caracteres) depende da versão do SQL Server. Ele pode ser determinado chamando SQLGetInfo solicitando o valor para SQL_MAX_PROCEDURE_NAME_LEN. |
| SQL_DIAG_SS_SEVERITY | O nível de severidade da mensagem de erro associada. O valor é retornado como um inteiro de 32 bits com assinatura. |
| SQL_DIAG_SS_SRVNAME | O nome do servidor no qual o erro ocorreu. O valor é retornado como uma cadeia de caracteres. O comprimento da cadeia de caracteres (em caracteres) é definido pela macro SQL_MAX_SQLSERVERNAME em sqlncli.h. |
Os campos de diagnóstico específicos do SQL Server que contêm dados de caracteres, SQL_DIAG_SS_PROCNAME e SQL_DIAG_SS_SRVNAME, retornam esses dados ao cliente como cadeias de caracteres terminadas em nulo, ANSI ou Unicode. Se necessário, a contagem de caracteres deve ser ajustada de acordo com a largura do caractere. Como opção, um tipo de dados C portátil, como TCHAR ou SQLTCHAR, pode ser usado para garantir o comprimento variável correto do programa.
O driver ODBC do SQL Server Native Client relata os seguintes códigos de função dinâmica adicionais que identificam a última tentativa de instrução do SQL Server. O código de função dinâmico é retornado no cabeçalho (record 0) do registro de diagnóstico definido e, portanto, está disponível em cada execução (bem-sucedida ou não).
| Código de função dinâmico | Origem |
|---|---|
| SQL_DIAG_DFC_SS_ALTER_DATABASE | Instrução ALTER DATABASE |
| SQL_DIAG_DFC_SS_CHECKPOINT | Instrução CHECKPOINT |
| SQL_DIAG_DFC_SS_CONDITION | O erro ocorreu nas cláusulas WHERE ou HAVING de uma instrução. |
| SQL_DIAG_DFC_SS_CREATE_DATABASE | Instrução CREATE DATABASE |
| SQL_DIAG_DFC_SS_CREATE_DEFAULT | Instrução CREATE DEFAULT |
| SQL_DIAG_DFC_SS_CREATE_PROCEDURE | Instrução CREATE PROCEDURE |
| SQL_DIAG_DFC_SS_CREATE_RULE | Instrução CREATE RULE |
| SQL_DIAG_DFC_SS_CREATE_TRIGGER | Instrução CREATE TRIGGER |
| SQL_DIAG_DFC_SS_CURSOR_DECLARE | Instrução DECLARE CURSOR |
| SQL_DIAG_DFC_SS_CURSOR_OPEN | Instrução OPEN |
| SQL_DIAG_DFC_SS_CURSOR_FETCH | Instrução FETCH |
| SQL_DIAG_DFC_SS_CURSOR_CLOSE | Instrução CLOSE |
| SQL_DIAG_DFC_SS_DEALLOCATE_CURSOR | Instrução DEALLOCATE |
| SQL_DIAG_DFC_SS_DBCC | Instrução DBCC |
| SQL_DIAG_DFC_SS_DENY | Instrução DENY |
| SQL_DIAG_DFC_SS_DROP_DATABASE | Instrução DROP DATABASE |
| SQL_DIAG_DFC_SS_DROP_DEFAULT | Instrução DROP DEFAULT |
| SQL_DIAG_DFC_SS_DROP_PROCEDURE | Instrução DROP PROCEDURE |
| SQL_DIAG_DFC_SS_DROP_RULE | Instrução DROP RULE |
| SQL_DIAG_DFC_SS_DROP_TRIGGER | Instrução DROP TRIGGER |
| SQL_DIAG_DFC_SS_DUMP_DATABASE | BACKUPou instrução DUMP DATABASE |
| SQL_DIAG_DFC_SS_DUMP_TABLE | Instrução DUMP TABLE |
| SQL_DIAG_DFC_SS_DUMP_TRANSACTION | BACKUP ou extrato DUMP TRANSACTION. Também retornado para uma instrução CHECKPOINT se a opção trunc. log on chkpt. database estiver ativada. |
| SQL_DIAG_DFC_SS_GOTO | Instrução de controle de fluxo GOTO |
| SQL_DIAG_DFC_SS_INSERT_BULK | INSERT Instrução BULK |
| SQL_DIAG_DFC_SS_KILL | Instrução KILL |
| SQL_DIAG_DFC_SS_LOAD_DATABASE | LOAD ou RESTOREDATABASE instrução |
| SQL_DIAG_DFC_SS_LOAD_HEADERONLY | LOAD ou RESTORE HEADERONLY instrução |
| SQL_DIAG_DFC_SS_LOAD_TABLE | Instrução LOAD TABLE |
| SQL_DIAG_DFC_SS_LOAD_TRANSACTION | LOAD ou RESTORE TRANSACTION instrução |
| SQL_DIAG_DFC_SS_PRINT | instrução PRINT |
| SQL_DIAG_DFC_SS_RAISERROR | instrução RAISERROR |
| SQL_DIAG_DFC_SS_READTEXT | Instrução READTEXT |
| SQL_DIAG_DFC_SS_RECONFIGURE | Instrução RECONFIGURE |
| SQL_DIAG_DFC_SS_RETURN | Instrução de controle de fluxo RETURN |
| SQL_DIAG_DFC_SS_SELECT_INTO | instrução SELECT INTO |
| SQL_DIAG_DFC_SS_SET | SET Instrução (genérica, todas as opções) |
| SQL_DIAG_DFC_SS_SET_IDENTITY_INSERT | Instrução SET IDENTITY_INSERT |
| SQL_DIAG_DFC_SS_SET_ROW_COUNT | Instrução SET ROWCOUNT |
| SQL_DIAG_DFC_SS_SET_STATISTICS | SET SET STATISTICS IO ou SETSET STATISTICS TIME afirmações |
| SQL_DIAG_DFC_SS_SET_TEXTSIZE | Instrução SET TEXTSIZE |
| SQL_DIAG_DFC_SS_SETUSER | Instrução SETUSER |
| SQL_DIAG_DFC_SS_SET_XCTLVL | Instrução SET TRANSACTION ISOLATION LEVEL |
| SQL_DIAG_DFC_SS_SHUTDOWN | Instrução SHUTDOWN |
| SQL_DIAG_DFC_SS_TRANS_BEGIN | Instrução BEGIN TRAN |
| SQL_DIAG_DFC_SS_TRANS_COMMIT | Instrução COMMIT TRAN |
| SQL_DIAG_DFC_SS_TRANS_PREPARE | Preparar para confirmar uma transação distribuída |
| SQL_DIAG_DFC_SS_TRANS_ROLLBACK | Instrução ROLLBACK TRAN |
| SQL_DIAG_DFC_SS_TRANS_SAVE | Instrução SAVE TRAN |
| SQL_DIAG_DFC_SS_TRUNCATE_TABLE | Instrução TRUNCATE TABLE |
| SQL_DIAG_DFC_SS_UPDATE_STATISTICS | UPDATE UPDATE STATISTICS Enunciado |
| SQL_DIAG_DFC_SS_UPDATETEXT | instrução UPDATETEXT |
| SQL_DIAG_DFC_SS_USE | instrução USE |
| SQL_DIAG_DFC_SS_WAITFOR | Instrução de controle de fluxo WAITFOR |
| SQL_DIAG_DFC_SS_WRITETEXT | Instrução WRITETEXT |
SQLGetDiagField e parâmetros com valor de tabela
SQLGetDiagField pode ser usado para recuperar dois campos de diagnóstico: SQL_DIAG_SS_TABLE_COLUMN_NUMBER e SQL_DIAG_SS_TABLE_ROW_NUMBER. Esses campos ajudam a determinar qual valor gerou o erro ou a mensagem de advertência associada ao registro de diagnóstico.
Para obter mais informações sobre parâmetros com valor de tabela, consulte ODBC (Parâmetros com valor de tabela).