Sorgu Düzenleyicisi kullanılarak bir Genişletilmiş olayları oturumu oluşturma
Sorgu Düzenleyicisi'ni kullanarak Genişletilmiş olayları oturumu oluşturabilir veya nesne Explorer'da oturum oluşturabilirsiniz. Nesne Explorer'da Genişletilmiş olayları oluşturmak, değiştirmek ve olay oturum verilerini görüntülemek için kullanabileceğiniz iki kullanıcı arabirimleri sağlar — Olay oturumu oluşturma işleminde size yol gösteren bir sihirbaz ve daha gelişmiş yapılandırma seçenekleri sağlayan yeni bir oturum UI. Genişletilmiş olayları oturumlar aşağıdaki gibi sorunları gidermek sağlayan SQL Server izleme teşhis oluşturabilirsiniz:
En pahalı sorguları Bul
Mandal çakışması nedenlerini bulmak
Diğer sorguları engelleyen sorgu bulun
Tarafından sorgu recompilation neden aşırı cpu kullanımı ile ilgili sorunları giderme
Kilitlenme sorunlarını giderme
Yeni oturum Sihirbazı'nı kullanarak Genişletilmiş olayları oturumu oluşturma hakkında daha fazla bilgi için bkz: Sihirbaz (Object Explorer) kullanılarak bir Genişletilmiş olayları oturumu oluşturma. Yeni oturum kullanıcı arabirimini kullanarak Genişletilmiş olayları oturumu oluşturma hakkında daha fazla bilgi için bkz: Yeni oturum iletişim kutusu kullanılarak bir Genişletilmiş olayları oturumu oluşturma.
İzinler
Genişletilmiş olayları oturumu oluşturmak için alter any event oturum izni olmalıdır.
Sorgu Düzenleyicisi'ni kullanarak Genişletilmiş olayları oturumu oluşturma
Genişletilmiş olayları oturumu oluşturmak için
Aşağıdaki yordamı kullanarak sorgu Düzenleyicisi'nde Genişletilmiş olayları oturumu oluşturmak gösterilmiştir SQL Server Management Studio.
Oturumda kullanmak istediğiniz olayları belirler. Anahtar kelime ve Kanal ile birlikte kullanılabilir tüm olayları görmek için aşağıdaki sorgu kullanın:
[!NOT]
Anahtar kelimeler ve kanallar hakkında daha fazla bilgi için bkz: SQL Server Genişletilmiş olayları paketleri.
SELECT p.name, c.event, k.keyword, c.channel, c.description FROM ( SELECT event_package = o.package_guid, o.description, event=c.object_name, channel = v.map_value FROM sys.dm_xe_objects o LEFT JOIN sys.dm_xe_object_columns c ON o.name = c.object_name INNER JOIN sys.dm_xe_map_values v ON c.type_name = v.name AND c.column_value = cast(v.map_key AS nvarchar) WHERE object_type = 'event' AND (c.name = 'CHANNEL' or c.name IS NULL) ) c LEFT JOIN ( SELECT event_package = c.object_package_guid, event = c.object_name, keyword = v.map_value FROM sys.dm_xe_object_columns c INNER JOIN sys.dm_xe_map_values v ON c.type_name = v.name AND c.column_value = v.map_key AND c.type_package_guid = v.object_package_guid INNER JOIN sys.dm_xe_objects o ON o.name = c.object_name AND o.package_guid = c.object_package_guid WHERE object_type = 'event' AND c.name = 'KEYWORD' ) k ON k.event_package = c.event_package AND (k.event=c.event or k.event IS NULL) INNER JOIN sys.dm_xe_packages p ON p.guid = c.event_package ORDER BY keyword desc, channel, event
Yeni bir sorgu penceresi içinde bir olay oturumu oluşturmak için aşağıdaki deyimleri eklemek yerine session_namekullanmak istediğiniz oturumun adı:
Önemli 2-6, Bu yordamın adımlarını olay oturum tanımı bir bölümü açıklanmaktadır. Çalıştırmadan önce bir tek sorgu penceresi ifadeleri eklersiniz. Tam örnek için bu konuda örnek bölümüne bakın.
CREATE EVENT SESSION session_name ON SERVER
Formatında izlemek istediğiniz olay ekleme package_name.event_name. Her olay için aşağıdakine benzer bir satır ekleyin:
ADD EVENT package_name.event_name
Örneğin:
ADD EVENT sqlserver.file_read_completed, ADD EVENT sqlserver.file_write_completed
(İsteğe bağlı) Olay ekledikten sonra eylemler ekleyebilirsiniz. Yüklemler de ekleyebilirsiniz. Yüklemler, olay bilgilerini hedef tarafından tüketilen zaman ölçütünü oluşturmak için kullanılır. Eylemler eylem yan tümcesini kullanarak eklenir ve yüklemler bir where yan tümcesi kullanılarak eklenir. Örneğin, bir eylem ve yüklem eklemek için nereye Transact-SQLmetin için ele geçirdi sqlserver.file_read_completedDosya kimliği eşit olduğu 1, olay, şu ifade yer alıyor:
ADD EVENT sqlserver.file_read_completed (ACTION (sqlserver.sql_text) WHERE file_id = 1),
Hangi eylemleri kullanılabilir görüntülemek için aşağıdaki sorguyu kullanabilirsiniz:
SELECT p.name AS 'package_name', xo.name AS 'action_name', xo.description, xo.object_type FROM sys.dm_xe_objects AS xo JOIN sys.dm_xe_packages AS p ON xo.package_guid = p.guid WHERE xo.object_type = 'action' AND (xo.capabilities & 1 = 0 OR xo.capabilities IS NULL) ORDER BY p.name, xo.name
Hangi doğrulamaları için bir olay kullanılabilir görüntülemek için aşağıdaki kullanın sorgulamak, değiştirmek event_nameyüklemi eklemek istediğiniz olay adı:
SELECT * FROM sys.dm_xe_object_columns WHERE object_name = 'event_name' AND column_type = 'data'
Örneğin:
SELECT * FROM sys.dm_xe_object_columns WHERE object_name = 'file_read_completed' AND column_type = 'data'
Dikkat edin de genel koşul kaynakları ekleyebilirsiniz. Küresel bir koşul kaynak herhangi bir koşul ifadesi kullanılabilir. Hangi global doğrulama kaynakları kullanılabilir görüntülemek için aşağıdaki sorgu kullanın:
SELECT p.name AS package_name, xo.name AS predicate_name , xo.description, xo.object_type FROM sys.dm_xe_objects AS xo JOIN sys.dm_xe_packages AS p ON xo.package_guid = p.guid WHERE xo.object_type = 'pred_source' ORDER BY p.name, xo.name
Örneğin, verileri yalnızca bir olay için olay ilk beş kez toplanan belirtmek için aşağıdaki koşul ifadesi kullanabilirsiniz.
WHERE package0.counter <= 5
Olay verileri nerede işlenmiş ve tüketilen istenen hedef ekleyin. Aşağıdaki biçimi kullanın:
ADD TARGET package_name.target_name
Aşağıdaki örnek, zaman uyumsuz dosya hedef ekler:
ADD TARGET package0.asynchronous_file_target (SET filename = 'c:\temp\xelog.xel', metadatafile = 'c:\temp\xelog.xem')
Kullanılabilir hedeflerin listesini görüntülemek için aşağıdaki sorguyu kullanabilirsiniz:
SELECT p.name AS 'package_name', xo.name AS 'target_name' , xo.description, xo.object_type FROM sys.dm_xe_objects AS xo JOIN sys.dm_xe_packages AS p ON xo.package_guid = p.guid WHERE xo.object_type = 'target' AND (xo.capabilities & 1 = 0 OR xo.capabilities IS NULL) ORDER BY p.name, xo.name
[!NOT]
Farklı hedef türleri hakkında daha fazla bilgi için bkz: SQL Server Genişletilmiş olayları hedefleri.
Gözden geçirin ve ek yapılandırma seçenekleri ekleyin. Örneğin, sen-ebilmek configure seçenekleri olay bekletme modu, olayları bellekte ne kadar arabelleğe alınmış veya olay oturumu otomatik olarak başlaması gerekir ne zaman SQL Serverbaşlar. Seçenekler konusunda açıklanan alter olay SESSION (Transact-sql). Bu seçenek belirtilmezse, varsayılan değerler atanır unutmayın.
Oturumu başlatmak. Başlatma veya durdurma bir oturum hakkında daha fazla bilgi için bkz: How to: Start or Stop an Extended Events Session (Transact-SQL).
[!NOT]
Oturumunun sonuçlarını görüntüleme hakkında daha fazla bilgi için kullandığınız hedef türüne karşılık gelen konusuna SQL Server Genişletilmiş olayları hedefleridüğümünde çevrimiçi kitaplar.
Aşağıdaki örnek, aşağıdaki bilgileri yakalar IOActivity adlı genişletilmiş olayları oturumu oluşturur:
Olay verileri ilişkili dahil tamamlanan dosya okuma Transact-SQLdosyasını okur dosya kimliği 1'e eşit olduğu.
Olay verileri tamamlanan dosya için yazıyor.
Olay verileri ne zaman veri günlük önbellekten fiziksel günlük dosyasına yazılır.
Oturum çıkış dosyası hedefe gönderir.
CREATE EVENT SESSION IOActivity
ON SERVER
ADD EVENT sqlserver.file_read_completed
(
ACTION (sqlserver.sql_text)
WHERE file_id = 1),
ADD EVENT sqlserver.file_write_completed,
ADD EVENT sqlserver.databases_log_flush
ADD TARGET package0.asynchronous_file_target
(SET filename = 'c:\temp\xelog.xel', metadatafile = 'c:\temp\xelog.xem')
Ayrıca bkz.
Başvuru
OLAY SESSION (Transact-sql) oluştur