Aracılığıyla paylaş


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

Sunucu olayları için WMI sağlayıcı olayları izlemek için Windows Yönetim Araçları (WMI) kullanmanıza olanak verir SQL Server. Kapatarak sağlayıcı çalışıyor SQL Server yönetilen bir WMI nesnesine. Olayı oluşturan herhangi bir olayı bildirim içinde SQL Server Bu sağlayıcıyı kullanarak WMI tarafından amacıyla. Ayrıca, WMI ile etkileşim bir yönetim uygulaması SQL Server Aracı bu olaylara yanıt verebilir olayları kapsamını artırma kapsamındaki SQL Server Önceki sürümler üzerine aracı.

Yönetim uygulamaları gibi SQL Server Aracı erişebilirsiniz SQL Server olaylar, WMI sorgu dili (WQL) deyimleri yayımlayarak, sunucu olayları için WMI sağlayıcı kullanma. WQL Basitleştirilmiş bir yapılandırılmış sorgu dilini (SQL), bazı WMı'YE özgü uzantıları içeren alt küme küme ' dir.WQL kullanarak, bir uygulamanın belirli bir veritabanı veya veritabanı nesnesini karşı bir olay türünü alır.Sunucu olayları için WMI sağlayıcı sorguyu, bir olay bildirim, etkin bir olay bildirim hedef veritabanında oluşturma. çevirir.Olay bildirimlerinin nasıl çalıştığı hakkında daha fazla bilgi için SQL Server, bkz: Olay bildirimleri (Veritabanı Altyapısı). Sorgulanabilir olayları listelenir Sunucu olayları için WMI sağlayıcı sınıfları ve özellikleri.

Ileti göndermek için olay uyarısını tetikleyen olayı oluştuğunda, iletinin bir önceden tanımlanmış hedef hizmetinde gider msdb adlıSQL/Notifications/ProcessWMIEventProviderNotification/v1.0.Hizmet olayı içinde önceden tanımlanmış bir sıra halinde yerleştirir. msdb adlıWMIEventProviderNotificationQueue.(Bu ilk bağlandığında hizmet hem de sıraya dinamik sağlayıcı tarafından oluşturulan SQL Server.) Sağlayıcı bu sıradan Olay verileri okur ve uygulamaya döndürülmeden önce Yönetilen Nesne Biçimi (MOF) dönüştürür. Aşağıda, bu işlem gösterilmiştir.

Flow diagram of the WMI Provider for Server Events

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

SELECT * FROM DDL_DATABASE_LEVEL_EVENTS
WHERE DatabaseName = 'AdventureWorks'

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

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.Değer A7E5521A-1CA6-4741-865D-826F804E5135 içinde TO SERVICE yan tümce Aracısı örneğinde tanımlayan bir GUID olduğundan msdb veritabanıdır.

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

Yönetim uygulamaları örnek için sunucu olayları için WMI sağlayıcısı doğrudan SQL Server Sağlayıcı tarafından tanımlanmış bir WMI ad bağlanarak. Windows WMI hizmet sağlayıcıya DLL, Sqlwep.dll, bu ad eşlemeleri ve onu belleğe yükler.Bir WMI ad alanı sağlayıcı her örnek için sunucu olayları için yönetir SQL Server, ve biçimi: \\.\kök\Microsoft\SqlServer\ServerEvents\instance_name, where instance_name MSSQLSERVER için varsayılan olarak ayarlanır.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ı ile çalışma.

Sağlayıcı DLL, Sqlwep.dll, yalnızca saat içine WMI ana bilgisayar hizmet kaç örneklerini ne olursa olsun, sunucunun işletim sisteminin yüklü olduğu SQL Server sunucuda var.

Bir örneği için bir SQL Server Sunucu olayları için WMI sağlayıcı kullanan aracısının yönetim uygulama Bkz: Örnek: Sunucu olayları için WMI sağlayıcı'nı kullanarak bir SQL Server Agent uyarısı oluşturma. WMI sağlayıcı, sunucu olayları için yönetilen kod kullanan yönetim uygulama örneği için bkz: Örnek: WMI olay sağlayıcı, .NET Framework ile kullanma. More information is also available about WMI in the Microsoft .NET Framework SDK.