Kommentar
Å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
Tillhandahåller egenskaper för att visa händelser i en specificerad SQL Server-loggfil.
Syntax
class SQLErrorLogEvent
{
stringFileName;
stringInstanceName;
datetimeLogDate;
stringMessage;
stringProcessInfo;
};
Egenskaper
SQLErrorLogEvent-klassen definierar följande egenskaper.
| Property | Beskrivning |
|---|---|
| Filnamn | Datatyp: sträng Åtkomsttyp: Skrivskyddad Namnet på felloggfilen. |
| Instansnamn | Datatyp: sträng Åtkomsttyp: Skrivskyddad Kvalificerare: Nyckel Namnet på instansen av SQL Server där loggfilen finns. |
| LogDate | Datatyp: datetime Åtkomsttyp: Skrivskyddad Kvalificerare: Nyckel Datum och tid då händelsen registrerades i loggfilen. |
| Message | Datatyp: sträng Åtkomsttyp: Skrivskyddad Händelsemeddelandet. |
| ProcessInfo | Datatyp: sträng Åtkomsttyp: Skrivskyddad Information om källsessions-ID (SPID) för händelsen. |
Remarks
| Type | Name |
|---|---|
| MOF |
-
sqlmgmprovider.mof(SQL Server 2022 (16.x) och senare versioner)- sqlmgmproviderxpsp2up.mof(SQL Server 2019 (15.x) och tidigare versioner) |
| DLL | sqlmgmprovider.dll |
| Namespace | \root\Microsoft\SqlServer\ComputerManagement10 |
Example
Följande exempel visar hur man hämtar värden för alla loggade händelser i en specificerad loggfil. För att köra exemplet, ersätt <Instance_Name> med namnet på instansen av SQL Server, såsom 'Instance1', och ersätt 'File_Name' med namnet på felloggfilen, till exempel 'ERRORLOG.1'.
on error resume next
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" _
& strComputer & "\root\MICROSOFT\SqlServer\ComputerManagement10")
set logEvents = objWmiService.ExecQuery("SELECT * FROM SqlErrorLogEvent WHERE InstanceName = '<Instance_Name>' AND FileName = 'File_Name'")
For Each logEvent in logEvents
WScript.Echo "Instance Name: " & logEvent.InstanceName & vbNewLine _
& "Log Date: " & logEvent.LogDate & vbNewLine _
& "Log File Name: " & logEvent.FileName & vbNewLine _
& "Process Info: " & logEvent.ProcessInfo & vbNewLine _
& "Message: " & logEvent.Message & vbNewLine _
Next
Comments
När InstanceName eller FileName inte anges i WQL-satsen, returnerar frågan information för standardinstansen och den aktuella SQL Server-loggfilen. Till exempel returnerar följande WQL-sats alla logghändelser från den aktuella loggfilen (ERRORLOG) på standardinstansen (MSSQLSERVER).
"SELECT * FROM SqlErrorLogEvent"
Security
För att ansluta till en SQL Server-loggfil via WMI måste du ha följande behörigheter på både den lokala och fjärrdatorn:
Läs tillgång till Root\Microsoft\SqlServer\ComputerManagement10 WMI-namnrymden. Som standard har alla läsbehörighet via behörigheten Aktivera konto.
Läs behörighet till mappen som innehåller felloggarna. Som standard finns felloggarna i följande sökväg (där <Drive> representerar den enhet där du installerade SQL Server och <InstanceName> är namnet på instansen av SQL Server):
<Drive>:\Program Files\Microsoft SQL Server\MSSQL13.<InstanceName>\MSSQL\Log
Om du ansluter via en brandvägg, se till att ett undantag är inställt i brandväggen för WMI på fjärrdatorer som mål. För mer information, se Anslutning till WMI på distans från och med Windows Vista.