Aracılığıyla paylaş


Sunucu olayları için WMI sağlayıcısı anlama

Sunucu olayları için WMI sağlayıcısı Windows Yönetim Araçları (WMI) olayları izlemek için kullanmanıza olanak verir SQL Server.Sağlayıcı çalışır kapatarak SQL Server içine bir yönetilen WMI nesnesi.olay bildirim de üreten olay SQL Server verecek tarafından WMI kullanarak bu sağlayıcı.Ayrıca, WMI ile kurduğu bir yönetim uygulaması olarak SQL Server Aracısı artırarak bu olaylara yanıt verebilir kapsam kapsamındaki olayların SQL Server Aracısı üzerinden önceki sürümleri.

Yönetim uygulamaları gibi SQL Server Aracısı erişebileceğiniz SQL Server olayları göndererek sunucu olayları için WMI sağlayıcısı kullanmaWMI Sorgu Dili (wql) ifadeleri. wql bazı WMI'ye özgü uzantıları ile yapılandırılmış sorgu dili (sql) basitleştirilmiş alt küme küme küme kümesidir.wql kullanarak, bir uygulama bir olay türü karşı belirli bir veritabanı veya veritabanı nesnesini alır.Sunucu olayları için WMI sağlayıcısı etkin bir şekilde hedef veritabanındaki olay bildirim oluşturmak sorgu olay bildirim çevirir.Olay bildirimleri nasıl çalışmak hakkında daha fazla bilgi için SQL Server, bkz: Olay bildirimleri (veritabanı altyapısı).Sorgulanabilir olayları listelenen Server olay sınıfları ve özellikleri için WMI sağlayıcısı.

İleti göndermek için olay bildirim tetikleyen bir olay ortaya çıktığında, bir önceden tanımlanmış hedef hizmet ileti gider msdb , adlı SQL/Notifications/ProcessWMIEventProviderNotification/v1.0.Önceden tanımlı bir sırada içine olay hizmet getirmeden msdb , adlı WMIEventProviderNotificationQueue.(Onu ilk kez bağlandığında hem hizmet ve sıra dinamik olarak sağlayıcı tarafından oluşturulur SQL Server.) Sağlayıcı bu sıradan Olay verileri okur ve uygulamasına dönmeden önce yönetilen nesne biçimi (mof) dönüştürür.Bu işlem aşağıda gösterilmiştir.

Sunucu Olayları için WMI Sağlayıcısı akış diyagramı

Örneğin, aşağıdaki wql sorgu göz önünde bulundurun:

SELECT * FROM DDL_DATABASE_LEVEL_EVENTS
WHERE DatabaseName = 'AdventureWorks2008R2'

Bu sorgu yanıt olarak, sunucu olayları için WMI sağlayıcısı hedef veritabanındaki eşdeğer olay bildirim oluşturur:

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.Değeri A7E5521A-1CA6-4741-865D-826F804E5135 , TO SERVICE yan tümce tümce tümce broker örnek tanımlayan GUID değeridir msdb veritabanı.

wql ile çalışma hakkında daha fazla bilgi için bkz: wql sunucu olayları ile WMI sağlayıcısı kullanma.

Yönetim uygulamaları için sunucu olayları WMI sağlayıcısı örnek olarak doğrudan SQL Server bağlanarak tarafından tanımlanan bir WMI ad alanınasağlayıcı. Windows WMI hizmet sağlayıcı için dll, Sqlwep.dll, bu ad eşlemeleri ve belleğe yükler.Sağlayıcı bir WMI ad alanına her örnek için sunucu olaylarını yönetir SQL Server, ve Biçim: \\.\kök\Microsoft\SqlServer\ServerEvents\Örnek_adı, nerede Örnek_adı varsayılan mssqlserver.Bir WMI ad alanı örnek için bağlanma hakkında daha fazla bilgi için SQL Server, bkz: Sunucu olayları için WMI sağlayıcısı ile çalışma.

Sağlayıcı dll, Sqlwep.dll, yalnızca bir kez yüklenir saat WMI'ya hizmet örneği sayısından bağımsız olarak, sunucunun işletim sisteminin ana SQL Server olan server.

Bir örnek için bir SQL Server Aracısı yönetim uygulaması sunucu olayları için WMI sağlayıcısı Bkz: Örnek: Sunucu olayları için WMI sağlayıcısı kullanarak SQL Server Agent uyarı oluşturma.Sunucu olayları için WMI sağlayıcısı içinde yönetilen kod kullanan bir yönetim uygulaması örneği için bkz: Örnek: İle WMI Olay sağlayıcısı kullanma.net Framework.More information is also available about WMI in the Microsoft .NET Framework SDK.