次の方法で共有


SqlErrorLogFile クラス

適用対象: SQL サーバー

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

構文

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

プロパティ

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

プロパティ 説明
ArchiveNumber データ型: uint32

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

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

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

修飾子: キー

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

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

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

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

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

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

修飾子: キー

ログ ファイルの名前。

解説

Type 名前
MOF - sqlmgmprovider.mof (SQL Server 2022 (16.x) 以降のバージョン)
- sqlmgmproviderxpsp2up.mof (SQL Server 2019 (15.x) 以前のバージョン)
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 に接続するを参照してください。

関連項目