Ejemplo: utilizar el proveedor de eventos WMI con .NET Framework
En el ejemplo siguiente se crea una aplicación en C# que utiliza el proveedor de eventos WMI para devolver datos de evento de todos los eventos de lenguaje de definición de datos (DDL) que se producen en una instancia de instalación predeterminada de SQL Server.
Ejemplo
El ejemplo se compila con el siguiente archivo de comandos:
set compiler_path=C:\WINNT\Microsoft.NET\Framework\v2.0.50110
%compiler_path%\csc %1
using System;
using System.Management;
class SQLWEPExample
{
public static void Main(string[] args)
{
string query = @"SELECT * FROM DDL_EVENTS " ;
// Default namespace for default instance of SQL Server
string managementPath =
@"\\.\root\Microsoft\SqlServer\ServerEvents\MSSQLSERVER";
ManagementEventWatcher watcher =
new ManagementEventWatcher(new WqlEventQuery (query));
ManagementScope scope = new ManagementScope (managementPath);
scope.Connect();
watcher.Scope = scope;
Console.WriteLine("Watching...");
while (true)
{
ManagementBaseObject obj = watcher.WaitForNextEvent();
Console.WriteLine("Event!");
foreach (PropertyData data in obj.Properties)
{
Console.Write("{0}:", data.Name);
if (data.Value == null)
{
Console.WriteLine("<null>");
}
else
{
Console.WriteLine(data.Value.ToString());
}
}
Console.WriteLine("-----");
Console.WriteLine();
Console.WriteLine();
}
}
}