Exemplo: Usando o provedor de eventos de WMI com o .NET Framework
O exemplo a seguir cria um aplicativo em C# que usa o Provedor de Eventos WMI para retornar dados de evento para todos os eventos de DDL (linguagem de definição de dados) que ocorrem em uma instância de instalação padrão do SQL Server.
Exemplo
O exemplo faz a compilação usando o seguinte arquivo 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();
}
}
}