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.
Şunlar için geçerlidir: .NET Framework
.NET
.NET Standard
.NET, SQL Server ve SQL Server ağ protokolleri için Microsoft SqlClient Veri Sağlayıcısı tarafından desteklenen yerleşik veri izleme işlevselliğine sahiptir.
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ğ kitaplığı sorunları.
Sabit kodlanmış veya uygulama tarafından oluşturulmuş yanlış SQL.
Yanlış programlama mantığı.
SQL Server için Microsoft SqlClient Veri Sağlayıcısı 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. SQL Server için Microsoft SqlClient Veri Sağlayıcısı genel izleme ve enstrümantasyon API'lerinden yararlanır.
.NET'te yönetilen izlemeyi ayarlama ve yapılandırma hakkında daha fazla bilgi için bkz. veri erişimini izleme.
Genişletilmiş olay günlüğünde tanılama bilgilerine erişme
SQL Server için Microsoft SqlClient Veri Sağlayıcısı'nda Veri Erişimi İzleme , istemci olaylarını, sunucunun bağlantı halkası arabelleğinden ve genişletilmiş olay günlüğündeki uygulama performansı bilgilerinden bağlantı hataları gibi tanılama bilgileriyle ilişkilendirmeyi kolaylaştırır. 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, SQL Server için Microsoft SqlClient Veri Sağlayıcısı bir istemci bağlantı kimliği gönderir. Bağlantı başarısız olursa, bağlantı halkası arabelleğine erişebilir (Bağlantı Halkası Arabelleği ile SQL Server 2008'de bağlantı sorunlarını giderme) ve alanı bulabilir ClientConnectionID ve bağlantı hatasıyla ilgili tanılama bilgilerini alabilirsiniz. İstemci bağlantı kimlikleri yalnızca bir hata oluştuğunda kademe arabelleğine kaydedilir. Ön oturum açma paketini göndermeden önce bağlantı başarısız olursa, istemci bağlantı kimliği oluşturulmaz. İstemci bağlantı kimliği 16 baytlık bir GUID'dir. Eylemin genişletilmiş olaylar oturumundaki olaylara eklenmesi durumunda client_connection_id istemci bağlantı kimliğini genişletilmiş olaylar hedef çıkışında da bulabilirsiniz. Daha fazla istemci sürücüsü tanılama yardımına ihtiyacınız varsa veri erişimi izlemeyi etkinleştirebilir ve bağlantı komutunu yeniden çalıştırabilir ve veri erişim izlemesindeki alanı gözlemleyebilirsiniz ClientConnectionID .
özelliğini kullanarak SqlConnection.ClientConnectionID istemci bağlantı kimliğini program aracılığıyla alabilirsiniz.
Uyarı
SQL Server için Microsoft SqlClient Veri Sağlayıcısı, 2.1.0 sürümünden bu yana oturum kimliğini (SPID) destekler.
SqlConnection.ServerProcessId özelliğini kullanarak program aracılığıyla edinebilirsiniz.
ClientConnectionID veServerProcessId, başarıyla bağlantı kuran bir SqlConnection nesne için kullanılabilir. Bağlantı girişimi başarısız olursa, SqlException.ToString aracılığıyla ClientConnectionID kullanılabilir.
SQL Server için Microsoft SqlClient Veri Sağlayıcısı da iş parçacığına özgü etkinlik kimliği gönderir. Oturumlar TRACK_CAUSALITY seçeneği etkin olarak başlatılırsa, etkinlik kimliği genişletilmiş olaylar oturumlarında yakalanır. Etkin bağlantıyla ilgili performans sorunları için, istemcinin veri erişim izlemesinden (ActivityID alan) etkinlik kimliğini alabilir ve ardından genişletilmiş olaylar çıkışında etkinlik kimliğini bulabilirsiniz. Genişletilmiş olaylardaki etkinlik kimliği, 4 baytlık bir sıra numarasıyla eklenmiş 16 bayt GUID'dir (istemci bağlantı kimliği için GUID ile aynı değildir). Sıra numarası, bir iş parçacığı içindeki isteğin sırasını temsil eder ve iş parçacığı için toplu iş ve RPC deyimlerinin göreli sıralamasını gösterir.
ActivityID şu anda, veri erişim izleme etkinleştirildiğinde ve veri erişimi izleme yapılandırma sözcüğündeki 18. bit AÇILDI olduğunda SQL toplu iş deyimleri ve RPC istekleri için isteğe bağlı olarak gönderilir.
Aşağıdaki SQL deyimi, bir kademe arabelleğinde depolanacak genişletilmiş olaylar oturumu başlatmak için Transact-SQL kullanan ve RPC ve toplu işlemlerde istemciden gönderilen etkinlik kimliğini kaydeden bir örnektir.
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)
Ayrıca bakınız
- SQL Server için Microsoft ADO.NET