odbc sürücüsü performans profil oluşturma
The SQL Server Native Client ODBC driver can profile two types of performance data:
Uzun süre çalıştırılan sorgular.
Sürücü bir günlük dosyası için yanıt saat içinde belirtilen miktarda sunucudan almak herhangi bir sorgu yazabilirsiniz.Araştırma her ne onun performansı belirlemek için sql deyim oturum bundan sonra uygulama programcıları veya veritabanı yöneticileri kullanabilirsiniz.
Sürücü performans verisi.
Sürücü performans istatistiklerini kaydedebilir ve ya da bir dosyaya yazmak veya bir uygulamaya sqlperf adlı bir sürücüye özgü veri yapısı üzerinden kullanılabilir hale getirmek.Performans istatistiklerini içeren destekler sekmeyle ayrılmış dosyalar, Microsoft Excel gibi bir elektronik tablo ile kolayca çözümlenebilir sekmeyle ayrılmış bir dosya dosyasıdır.
Her iki türdeki profil oluşturma tarafından açılabilir:
Veri bağlama kaynak günlük belirtir.
Arayan sqlkümeConnectAttr için küme sürücüye özgü öznitelikleri o denetim profil oluşturma.
Her uygulama işlemini kendi kopyasını alır SQL Server yerel istemci odbc sürücüsü ve profil genel birleşimine bir sürücü kopya ve bir uygulama süreci.Ne zaman uygulama içindeki herhangi bir şeyi profil oluşturma, profil oluşturma bilgileri kaydeder tüm bağlantılar için etkin sürücü bu uygulamadan açar.Özellikle profil oluşturma için arama hatta bağlantıları dahil edilir.
Sürücü (performans veri veya sorgu günlük uzun süre çalışan) bir profil oluşturma günlük açıldıktan sonra bir uygulama sürücüyü açılan tüm ortamı tutamaçları serbest bırakır, sürücü odbc Sürücü Yöneticisi tarafından kaldırıldı kadar günlük kapatmaz.Uygulamayı yeni bir ortam tanıtıcısı açar, sürücünün yeni bir kopyası yüklenir.Uygulamanın ardından ya da bağlanırsa, bir veri kaynak aynı günlük dosyasını belirtir veya aynı dosyaya kaydetmesi için sürücüye özgü özniteliklerini belirler, sürücü eski günlüğü üzerine yazar.
Profil oluşturma günlük dosyasına bir uygulamayı başlatır ve aynı günlük dosyası için profil oluşturma başlatmak ikinci bir uygulamanın çalışır, ikinci uygulama herhangi bir profil oluşturma verileri günlüğe kaydetmek mümkün değil.İkinci uygulamanın ilk uygulama, sürücü kaldırıldı sonra profil oluşturma başlarsa, ikinci uygulama ilk uygulamadan günlük dosyasının üzerine yazar.
Bir uygulama için bir veri bağlanırsa, kaynak olan etkin profil oluşturma, uygulama, sürücü SQL_ERROR hatası döndürür SQLSetConnectOption günlüğü başlatmak için.Çağrı SQLGetDiagRec sonra aşağıdaki döndürür:
SQLState: 01000, pfNative = 0
ErrorMsg: [Microsoft][SQL Server Native Client]
An error has occurred during the attempt to access
the log file, logging disabled.
Sürücü ortam tanıtıcısı kapalı olduğunda performans verileri toplama durur.Yoksa bir SQL Server yerel istemci uygulaması vardır, her biri kendi ortam tanıtıcısı ile birden çok bağlantı sonra sürücü ilişkili ortam tutamaçlardan birini kapandıktan sonra performans verileri toplama durur.
Sürücü performans verisi sqlperf veri yapısı içinde depolanan veya sekmeyle sınırlanmış bir dosyasında günlüğe.Aşağıdaki kategorilere istatistik verileri içerir:
Uygulama profili
Bağlantı
Ağ
Time
Aşağıdaki tablo, sqlperf veri yapısı alanlarında açıklamalarını performans günlük dosyasında kaydedilen istatistikleri için de geçerlidir.
sqlperf alan |
Açıklama |
---|---|
TimerResolution |
Sunucunun saatinin en düşük çözünürlüğü saat milisaniye cinsinden.Bu genellikle 0 (sıfır) olarak bildirilir ve yalnızca bildirilen sayıyı büyük düşünülmelidir.Sunucu saatinin en düşük çözünürlüğü timer tabanlı istatistikleri bazıları için büyük olasılıkla aralığından daha büyük ise, bu İstatistikler inflated. |
SQLidu |
INSERT, delete veya update deyimleri sql_perf_start sonra sayısı. |
SQLiduRows |
INSERT, delete veya update deyimleri sql_perf_start sonra sayısı. |
SQLSelects |
select deyimleri sql_perf_start sonra işlenen sayısı. |
SQLSelectRows |
sql_perf_start sonra seçili satır sayısı. |
İşlemler |
Geri alma dahil olmak üzere, sql_perf_start sonra kullanıcı işlem sayısı.Bir odbc uygulaması SQL_AUTOCOMMIT_ON ile çalışırken, her komutun bir hareket olarak kabul edilir. |
SQLPrepares |
Sayısı SQLPrepare sql_perf_start sonra çağrılar. |
ExecDirects |
Sayısı SQLExecDirect sql_perf_start sonra çağrılar. |
SQLExecutes |
Sayısı SQLExecute sql_perf_start sonra çağrılar. |
CursorOpens |
Sayısı sürücü sql_perf_start sonra sunucu imleci açtı. |
CursorSize |
İmleçler tarafından sql_perf_start sonra açılan sonuç kümesindeki satır sayısını belirtir. |
CursorUsed |
Satır sayısı gerçekte imleçler sürücüsünden aracılığıyla sql_perf_start sonra alındı. |
PercentCursorUsed |
CursorUsed/CursorSize'e eşittir.Örneğin, bir uygulama "count(*) from yazarlar SEÇMEK için" sunucu imleci açmak sürücü neden oluyorsa, 23 satır içinde olacak sonuç küme için deyim.Uygulama yalnızca üçünde bu getirir, CursorUsed/CursorSize PercentCursorUsed 13.043478, bu nedenle 3/23 olur. |
AvgFetchTime |
SQLFetchTime/SQLFetchCount'e eşittir. |
AvgCursorSize |
CursorSize/CursorOpens'e eşittir. |
AvgCursorUsed |
CursorUsed/CursorOpens'e eşittir. |
SQLFetchTime |
Toplam miktarını saat fetches tamamlamak için sunucu imleçler karşı sürdü. |
SQLFetchCount |
Fetches sql_perf_start sonra sunucu imleçler karşı yapılan sayısı. |
CurrentStmtCount |
Deyim sayısının tüm bağlantılarda sürücüde açık açık. |
MaxOpenStmt |
En fazla sayısı aynı anda açılan deyim sql_perf_start sonra işler. |
SumOpenStmt |
sql_perf_start sonra açılan deyim tanıtıcısı sayısı. |
Bağlantı istatistikleri: |
|
CurrentConnectionCount |
Uygulama etkin bağlantı tanıtıcısı geçerli sayısı sunucuya açın. |
MaxConnectionsOpened |
En fazla eşzamanlı bağlantı tutamaçları sql_perf_start sonra açılan sayısı. |
SumConnectionsOpened |
sql_perf_start sonra açılan bağlantı tanıtıcısı sayısı toplamı. |
SumConnectionTime |
Miktarı toplamı saat tüm bağlantıları sql_perf_start sonra açılmıştır.Örneğin, bir uygulama 10 bağlantı açılır ve her bağlantı için 5 saniye tutulan, SumConnectionTime 50 saniye olacaktır. |
AvgTimeOpened |
SumConnectionsOpened eşittir / SumConnectionTime. |
Ağ istatistikleri: |
|
ServerRndTrips |
Kaç kez sürücü komutları sunucuya gönderilen ve bir yanıt geri aldı. |
BuffersSent |
Sekmeli veri akışı (tds) gönderilen paketleri sayısı SQL Server sürücü sql_perf_start sonraBüyük komutları birden çok arabellekleri, böylece büyük bir komut gönderilir, sunucu ve onu doldurur altı paket, ServerRndTrips değeri bir artırılır ve BuffersSent tarafından altı artırılır alabilir. |
BuffersRec |
Sürücü tarafından alınan tds paket sayısı SQL Server sonra uygulamanın başlatılmasından kullanarak sürücü. |
BytesSent |
Gönderilen veri baytları sayısı SQL Server tds paketlerinde sonra uygulamanın başlatılmasından kullanarak sürücü. |
BytesRec |
tds paketleri sürücüsünden tarafından alınan veri bayt sayısı SQL Server sonra uygulamanın başlatılmasından kullanarak sürücü. |
sqlperf alan |
Açıklama |
---|---|
msExecutionTime |
Toplu sürücü harcanan süreyi sql_perf_start sonra işleme saat de dahil olmak üzere sunucu yanıtları başlamasının. |
msNetworkServerTime |
Sunucudan yanıt bekleniyor sürücü harcanan saat toplu tutarı. |
Ayrıca bkz.