Opis dostawcy WMI dla zdarzeń serwera

Instrumentacja zarządzania Windows Dostawcy zdarzeń serwera umożliwia korzystanie z Instrumentacja zarządzania Windows (Instrumentacja zarządzania Windows) do monitorowania zdarzeń w SQL Server.Dostawca działa, włączając SQL Server do zarządzanego obiektu usługi WMI.Wszystkie zdarzenie, które można wygenerować powiadomienie o zdarzeniu w SQL Server można użyć przez WMI przy użyciu dostawca.Ponadto, jako aplikacji zarządzania, który współdziała z usługą WMI SQL Server Agent może odpowiedzieć na te zdarzenia, zwiększenie zakres zdarzenia objęte SQL Server agenta w starszych wersjach.

Aplikacje zarządzania, takie jak SQL Server dostęp agenta SQL Server zdarzeń przy użyciu dostawcy WMI dla zdarzeń serwera poprzez wydanie oświadczenia język kwerend usługi WMI (WQL).WQL jest uproszczony podzbiór z structured query language (SQL) niektóre rozszerzenia specyficzne dla usługi WMI.Przy użyciu języka WQL, aplikacja pobiera typ zdarzenie przeciwko określonej bazy danych lub obiektu bazy danych.Dostawca WMI dla zdarzeń serwera tłumaczy kwerendy do powiadomienie o zdarzeniu, efektywne tworzenie powiadomienie o zdarzeniu w miejsce docelowe bazie danych.Aby uzyskać więcej informacji dotyczących sposobu zdarzenie powiadomienia o pracy w SQL Server, zobacz Powiadomienia o zdarzeniach (aparat bazy danych).Zdarzenia, które mogą być wyszukiwane są wymienione w Dostawcy WMI dla klas zdarzeń serwera i właściwości.

Kiedy występuje zdarzenie wyzwalające powiadomienie o zdarzeniu do wysyłania wiadomości, wiadomości przechodzi do usługa miejsce docelowe wstępnie zdefiniowanych w msdb o nazwie SQL/Notifications/ProcessWMIEventProviderNotification/v1.0.Usługa umieszcza zdarzenie w kolejce wstępnie zdefiniowanych w msdb o nazwie WMIEventProviderNotificationQueue.(Usługa i kolejki są tworzone dynamicznie przez dostawca po raz pierwszy łączy się z SQL Server.) Dostawca następnie odczytuje zdarzenie danych z tej kolejki i przekształca go zarządzanych object format (MOF) przed wpuszczeniem go do aplikacji.Na następującej ilustracji pokazano tego procesu.

Diagram przepływu dostawcy WMI dla zdarzeń serwera

Na przykład rozważmy następujące kwerendy WQL:

SELECT * FROM DDL_DATABASE_LEVEL_EVENTS
WHERE DatabaseName = 'AdventureWorks2008R2'

W odpowiedzi na tę kwerendę, dostawca WMI dla zdarzeń serwera tworzy odpowiednik powiadomienie o zdarzeniu w miejsce docelowe bazie danych:

USE AdventureWorks2008R2 ;
GO
CREATE EVENT NOTIFICATION SQLWEP_76CF38C1_18BB_42DD_A7DC_C8820155B0E9
    ON DATABASE
    WITH FAN_IN
    FOR DDL_DATABASE_LEVEL_EVENTS
    TO SERVICE
        'SQL/Notifications/ProcessWMIEventProviderNotification/v1.0', 
        'A7E5521A-1CA6-4741-865D-826F804E5135';
GO

In this example, SQLWEP_76CF38C1_18BB_42DD_A7DC_C8820155B0E9 is a Transact-SQL identifier that is made up of the prefix SQLWEP_ and a GUID.SQLWEP creates a new GUID for each identifier.Wartość A7E5521A-1CA6-4741-865D-826F804E5135 w TO SERVICE Klauzula jest identyfikator GUID, który identyfikuje wystąpienie broker w msdb bazy danych.

Aby uzyskać więcej informacji na temat pracy z WQL, zobacz Korzystanie z dostawcy WMI WQL, dla zdarzeń serwera.

Aplikacje do zarządzania bezpośredni dostawca WMI dla zdarzeń serwera do wystąpienie SQL Server przez połączenie do obszaru nazw WMI, który jest zdefiniowany przez dostawca.Usługa WMI systemu Windows mapuje ten obszar nazw dostawca biblioteki DLL, Sqlwep.dll i ładuje go do pamięci.Dostawca zarządza nazw WMI dla zdarzeń serwera dla każdego wystąpienie SQL Server, a format jest: \\.\głównego\Microsoft\SqlServer\ServerEvents\nazwa_wystąpienia, gdzie nazwa_wystąpienia wartością domyślną jest MSSQLSERVER.Aby uzyskać więcej informacji dotyczących sposobu łączenia się do obszaru nazw WMI dla wystąpienie SQL Server, zobacz Praca z dostawcy WMI dla zdarzeń serwera.

Biblioteka DLL dostawca, Sqlwep.dll, jest ładowany tylko jeden czas do usługi WMI hosta usługi systemu operacyjnego serwera, bez względu na liczbę wystąpień SQL Server na serwerze.

Na przykład SQL Server aplikacji do zarządzania Agent używający dostawcy WMI dla zdarzeń serwera, zobacz Próbki: Tworzenie SQL Server Agent Alert za pomocą dostawcy WMI dla zdarzeń serwera.Na przykład aplikacji do zarządzania używa dostawcy WMI dla zdarzeń serwera w kod zarządzany, zobacz Próbki: Za pomocą dostawcy zdarzeń WMI przy użyciu.NET Framework.More information is also available about WMI in the Microsoft .NET Framework SDK.