SqlErrorLogEvent, класс
Предоставляет свойства для просмотра события в указанном файле журнала SQL Server.
Синтаксис
class SQLErrorLogEvent
{
stringFileName;
stringInstanceName;
datetimeLogDate;
stringMessage;
stringProcessInfo;
};
Свойства
Класс SQLErrorLogEvent определяет следующие свойства.
FileName |
Тип данных: string Тип доступа: Только для чтения
Имя файла журнала ошибок. |
InstanceName |
Тип данных: string Тип доступа: Только для чтения Квалификаторы: Ключ Имя экземпляра SQL Server, на котором хранится файл журнала. |
LogDate |
Тип данных: datetime Тип доступа: Только для чтения Квалификаторы: Ключ
Дата и время записи события в файл журнала. |
Message |
Тип данных: string Тип доступа: Только для чтения
Сообщение о событии. |
ProcessInfo |
Тип данных: string Тип доступа: Только для чтения
Сведения об идентификаторе процесса сервера источника (SPID) события. |
Замечания
MOF |
Sqlmgmproviderxpsp2up.mof |
DLL-библиотеки |
Sqlmgmprovider.dll |
Пространство имен |
\root\Microsoft\SqlServer\ComputerManagement10 |
Пример
В этом примере рассматривается извлечение значений для всех записанных событий в указанном файле журнала. Чтобы запустить пример, замените <имя_экземпляра> именем экземпляра SQL Server, например «Экземпляр1», а «имя_файла» — именем файла журнала ошибок, например «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
Комментарии
Если InstanceName или FileName отсутствуют в инструкции WQL, запрос вернет информацию по стандартному экземпляру и текущему файлу журнала SQL Server. Например, следующая инструкция WQL вернет все события журнала из текущего файла журнала (ERRORLOG) в текущем экземпляре (MSSQLSERVER).
"SELECT * FROM SqlErrorLogEvent"
Безопасность
Для подключения к файлу журнала SQL Server с помощью инструментария WMI необходимы следующие разрешения на локальном и на удаленном компьютерах:
Доступ для чтения к пространству имен WMI Root\Microsoft\SqlServer\ComputerManagement10. По умолчанию доступ для чтения задается для всех с помощью разрешения «Включить учетную запись».
Разрешение для чтения на папку, содержащую журналы ошибок. По умолчанию журналы ошибок находятся по следующему пути (где <Диск> представляет диск, на котором установлен SQL Server, а <ИмяЭкземпляра> является именем экземпляра SQL Server):
<Drive>:\Program Files\Microsoft SQL Server\MSSQL11.<InstanceName>\MSSQL\Log
При соединении с использованием брандмауэра убедитесь, что в брандмауэре задано исключение для WMI на удаленных целевых компьютерах. Дополнительные сведения см. в разделе Удаленное соединения с WMI, начиная с Windows Vista.