xp_logevent (Transact-SQL)xp_logevent (Transact-SQL)

APLICA-SE A: simSQL Server (a partir do 2008) nãoBanco de Dados SQL do Azure nãoSQL Data Warehouse do Azure nãoParallel Data Warehouse APPLIES TO: yesSQL Server (starting with 2008) noAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

Registra uma mensagem definida pelo usuário no SQL ServerSQL Server arquivo de log e no Visualizador de eventos do Windows.Logs a user-defined message in the SQL ServerSQL Server log file and in the Windows Event Viewer. xp_logevent pode ser usado para enviar um alerta sem enviar uma mensagem ao cliente.xp_logevent can be used to send an alert without sending a message to the client.

Ícone de link do tópico Convenções de sintaxe de Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SintaxeSyntax

  
xp_logevent { error_number , 'message' } [ , 'severity' ]  

ArgumentosArguments

error_numbererror_number
É um número de erro definido pelo usuário maior que 50.000.Is a user-defined error number larger than 50,000. O valor máximo é 2147483647 (2^31 - 1).The maximum value is 2147483647 (2^31 - 1).

' mensagem '' message '
É uma cadeia de caracteres com no máximo 2048 caracteres.Is a character string with a maximum of 2048 characters.

' severidade '' severity '
É uma destas três cadeias de caracteres: INFORMATIONAL, WARNING ou ERROR.Is one of three character strings: INFORMATIONAL, WARNING, or ERROR. severidade é opcional, com um padrão INFORMATIONAL.severity is optional, with a default of INFORMATIONAL.

Valores do código de retornoReturn Code Values

0 (êxito) ou 1 (falha)0 (success) or 1 (failure)

Conjuntos de resultadosResult Sets

xp_logevent retorna a seguinte mensagem de erro para o exemplo de código incluído:xp_logevent returns the following error message for the included code example:

The command(s) completed successfully.

ComentáriosRemarks

Quando você envia mensagens de Transact-SQLTransact-SQL procedimentos, disparadores, lotes e assim por diante, usem a instrução RAISERROR, em vez de xp_logevent.When you send messages from Transact-SQLTransact-SQL procedures, triggers, batches, and so on, use the RAISERROR statement instead of xp_logevent. xp_logevent não chama um manipulador de mensagens de um cliente ou definir@ERROR.xp_logevent does not call a message handler of a client or set @@ERROR. Para gravar mensagens em Visualizador de Eventos do Windows e no log de erros do SQL ServerSQL Server em uma instância do SQL ServerSQL Server, execute a instrução RAISERROR.To write messages to the Windows Event Viewer and to the SQL ServerSQL Server error log file within an instance of SQL ServerSQL Server, execute the RAISERROR statement.

PermissõesPermissions

Requer associação na função de banco de dados fixa db_owner no banco de dados master ou associação na função de servidor fixa sysadmin.Requires membership in the db_owner fixed database role in the master database, or membership in the sysadmin fixed server role.

ExemplosExamples

O exemplo a seguir registra a mensagem, com variáveis passadas à mensagem em Visualizador de Eventos do Windows.The following example logs the message, with variables passed to the message in the Windows Event Viewer.

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;  
EXEC xp_logevent 60000, @@MESSAGE, informational;  

Consulte tambémSee Also

PRINT (Transact-SQL) PRINT (Transact-SQL)
RAISERROR (Transact-SQL) RAISERROR (Transact-SQL)
Procedimentos armazenados do sistema (Transact-SQL) System Stored Procedures (Transact-SQL)
Procedimentos armazenados estendidos gerais (Transact-SQL)General Extended Stored Procedures (Transact-SQL)