ODBC sürücüsü performans profil oluşturma
The SQL Server Native istemci 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ına bir yanıt sunucudan belirtilen bir sürenin içinde elde etmez herhangi bir sorgu yazabilirsiniz.SQL deyim, nasıl, performansı belirlemek için araştırma her oturum uygulaması programcı veya veritabanı yöneticilerinin seçebilir.
Sürücü performans verisi.
Sürücü, performans istatistiklerini kaydedebilirsiniz ve herhangi bir dosyaya yazmak veya bir uygulamaya SQLPERF adlı bir sürücüye özgü veri yapýsý yoluyla kullanılabilir duruma getirmek.Performans istatistikleri'ni içeren sekmeyle ayrılmış dosyalar, Microsoft Excel gibi destekleyen herhangi bir elektronik tabloyla kolayca çözümlenebilir sekmeyle ayrılmış bir dosya dosyadır.
Her iki türdeki profil oluşturma tarafından açık olması:
Bir veri bağlama kaynak günlük belirtir.
Arama SQLSetConnectAttr , bu denetim profil oluşturma, sürücüye özgü özniteliklerini ayarlamak için.
Her uygulama işlemi kendi kopyasını alır SQL Server Yerel istemci ODBC sürücüsü ve profil oluşturma, genel bir sürücü kopyası ve bir uygulama işlemi birleşimi. Ne zaman uygulamadaki herhangi bir şey profiling profiling kayıtları bilgiler tüm bağlantılarda, uygulamadan sürücüsündeki etkin açar.Özellikle için profil oluşturma çağrısı değil, hatta bağlantıları bulunur.
Sürücü (performans verileri veya uzun süre çalışan sorgunun günlük) profiling günlüğünü açtı sonra uygulama, sürücüdeki açılmış tüm ortam tanıtıcısı serbest bırakma, 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, yeni bir kopyasını yüklenir.Uygulama sonra herhangi bir veri bağlanıyorsa kaynak aynı günlük dosyasına belirtir veya aynı dosyaya oturum sürücüye özgü özniteliklerini ayarlar, sürücü, eski günlük üzerine yazar.
Bir günlük dosyası için profil oluşturma, bir uygulamayı başlatır ve ikinci bir uygulama için aynı günlük dosyasına profil oluşturma başlatmaya çalışır, ikinci uygulamanın profiling veri oturum değil.Ikinci uygulamanın ilk uygulama sürücüsü kaldırıldı sonra profil oluşturma başlatılırsa, ikinci uygulamanın ilk uygulamadan günlük dosyasının üzerine yazar.
Bir uygulama etkin profil oluşturma bir veri kaynağına bağlanır, uygulama çağırırsa sürücü SQL_ERROR döndürür... SQLSetConnectOption günlük kaydı başlatmak için.Çağrı SQLGetDiagRec , daha 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ü bir ortam tanıtıcısı kapatıldığında, performans verilerini toplama durur.Varsa bir SQL Server Birden çok bağlantı yerel istemci uygulama, her biri kendi ortam tanıtıcısı ve sürücü ilişkili ortam tanıtıcıları kapandıktan sonra performans verilerini toplama durduracak.
Sürücünün performans verilerini SQLPERF veri yapısında saklı veya sekmeyle ayrılmış bir dosya açmış.Verileri istatistikleri aşağıdaki kategorileri içerir:
Uygulama profili
Bağlantı
NETWORK (AĞ)
Time
Aşağıdaki tabloda, SQLPERF veri yapısı alanlarında açıklamalarını performans günlük dosyasına kaydedilip istatistikleri için de geçerlidir.
SQLPERF alan |
Açıklama |
---|---|
TimerResolution |
En düşük çözünürlüğü sunucu saatinin saat (milisaniye cinsinden).Bu genellikle, 0 (sıfır) ' bildirilen ve rapor numarası büyük olup olmadığını yalnızca düşünülmesi gereken.Süreölçer tabanlı istatistikleri için büyük olasılıkla aralığından daha büyük sunucu saatinin düşük çözünürlük ise, bu istatistikleri inflated. |
SQLidu |
INSERT, DELETE veya UPDATE deyimi SQL_PERF_START sonra sayısı. |
SQLiduRows |
INSERT, DELETE veya UPDATE deyimi SQL_PERF_START sonra sayısı. |
SQLSelects |
SELECT deyimi SQL_PERF_START sonra işlenen sayısı. |
SQLSelectRows |
Sonra SQL_PERF_START seçili satır sayısı. |
İşlemler |
Sonra SQL_PERF_START Al'ı da dahil olmak üzere, kullanıcı işlem sayısı.Her komut, bir ODBC uygulaması SQL_AUTOCOMMIT_ON ile çalışırken, bir hareketi kabul edilir. |
SQLPrepares |
Sayısı SQLPrepare SQL_PERF_START sonra çağırır. |
ExecDirects |
Sayısı SQLExecDirect SQL_PERF_START sonra çağırır. |
SQLExecutes |
Sayısı SQLExecute SQL_PERF_START sonra çağırır. |
CursorOpens |
Sayısı sürücü SQL_PERF_START sonra sunucu imleç açtı. |
CursorSize |
Sonra SQL_PERF_START imleçler tarafından açılmış sonuç kümesindeki satırların sayısı. |
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 TL'ye eşittir.Bir uygulama "COUNT(*) Authors FROM SELECT" yapmak için bir sunucu imleci açmak için sürücünün neden olur, 23 satır sonucu olacaktır küme için deyim.Uygulama yalnızca üçünde bu getirir; PercentCursorUsed 13.043478 CursorUsed CursorSize/3/23 olur. |
AvgFetchTime |
SQLFetchTime/SQLFetchCount TL'ye eşittir. |
AvgCursorSize |
CursorSize/CursorOpens TL'ye eşittir. |
AvgCursorUsed |
CursorUsed/CursorOpens TL'ye eşittir. |
SQLFetchTime |
Toplam miktarını saat bunu tamamlamak için sunucu imleçler karşı fetches sürdü. |
SQLFetchCount |
Sunucu imleçler karşı SQL_PERF_START sonra yapılan fetches sayısı. |
CurrentStmtCount |
Sayısı deyim sürücüdeki tüm bağlantılarda açık tanıtıcıları açın. |
MaxOpenStmt |
Aynı anda açılan bir deyim sayısının SQL_PERF_START sonra işler. |
SumOpenStmt |
Sonra SQL_PERF_START açılmış olan tablo 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 yüksek eş zamanlı bağlantıya tanıtıcıları SQL_PERF_START sonra açıldı. |
SumConnectionsOpened |
Sonra SQL_PERF_START açılmış olan bağlantı tanıtıcısı sayısı toplamı. |
SumConnectionTime |
Toplam saat miktarını tüm bağlantıları SQL_PERF_START sonra açılmış olan.Örneğin, bir uygulama 10 açılır ve her bağlantı için 5 saniye tutulan, 50 saniye SumConnectionTime olacaktır. |
AvgTimeOpened |
SumConnectionsOpened eşittir / SumConnectionTime. |
Ağ istatistikleri: |
|
ServerRndTrips |
Sayısı sürücüsü komutları, sunucuya gönderilen ve bir yanıt geri alındı. |
BuffersSent |
tablo verisi akışı (TDS) için gönderilen paket SQL Server sonra SQL_PERF_START sürücüsü tarafından. Büyük komutları, birden çok arabellekleri, büyük bir komut gönderilir, sunucu ve altı paketleri doldurur ServerRndTrips değeri bir artırılır ve BuffersSent altı artırılır alabilir. |
BuffersRec |
Sürücü tarafından alınan TDS paket sayısı SQL Server sürücüyü kullanan uygulamanın başlatılmasından sonra. |
BytesSent |
Gönderilen veri baytı sayısı SQL Server TDS paketler sonra uygulama, sürücüsü kullanılarak başlatıldı. |
BytesRec |
TDS paketler, sürücü tarafından alınan veri bayt miktarı SQL Server sürücüyü kullanan uygulamanın başlatılmasından sonra. |
SQLPERF alan |
Açıklama |
---|---|
msExecutionTime |
Toplam miktarını saat SQL_PERF_START sonra işlem harcanan sürücüsü de içinde olmak üzere saat sunucusundan yanıt beklerken harcadığı. |
msNetworkServerTime |
Toplam süreyi, sürücü sunucusundan yanıt beklerken harcadığı. |
See Also