SqlErrorLogFile クラス
適用対象: SQL Server
SQL Server ログ ファイルに関する情報を表示するためのプロパティを提供します。
構文
class SQLErrorLogFile
{
uint32ArchiveNumber;
stringInstanceName;
datetimeLastModified;
uint32LogFileSize;
stringName;
};
プロパティ
SQLErrorLogFile クラスは、次のプロパティを定義します。
プロパティ | 説明 |
---|---|
ArchiveNumber | データ型: uint32 アクセスの種類: 読み取り専用 ログ ファイルのアーカイブ番号。 |
InstanceName | データ型: string アクセスの種類: 読み取り専用 修飾子: キー ログ ファイルが存在する SQL Server のインスタンスの名前。 |
LastModified | データ型: datetime アクセスの種類: 読み取り専用 ログ ファイルの最終変更日。 |
LogFileSize | データ型: uint32 アクセスの種類: 読み取り専用 ログ ファイルのサイズ (バイト単位)。 |
Name | データ型: string アクセスの種類: 読み取り専用 修飾子: キー ログ ファイルの名前。 |
解説
Type | Name |
---|---|
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 名前空間への読み取りアクセス。 既定では、すべてのユーザーがアカウントの有効化権限による読み取りアクセスを持ちます。エラー ログを格納したフォルダーへの読み取り権限。 既定では、エラー ログは次のパス ( <Drive> は SQL Server をインストールしたドライブを表し、 <InstanceName> は SQL Server のインスタンスの名前です)。
<Drive>:\Program Files\Microsoft SQL Server\MSSQL11 .<InstanceName>\MSSQL\Log
ファイアウォール経由で接続している場合は、リモート ターゲット コンピューター上の WMI のファイアウォールで例外が設定されていることを確認します。 詳細については、「 Windows Vista からリモートで WMI に接続するを参照してください。