Класс SqlErrorLogEvent
Область применения: SQL Server
Предоставляет свойства для просмотра событий в указанном файле журнала SQL Server.
Синтаксис
class SQLErrorLogEvent
{
stringFileName;
stringInstanceName;
datetimeLogDate;
stringMessage;
stringProcessInfo;
};
Свойства
Класс SQLErrorLogEvent определяет следующие свойства.
Свойство | Description |
---|---|
FileName | Тип данных: строка Тип доступа: только для чтения Имя файла журнала ошибок. |
InstanceName | Тип данных: строка Тип доступа: только для чтения Квалификаторы: ключ Имя экземпляра SQL Server, в котором находится файл журнала. |
LogDate | Тип данных: datetime Тип доступа: только для чтения Квалификаторы: ключ Дата и время записи события в файл журнала. |
Сообщение | Тип данных: строка Тип доступа: только для чтения Сообщение о событии. |
ProcessInfo | Тип данных: строка Тип доступа: только для чтения Сведения об идентификаторе процесса сервера источника (SPID) события. |
Замечания
Тип | Имя. |
---|---|
MOF | - sqlmgmprovider.mof (SQL Server 2022 (16.x) и более поздних версий)- sqlmgmproviderxpsp2up.mof (SQL Server 2019 (15.x) и более ранних версий) |
DLL-библиотеки | sqlmgmprovider.dll |
Пространство имен | \root\Microsoft\SqlServer\ComputerManagement10 |
Пример
В этом примере рассматривается извлечение значений для всех записанных событий в указанном файле журнала. Чтобы запустить пример, замените <Instance_Name именем экземпляра SQL Server, например Instance1, и замените "File_Name> " именем файла журнала ошибок, например 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
Комментарии
Если имя экземпляра или имя_файла не указаны в инструкции WQL, запрос возвращает сведения для экземпляра по умолчанию и текущий файл журнала SQL Server. Например, следующая инструкция WQL возвращает все события журнала из текущего файла журнала (ERRORLOG) в экземпляре по умолчанию (MSSQLSERVER).
"SELECT * FROM SqlErrorLogEvent"
Безопасность
Чтобы подключиться к файлу журнала SQL Server через WMI, необходимо иметь следующие разрешения на локальных и удаленных компьютерах:
Доступ на чтение к пространству имен WMI Root\Microsoft\SqlServer\ComputerManagement10 . По умолчанию доступ для чтения задается для всех с помощью разрешения «Включить учетную запись».
Разрешение для чтения на папку, содержащую журналы ошибок. По умолчанию журналы ошибок находятся в следующем пути (где <диск представляет диск> , на котором установлен SQL Server и <Имя экземпляра> — это имя экземпляра SQL Server):
<Диск>:\Program Files\Microsoft SQL Server\MSSQL13.<>Имя_экземпляра\MSSQL\Log
Если вы подключаетесь через брандмауэр, убедитесь, что исключение задано в брандмауэре для WMI на удаленных целевых компьютерах. Дополнительные сведения см. в статье "Удаленное подключение к WMI с Windows Vista".
См. также
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по