次の方法で共有


SqlErrorLogFile クラス

SQL Server ログ ファイルに関する情報を表示するためのプロパティを提供します。

構文

  
class SQLErrorLogFile  
{  
   uint32ArchiveNumber;  
   stringInstanceName;  
   datetimeLastModified;  
   uint32LogFileSize;  
   stringName;  
  
};  

プロパティ

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

ArchiveNumber データ型: uint32

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



ログ ファイルのアーカイブ番号。
InstanceName データ型: string

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

修飾子: キー



ログ ファイルが存在する SQL Server のインスタンスの名前。
LastModified データ型: datetime

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



ログ ファイルの最終変更日。
LogFileSize データ型: uint32

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



ログ ファイルのサイズ (バイト単位)。
Name データ型: string

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

修飾子: キー



ログ ファイルの名前。

解説

MOF Sqlmgmprovider xpsp2up.mof
DLL Sqlmgmprovider.dll
名前空間 \root\Microsoft\SqlServer\ComputerManagement10

次の例では、指定した SQL Server インスタンス上のすべての SQL Server ログ ファイルに関する情報を取得します。 この例を実行するには、 <Instance_Name> をインスタンスの名前 (例: "Instance1") に置き換えます。

on error resume next  
set strComputer = "."  
set objWMIService = GetObject("winmgmts:\\.\root\Microsoft\SqlServer\ComputerManagement10")  
set LogFiles = objWmiService.ExecQuery("SELECT * FROM SqlErrorLogFile WHERE InstanceName = '<Instance_Name>'")  
  
For Each logFile in LogFiles  
  
WScript.Echo "Instance Name:  " & logFile.InstanceName & vbNewLine _  
    & "Log File Name:  " & logFile.Name & vbNewLine _  
    & "Archive Number: " & logFile.ArchiveNumber & vbNewLine _  
    & "Log File Size:  " & logFile.LogFileSize & " bytes" & vbNewLine _  
    & "Last Modified:  " & logFile.LastModified & vbNewLine _  
  
Next   

Comments

WQL ステートメントで InstanceName が指定されていない場合、クエリは既定のインスタンスの情報を返します。 たとえば、次の WQL ステートメントは、既定のインスタンス (MSSQLSERVER) からすべてのログ ファイルに関する情報を返します。

"SELECT * FROM SqlErrorLogFile"  

セキュリティ

WMI 経由で SQL Server ログ ファイルに接続するには、ローカル コンピューターとリモート コンピューターの両方で次のアクセス許可が必要です。

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

    Note

    WMI のアクセス許可を確認する方法については、「オフライン ログ ファイルの表示」トピックの「セキュリティ」セクションを参照してください。

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

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

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

参照

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