Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
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;