Udostępnij za pośrednictwem


Opis dostawca WMI dla zdarzenia serwera

Dostawca WMI dla zdarzenia serwera pozwala na korzystanie z Instrumentacja zarządzania Windows (WMI) do monitorowania zdarzeń SQL Server. Obiekt dostawca, włączając SQL Server w zarządzanym obiekt usługi WMI. Wszystkie zdarzenie, które mogą być generowane powiadomienie zdarzeniu w SQL Server można użyć przez WMI przy użyciu tego dostawca. Ponadto aplikacja zarządzania, która komunikuje się z usługą WMI, SQL Server Zwiększenie zakres zdarzeń objętych Agent może odpowiedzieć na te zdarzenia SQL Server Agent w starszych wersjach.

Aplikacje do zarządzania, takie jak SQL Server Agent może uzyskać dostęp. SQL Server zdarzenia przy użyciu dostawca WMI dla zdarzenia serwera wykonując instrukcje języka WQL (język kwerend usługi WMI). WQL jest podzbiorem uproszczony język structured query language (SQL), niektóre rozszerzenia specyficzne dla usługi WMI.Korzystając z WQL, aplikacja pobiera typ zdarzenie dla określonej bazy danych lub obiektu bazy danych.Dostawca WMI dla zdarzenie Server przetwarza kwerendę na powiadomienie o zdarzeniu, efektywne tworzenie powiadomienie o zdarzeniu w miejsce docelowe bazie danych.Aby uzyskać więcej informacji na temat działania powiadomień o zdarzeniach w SQL Server, zobacz Event Notifications (Database Engine). Zdarzenia, które mogą być proszeni są wymienione w Dostawca WMI dla zdarzenia serwera klasy i właściwości.

Po wystąpieniu zdarzenie wyzwalającego powiadomienie o zdarzeniu do wysyłania wiadomości, wiadomość jest wysyłana do usługa miejsce docelowe wstępnie zdefiniowanych w msdb o nazwie SQL/Notifications/ProcessWMIEventProviderNotification/v1.0.usługa zdarzenie powoduje umieszczenie w kolejce wstępnie zdefiniowanych w msdb o nazwie WMIEventProviderNotificationQueue.(Usługa i kolejki są tworzone dynamicznie przez dostawca podczas łączenia się najpierw z SQL Server.) Dostawca następnie odczytuje dane opisujące zdarzenie z tą kolejką i przekształca go na obiekt zarządzany format (MOF) przed ponownym wyświetleniem aplikacji. Na poniższej ilustracji przedstawiono tego procesu.

Flow diagram of the WMI Provider for Server Events

Na przykład należy wziąć pod uwagę następujące kwerendy WQL:

SELECT * FROM DDL_DATABASE_LEVEL_EVENTS
WHERE DatabaseName = 'AdventureWorks'

W odpowiedzi na tę kwerendę dostawca WMI dla zdarzenie Server tworzy powiadomienie równoważne zdarzenie w miejsce docelowe bazie danych:

USE AdventureWorks ;
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 brokera msdb bazy danych.

Aby uzyskać więcej informacji na temat pracy z WQL zobacz Przy użyciu WQL w dostawca WMI dla zdarzenia serwera.

Aplikacje do zarządzania bezpośrednio dostawca WMI dla zdarzenia Server do wystąpienie SQL Server Łącząc się z obszarem nazw WMI, który jest zdefiniowany przez dostawcę. Usługa WMI systemu Windows mapuje ten obszar nazw dostawca biblioteki DLL, Sqlwep.dll i ładuje go do pamięci.Dostawca obszaru nazw WMI zarządza dla zdarzenia serwera dla każdego wystąpienie SQL Server, a format jest: \\.\katalog główny\Microsoft\SqlServer\ServerEvents\ instance_name, where instance_name domyślnie MSSQLSERVER.Aby uzyskać więcej informacji na temat sposobu łączenia się z nazw WMI dla wystąpienie SQL Server, zobacz Praca z dostawca WMI dla zdarzenia serwera.

Dostawca biblioteki DLL, Sqlwep.dll, zostanie załadowany tylko jeden raz do hosta usługa WMI systemu operacyjnego serwera, niezależnie od liczby wystąpień SQL Server znajdują się na serwerze.

Aby zapoznać się z przykładem SQL Server Zobacz aplikacji do zarządzania Agent, która używa dostawca WMI dla zdarzenia serwera Przykład: Tworząc alert agenta serwera SQL przy użyciu dostawca WMI dla zdarzenia serwera. Aby zapoznać się z przykładem aplikacji zarządzania, która używa dostawca WMI dla zdarzenia serwera w kodzie zarządzanym zobacz Przykład: Dostawca zdarzeń WMI przy użyciu systemu .NET Framework. More information is also available about WMI in the Microsoft .NET Framework SDK.