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:SQL Server
Registra uma mensagem definida pelo usuário no arquivo de log do SQL Server e no log de eventos do Windows.
xp_logevent pode ser usado para enviar um alerta sem enviar uma mensagem para o cliente.
Convenções de sintaxe de Transact-SQL
Sintaxe
xp_logevent { error_number , 'message' } [ , 'severity' ]
Argumentos
Importante
Os argumentos para procedimentos armazenados estendidos devem ser inseridos na ordem específica, conforme descrito na seção sintaxe. Se os parâmetros forem inseridos fora de ordem, ocorrerá uma mensagem de erro.
error_number
Um número de erro definido pelo usuário maior que 50000. O valor máximo é 2147483647 (2^31 - 1).
'mensagem'
Uma cadeia de caracteres com um máximo de 2048 caracteres.
'Gravidade'
Uma das três cadeias de caracteres: INFORMATIONAL, WARNINGou ERROR.
severity é opcional, com um padrão de INFORMATIONAL.
Valores do código de retorno
0 (sucesso) ou 1 (falha).
Conjunto de resultados
xp_logevent Retorna a seguinte mensagem de erro para o exemplo de código incluído:
The command(s) completed successfully.
Comentários
Ao enviar mensagens de procedimentos Transact-SQL, gatilhos, lotes e assim por diante, use a RAISERROR instrução em vez de xp_logevent.
xp_logevent não chama um manipulador de mensagens de um cliente ou define @@ERROR. Para gravar mensagens no log de eventos do Windows e no arquivo de log de erros do SQL Server em uma instância do SQL Server, execute a RAISERROR instrução.
Permissões
Requer associação na função de banco de dados fixa db_owner no master banco de dados ou associação na função de servidor fixa sysadmin .
Exemplos
O exemplo a seguir registra a mensagem, com variáveis passadas à mensagem em Visualizador de Eventos do Windows.
DECLARE @@TABNAME VARCHAR(30),
@@USERNAME VARCHAR(30),
@@MESSAGE VARCHAR(255);
SET @@TABNAME = 'customers';
SET @@USERNAME = USER_NAME();
SELECT @@MESSAGE = 'The table ' + @@TABNAME + ' is not owned by the user
' + @@USERNAME + '.';
USE master;
EXECUTE xp_logevent 60000,
@@MESSAGE, informational;