SqlErrorLogEvent クラス

指定した SQL Server ログ ファイル内のイベントの表示に関するプロパティを提供します。

構文

class SQLErrorLogEvent 
{
   stringFileName;
   stringInstanceName;
   datetimeLogDate;
   stringMessage;
   stringProcessInfo;
};

プロパティ

SQLErrorLogEvent クラスは、次のプロパティを定義します。

FileName

データ型:string

アクセスの種類:読み取り専用

 

エラー ログ ファイルの名前です。

InstanceName

データ型:string

アクセスの種類:読み取り専用

修飾子:Key

ログ ファイルが存在する SQL Server インスタンスの名前。

LogDate

データ型:datetime

アクセスの種類:読み取り専用

修飾子:Key

 

イベントがログ ファイルに記録された日時。

Message

データ型:string

アクセスの種類:読み取り専用

 

イベント メッセージ。

ProcessInfo

データ型:string

アクセスの種類:読み取り専用

 

イベントのソース サーバー プロセス ID (SPID) に関する情報。

説明

MOF

Sqlmgmproviderxpsp2up.mof

DLL

Sqlmgmprovider.dll

名前空間

\root\Microsoft\SqlServer\ComputerManagement10

使用例

次の例では、指定したログ ファイルに記録されたすべてのイベントの値を取得する方法を示します。 この例を実行するには、<Instance_Name> を 'Instance1' などの SQL Server インスタンス名に置き換え、'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 ステートメントで InstanceName または FileName が指定されていない場合、クエリは既定のインスタンスと現在の SQL Server ログ ファイルの情報を返します。 たとえば、次の WQL ステートメントは、既定のインスタンス (MSSQLSERVER) 上の現在のログ ファイル (ERRORLOG) に含まれるすべてのログ イベントを返します。

"SELECT * FROM SqlErrorLogEvent"

セキュリティ

WMI を通じて SQL Server ログ ファイルに接続するには、ローカル コンピューターとリモート コンピューターの両方で次の権限が必要です。

  • Root\Microsoft\SqlServer\ComputerManagement10 WMI 名前空間への読み取りアクセス。 既定では、すべてのユーザーがアカウントの有効化権限による読み取りアクセスを持ちます。

  • エラー ログを格納したフォルダーへの読み取り権限。 既定では、エラー ログは次のパスにあります (<Drive> は SQL Server のインストール先ドライブ、<InstanceName> は SQL Server のインスタンス名です)。

    <Drive>:\Program Files\Microsoft SQL Server\MSSQL11.<InstanceName>\MSSQL\Log

ファイアウォール経由で接続する場合は、接続先のリモート コンピューターのファイアウォールで WMI 用に例外が設定されていることを確認する必要があります。 詳細については、「Windows Vista 以降で WMI にリモートで接続する」を参照してください。

関連項目

参照

SqlErrorLogFile クラス

概念

オフライン ログ ファイルの表示