Образец. Использование поставщика событий WMI с платформой .NET Framework
В следующем образце строится приложение на языке C#, которое использует поставщика событий WMI, чтобы возвратить данные событий для всех событий языка DDL, которые происходят на установочном экземпляре по умолчанию SQL Server.
Пример
Следующий пример компилируется с использованием следующего командного файла:
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(); } }}