Share via


Sunucu olayları WMI sağlayıcısı anlama

Sunucu olayları için WMI sağlayıcısı olaylarını izlemek için Windows Yönetim Araçları (WMI) kullanmanızı sağlar SQL Server. Sağlayıcı çalışır kapatarak SQL Serveryönetilen WMI nesnesine. Bir olay bildirimini oluşturmak herhangi bir olay SQL ServerBu sağlayıcı kullanarak WMI tarafından kullanılacak olabilir. Ayrıca, bir yönetim uygulaması, WMI ile etkileşimde bulunan SQL ServerAracısı kapsamındaki etkinlikler kapsamında artan bu olaylara yanıt verebilir SQL ServerAracısı üzerinden önceki sürümlerde.

Yönetim uygulamaları gibi SQL ServerAracısı erişebilirsiniz SQL ServerWMI Sorgu Dili (wql) ifadeler veren tarafından sunucu olayları için WMI sağlayıcısı kullanarak olayları. wql yapılandırılmış sorgu dili (sql), bazı WMI'ye özgü uzantıları ile basitleştirilmiş bir alt kümesidir. wql kullanarak, bir uygulama bir olay türü karşı belirli veritabanı veya veritabanı nesnesini alır. Sunucu olayları için WMI sağlayıcısı sorguyu etkili hedef veritabanı olay bildirim oluşturma bir olay bildirimi çevirir. Olay bildirimleri nasıl çalışma hakkında daha fazla bilgi için SQL Serverbakın Event Notifications (Database Engine). Sorgulanan olayların listelenen Server olay sınıfları ve özellikleri için WMI sağlayıcısı.

İleti göndermek için olay uyarısını tetikleyen bir olay ortaya çıktığında, önceden tanımlanmış hedef hizmet ileti gider msdb adlı bu SQL/Notifications/ProcessWMIEventProviderNotification/v1.0. Servis olayı önceden tanımlı bir sırada içine koyar msdb adlı bu WMIEventProviderNotificationQueue. (Ilk için bağlanan hizmet ve sıra dinamik olarak sağlayıcısı tarafından oluşturulur SQL Server.) Sağlayıcı sonra bu sıradan Olay verileri okur ve bu uygulamasına dönmeden önce yönetilen nesne biçimi (mof) dönüştürüyor. 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 = 'AdventureWorks'

SELECT * FROM DDL_DATABASE_LEVEL_EVENTS
WHERE DatabaseName = 'AdventureWorks'

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 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

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

Bu örnekte, SQLWEP_76CF38C1_18BB_42DD_A7DC_C8820155B0E9olan bir Transact-SQLtanımlayıcı öneki oluşur, SQLWEP_ve GUID. SQLWEPHer tanımlayıcı için yeni bir GUID oluşturur. Değeri A7E5521A-1CA6-4741-865D-826F804E5135de TO SERVICEyan tümcesi olduğunu broker örneği olarak tanıtan GUID 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ı bir örneği için sunucu olayları için WMI sağlayıcısı doğrudan SQL ServerSağlayıcı tarafından tanımlanmış bir WMI ad alanına bağlayarak. Windows WMI hizmeti sağlayıcısı dll, Sqlwep.dll, bu ad eşlemeleri ve belleğe yükler. Sağlayıcı her örneği için sunucu olayları için WMI ad alanı yöneten SQL Server, ve biçim: \\. \root\Microsoft\SqlServer\ServerEvents\instance_name, burada instance_namevarsayılan mssqlserver. WMI ad alanı örneği için bağlanma hakkında daha fazla bilgi için SQL Serverbakın Sunucu olayları için WMI sağlayıcısı ile çalışma.

Sağlayıcı dll, Sqlwep.dll, WMI ana hizmet ne olursa olsun kaç örneklerini sunucu işletim sisteminin yalnızca bir kez yüklenir SQL Serversunucudadır.

Bir örnek bir SQL ServerAracısı yönetim uygulaması kullanan 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ısı oluşturma. Yönetilen kod sunucu olayları için WMI sağlayıcısı kullanan bir yönetim uygulaması örneği için bkz: Örnek: ile WMI olay sağlayıcısı kullanma.net Framework. Daha fazla bilgi de WMI hakkında kullanılabilir Microsoft  .NET Frameworksdk.

Ayrıca bkz.

Kavramlar

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