Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Microsoft.Data.SqlClient, veri erişimi izlemesini Microsoft.Data.SqlClient.EventSource olay kaynağı aracılığıyla sunar. Oracle, OLE DB ve ODBC için .NET Framework sağlayıcıları ve DataSet gibi diğer ADO.NET bileşenlerinin kendi izleme olanakları vardır.
Veri erişimi API çağrılarını izlemek aşağıdaki sorunları tanılamaya yardımcı olabilir:
İstemci programı ve veritabanı arasında şema uyuşmazlığı.
Veritabanına erişilemiyor veya ağ kütüphanesi sorunları.
Sabit kodlanmış veya uygulama tarafından oluşturulmuş yanlış SQL.
Yanlış programlama mantığı.
Birden çok ADO.NET bileşeni veya ADO.NET ile kendi bileşenleriniz arasındaki etkileşimden kaynaklanan sorunlar.
Farklı izleme teknolojilerini desteklemek için izleme genişletilebilir olduğundan geliştirici, uygulama yığınının herhangi bir düzeyinde bir sorunu izleyebilir. ADO.NET'e özgü bir özellik olmamakla birlikte, Microsoft sağlayıcıları genelleştirilmiş izleme ve enstrümantasyon API'lerinden yararlanmaktadır.
Microsoft.Data.SqlClient izlerinin nasıl toplanacağı hakkında daha fazla bilgi için bkz. SqlClient'da EventSource izlemeyi etkinleştirme.
Genişletilmiş Olay Günlüğünde Tanılama Bilgilerine Erişme
Bağlantı halkası arabelleğinde ve genişletilmiş olaylar günlüğünde yer alan bağlantı hataları gibi istemci olaylarını sunucu tanılama bilgileriyle ilişkilendirmek için Microsoft.Data.SqlClient bağlantı kimliklerini kullanın. Genişletilmiş olay günlüğünü okuma hakkında bilgi için bkz. Olay Oturumu Verilerini Görüntüleme.
Bağlantı işlemleri için Microsoft.Data.SqlClient, ön oturum açma değişimi sırasında bir istemci bağlantı kimliği gönderir. Bağlantı başarısız olursa bağlantı hatasıyla ilgili tanılama bilgilerini almak için bağlantı halkası arabelleğindeki ClientConnectionID alanını arayın. İstemci bağlantı kimlikleri yalnızca bir hata oluştuğunda kademe arabelleğine kaydedilir. Ön oturum açma değişiminden önce bağlantı başarısız olursa, sunucu kimliği almaz. İstemci bağlantı kimliği 16 baytlık bir GUID'dir.
client_connection_id eylemini genişletilmiş olaylar oturumundaki olaylara eklerseniz, istemci bağlantı kimliğini genişletilmiş olaylar hedef çıkışında da bulabilirsiniz.
İstemci bağlantı kimliğini program aracılığıyla almak için ClientConnectionId kullanın.
SqlConnection için bağlantı kimliği, bağlantıyı başarıyla kurduktan sonra kullanılabilir. Bağlantı girişimi başarısız olursa, kimlik ClientConnectionId aracılığıyla mevcut olabilir.
Microsoft. Data.SqlClient ayrıca olay kaynağı etkinleştirildiğinde ve sunucu izleme üst bilgilerini desteklediğinde toplu iş deyimleri ve uzak yordam çağrısı (RPC) istekleri için iş parçacığına özgü bir etkinlik kimliği gönderir. Genişletilmiş olaylar oturumunda etkinlik kimliğini yakalamak için TRACK_CAUSALITY seçeneğini etkinleştirin. Etkin bağlantıyla ilgili performans sorunları için, istemci izlemesinde ve ardından genişletilmiş olaylar çıkışında etkinlik kimliğini bulun. Etkinlik kimliği 16 bayt GUID ve dört baytlık bir sıra numarası içerir. Sıra numarası, bir iş parçacığı içindeki isteklerin göreli sırasını gösterir. Eski veri erişimi izleme yapılandırma sözcüğü, Microsoft.Data.SqlClient'ın olay kaynağını yapılandırmaz.
Transact-SQL kullanılarak, bir çevrim tamponunda saklanacak ve istemciden RPC ve toplu işlemlerde gönderilen etkinlik kimliğini kaydedecek bir genişletilmiş olay oturumunu başlatan aşağıdaki örnek verilmiştir.
create event session MySession on server
add event connectivity_ring_buffer_recorded,
add event sql_statement_starting (action (client_connection_id)),
add event sql_statement_completed (action (client_connection_id)),
add event rpc_starting (action (client_connection_id)),
add event rpc_completed (action (client_connection_id))
add target ring_buffer with (track_causality=on)