Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
gäller för:SQL Server
Loggar ett användardefinierat meddelande i SQL Server-loggfilen och i Windows-händelseloggen.
xp_logevent kan användas för att skicka en avisering utan att skicka ett meddelande till klienten.
Transact-SQL syntaxkonventioner
Syntax
xp_logevent { error_number , 'message' } [ , 'severity' ]
Argument
Viktig
Argument för utökade lagrade procedurer måste anges i den specifika ordning som beskrivs i avsnittet Syntax. Om parametrarna anges i fel ordning visas ett felmeddelande.
error_number
Ett användardefinierat felnummer som är större än 50000. Det maximala värdet är 2147483647 (2^31 – 1).
"meddelande"
En teckensträng med högst 2 048 tecken.
"allvarlighetsgrad"
En av tre teckensträngar: INFORMATIONAL, WARNINGeller ERROR.
allvarlighetsgrad är valfri, med standardvärdet INFORMATIONAL.
Returnera kodvärden
0 (lyckades) eller 1 (fel).
Resultatuppsättning
xp_logevent returnerar följande felmeddelande för det inkluderade kodexemplet:
The command(s) completed successfully.
Anmärkningar
När du skickar meddelanden från Transact-SQL procedurer, utlösare, batchar och så vidare använder du RAISERROR-instruktionen i stället för xp_logevent.
xp_logevent anropar inte en meddelandehanterare för en klient eller anger @@ERROR. Om du vill skriva meddelanden till Windows-händelseloggen och till SQL Server-felloggfilen i en instans av SQL Server kör du instruktionen RAISERROR.
Behörigheter
Kräver medlemskap i db_owner fast databasroll i master-databasen eller medlemskap i sysadmin fast serverroll.
Exempel
I följande exempel loggas meddelandet med variabler som skickas till meddelandet i Windows Loggboken.
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;