Aracılığıyla paylaş


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.

Uygulama profili istatistikleri

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.

saat istatistikleri

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ığı.