SQL Profilerdən istifadə (profiler). SQL Server Profilerindən istifadə

05/16/2000 Itzik Ben-Gan

Cinayət yerinin yenidən qurulması cinayətkarı tapmağa kömək etdiyi kimi, verilənlər bazası əməliyyatının izlənməsi də darboğazları müəyyən etməyə və onları aradan qaldırmağa imkan verir.

Jurnalın əvvəlki sayında dərc olunan “Hadisəni Tut” məqaləsində izləmə sisteminin arxitekturasından bəhs edilirdi. SQL Server 7.0 və SQL Profiler-də izin qrafik olaraq necə təyin olunacağını göstərdi. Bu dəfə biz SQL Profiler istifadə edərək izləri necə yenidən yaratmaq və uzadılmış iz saxlanan prosedurlar vasitəsilə avtomatik başlanğıcı necə təyin etmək barədə danışacağıq. Belə güclü bir təməllə siz uzunmüddətli sorğulardan mürəkkəb çıxılmaz vəziyyətlərə qədər müxtəlif araşdırmalar üçün SQL Profiler və saxlanılan prosedurlardan təcrübəli şəkildə istifadə edə biləcəksiniz.

Trenin səsləndirilməsi üçün ilkin hazırlıq

SQL Profiler ilə siz problemli proqramları sazlamaq, sınaq halları üçün real həyat ssenariləri yaratmaq, verilənlər bazalarını sazlamaq və s. üçün yadda saxlanmış izləri təkrar izləyə bilərsiniz. Treki yenidən gəzmək istəyirsinizsə, bəzi hazırlıq işləri görməli olacaqsınız. Hər şeydən əvvəl, maraqlandığınızdan başqa xüsusi hadisələri və məlumat sütunlarını izləmək üçün bir iz müəyyən etməlisiniz. Bu əlavə hadisələrin və sütunların düzəldilməsi bütün hərəkətlərin əvvəllər olduğu kimi təkrarlanmasını təmin edir. İkincisi, izləmə nəticələrini fayl, cədvəl və ya SQL skriptində saxlamalısınız.

İstənilən təkrarlama Connect, Disconnect, ExistingConnection və RPC:Starting və SQL:BatchStarting hadisələrini tutmalıdır. Bundan əlavə, backend API kursorlarını (yəni API kursor funksiyaları ilə idarə olunan server kursorlarını) təkrar oxuduqda siz CursorExecute, CursorOpen və CursorPrepare hadisələrini çəkməlisiniz. Hazırlanmış bəyanatları təkrar etmək SQL server Digər tərəfdən, Exec Prepared SQL və Prepare SQL hadisələri də əlavə edilməlidir. Oynatma zamanı aşağıdakı məlumatları ehtiva edən sütunlar tələb olunacaq: proqram adı, ikili məlumat, əlaqə identifikatoru və ya server proses identifikatoru (SPID), verilənlər bazası identifikatoru, hadisə sinfi, hadisə alt sinfi, host adı, rəqəmli məlumat, server adı, SQL istifadəçi adı, işə başlama vaxtı və mətn məlumatı.

Qeyd etmək lazımdır ki, ikinci qaçış zamanı tutulan hadisələr simulyasiya edilmir, yenidən baş verir. Buna görə də, ilkin izləmə zamanı çox güman ki, verilənlər bazanızı dəyişdiyinizi unutmayın. Məsələn, INSERT ifadəsini ehtiva edən izi təkrarlayarkən, cədvəldə dublikat açar görünə bilər. Qarşısını almaq üçün oxşar problemlər, əgər iz mənbə serverində (yəni ilk olaraq izi aparan serverdə) təkrar oxunursa, verilənlər bazasını geri qaytarmalısınız.

Əgər təkrar icra başqa serverdə aparılacaqsa, həmin serverdəki verilənlər bazasının orijinal serverdəki verilənlər bazası ilə eyni vəziyyətdə olmasını təmin etmək vacibdir. Bu halda, mənbə serverində istifadə edilən eyni istifadəçi adlarından, onların səlahiyyətlərindən, verilənlər bazası identifikatorlarından istifadə etməyinizə əmin olun.

Eyni identifikatorlardan istifadə xüsusi bacarıq və təcrübə tələb edir, xüsusən ona görə ki, Microsoft verilənlər bazası identifikatorlarını dəyişdirmək üçün zəruri olan sistem verilənlər bazası sistem cədvəlinə birbaşa daxil olmağı təşviq etmir. Verilənlər bazası identifikatorlarını başqa şəkildə uyğunlaşdıra bilərsiniz. Bunu etmək üçün istifadəçi verilənlər bazası fayllarını mənbə serverindən trekin səsləndiriləcəyi yerə kopyalayın və sonra onu bərpa edin. ehtiyat nüsxəsi mənbə serverindən master verilənlər bazası. Alternativ yol istifadəçi verilənlər bazasının ehtiyat nüsxəsini mənbə serverdən icra üçün seçilmiş serverə bərpa etmək və sonra eyni serverə əsas verilənlər bazasının ehtiyat nüsxəsini bərpa etməkdir. Hər iki halda trekin ifa olunduğu serverdə verilənlər bazası faylları mənbə serverdəki kimi kataloqlarda yerləşəcək və əsas verilənlər bazası sistem cədvəllərində orijinal verilənlər bazası identifikatorları yer alacaq. Bu problemlərdən tamamilə qurtulmaq üçün sadəcə olaraq verilənlər bazası identifikatoru sütununu izdən çıxarmaq və izdə ələ keçirilən hər bir istifadəçi üçün standart verilənlər bazasını təyin etmək lazımdır.

Siz həmçinin skriptin vaxt səviyyəsini və oxutma sürətini idarə edə bilərsiniz. Replay SQL Server dialoq qutusuna daxil olmaq üçün Replay menyusundan Parametrləri seçin. Əlaqə daxilində sinxronizasiyaya nəzarət edən Sinxronizasiya Səviyyəsi parametri aşağıdakı dəyərləri qəbul edə bilər:

Tam sinxronizasiya (Full synchronization). Bu dəyər standart olaraq istifadə olunur. Bu halda, bir əlaqədə baş verən bütün hadisələr orijinal qaydada oynanılır. Qismən sinxronizasiya. Bu dəyərlə bir əlaqədəki hadisələr digər bağlantılarda artıq qeydə alınmış hadisələrdən əvvəl başlaya bilər. Sinxronizasiya yoxdur. Bu parametr dəyəri ilə hadisələr əvvəlki hadisə bitdikdən dərhal sonra eyni əlaqədə, yəni əlaqə daxilində heç bir sinxronizasiya olmadan baş verə bilər.

Təkrar oxutma sürəti parametri, Təkrar Oynatma dərəcələri, aşağıdakı dəyərlərdən birinə təyin edilə bilər:

Mümkün qədər tez (mümkün qədər tez). Bu defolt dəyərdir.Bu halda, əvvəlki hadisə bitən kimi növbəti hadisə başlayır. Hadisələr arasında intervalı qoruyun. Bu dəyər hadisələrin baş verməsi arasındakı orijinal vaxt intervalını qoruyur. Başlama vaxtı üçün əlaqəni qoruyun. Bu dəyərlə hadisələr orijinal izdə olduğu kimi izin oxudulmasının başlanğıcına nisbətən eyni vaxtda baş verir.

İzləmənin təşkili

Tutaq ki, istifadəçi tərəfindən ADO, OLE DB və ya ODBC vasitəsilə serverə göndərilən Transact-SQL (T-SQL) ifadələri olan server tərəfindən hazırlanmış SQL ifadələrinin icra izini təkrar etmək istəyirsiniz. SQL Server 7.0 müştəri proqramı tərəfindən çağırılan sp_prepare və sp_execute psevdo-saxlanmış prosedurlardan istifadə edərək server tərəfindən hazırlanmış SQL ifadələrini yerinə yetirir.

sp_prepare çağırışı SQL Serverin T_SQL ifadələrini tərtib etməklə icra üçün hazırlamağa və icra planlarını keşləşdirməyə səbəb olur. sp_execute çağırıldıqda, SQL Server əvvəllər keşlənmiş planları yerinə yetirir və ola bilsin ki, bunu bir dəfədən çox yerinə yetirir. Hər bir saxlanılan prosedur çağırışı RPC:BatchStarting, Prepare SQL və Exec Prepared SQL hadisələrini işə salır. Məhz buna görə də bu hadisələr iz tərifinə daxil edilməlidir.

SQL Profiler şablon kimi istifadə edilə bilən bir neçə nümunə iz tərifini ehtiva edir. Buraya 6 nömrəli nümunə, "Təkrar üçün T-SQL" daxildir ki, bu da izin yenidən işə salınmasına aiddir. Bu nümunə təkrar oynatma zamanı yaradılan iz çıxışını təyin etmək üçün faydalıdır. Saxlanmış iz çıxışını oxutma üçün açmaq üçün Fayl menyusundan Aç seçin və izləmə zamanı toplanmış məlumatı saxlamaq üçün fayl, cədvəl və ya SQL skripti seçin. Siz Cədvəl 1-də göstərilən seçimlərdən istifadə edərək oxutmaya nəzarət edə bilərsiniz. Onlar ya Replay menyu elementləri, ya da alətlər panelindəki düymələrlə təmsil oluna bilər.

Genişləndirilmiş Saxlanılan Prosedurların Tətbiqi

SQL Profiler-dən bəzi izləmə xüsusiyyətləri mövcud deyil. Bunlara cədvəl üzrə işləmək, müəyyən bir hadisə baş verdikdə və ya SQL Server işə salındıqda işləmək üçün izləmə daxildir. Həmçinin, SQL Profiler iz nəticələrini jurnala göndərmək üçün konfiqurasiya edilə bilməz. Windows proqramları NT və ya Windows 2000. Bu funksiyaları yerinə yetirmək və daha çox sərbəstlik təmin etmək proqram nəzarəti izlər üçün xp_trace* ümumi adı altında genişləndirilmiş saxlanılan prosedurlar toplusundan istifadə edə bilərsiniz.

Gəlin sp_start_mytrace izini başlatma nümunəsindən və sp_stop_mytrace izini dayandıran saxlanılan prosedurdan istifadə edərək bu saxlanılan prosedurlardan istifadə prinsiplərinə baxaq. İlk saxlanılan prosedur, sp_start_mytrace, izləmə hadisələrini, məlumat sütunlarını, filtrləri müəyyənləşdirir və tutulan hadisələri saxlamaq üçün növbə yaradır. Sonra hadisələri növbədən götürür və onları daxil edir sistem faylı. Sp_start_mytrace proseduru hadisə növbəsi ilə əlaqə saxlayır və onun vəziyyətini növbənin yaradılması zamanı prosedurun yaratdığı növbə tutacaqının tam tipli sapı vasitəsilə izləyir. sp_stop_mytrace növbəni dayandırmaq lazım olduqda bu tutacaqdan istifadə edir.

Növbə deskriptorunun vəziyyətini izləmək asan məsələ deyil. Onun dəyərini əldə etmək üçün bir çox üsul olsa da, ən sadə və ən funksional yol, bütün izlər və onların növbələri, həmçinin izin başlama vaxtı, işə salınan istifadəçinin identifikatoru haqqında məlumatları qeyd edəcək bir cədvəl yaratmaqdır. iz və onun işə salındığı kompüterin adı. Siyahı 1 aktiv izlər adlı cədvəl yaradan ifadələri göstərir. Hazırda hansı izlərin götürüldüyünü görmək üçün bu cədvələ baxmaq kifayətdir. İzləməni dayandırmaq üçün sadəcə uyğun növbə deskriptoru üçün cədvəli sorğulayın.

İzləməyə başlamaq üçün saxlanılan prosedur

İzin necə başladıldığını və dayandırıldığını görmək üçün bu iki saxlanılan prosedurdan keçək. İzə başlayan saxlanılan prosedur dörd əlavə daxiletmə parametrinə malikdir. İlk ikisi, @spid_filter və @dbid_filter, sizə izləmə zamanı toplanmış məlumatları yalnız xüsusi server prosesi (ID, SPID ilə müəyyən edilir) və verilmiş verilənlər bazası ilə əlaqəli olanlarla məhdudlaşdırmağa imkan verir. Bu parametrlər təyin edilmədikdə, iz bütün proseslər və verilənlər bazası haqqında məlumatları toplayacaq. @email_address parametri e-poçt ünvanı təyin etməyə imkan verir E-poçt, hansı izin gedişi haqqında ətraflı məlumat göndəriləcək. Bu parametr göstərilməyibsə, sp_start_mytrace yalnız məlumatı ekrana çap edəcək. Əgər verilmişdirsə, lakin ünvan səhvdirsə, saxlanılan prosedur səhv mesajı verəcək və çıxacaq. Son parametr @filename, izləmə zamanı toplanan məlumatların göndəriləcəyi faylın adını müəyyən etmək üçün nəzərdə tutulub. Bu parametr göstərilməyibsə, standart məlumat c:\mytraceN.trc faylına yerləşdiriləcək, burada N növbə deskriptorunun nömrəsidir. İz məlumatları olan faylların adlandırılması qaydasını müəyyən edən bu konvensiya, onlardan birinə yalnız özü üçün nəticələr yazmaq üçün faylı kilidləməyə imkan vermədən, eyni zamanda bir neçə izi tutmağa imkan verir.

Tətiyi yoxlamaq üçün fayl xüsusiyyətlərini dəyişdirin:

DATABASE DEĞİŞTİRİN testdb FAYLI DƏYİŞTİRİN (NAME=`testdb_dat`, MAXSIZE=30MB)

Faylın xüsusiyyətlərinin dəyişdirildiyi barədə bir mesaj alacaqsınız:

Fayl xüsusiyyətləri dəyişdirildi:
Bəyanat: ALTER DATABASE testdb FAYI DEĞİŞTİRİN (NAME = `testdb_dat`,
MAXSIZE=30MB)
NT İstifadəçi adı: Gandalf
Tətbiq adı: MS SQL Query Analyzer
SQL İstifadəçi Adı: NA
Vaxt: 2000-11-22 14:15:28

Hansı hadisələrin çıxılmaz vəziyyətə düşməsinə səbəb olduğunu tapmaq həmişə çox çətindir. Bununla belə, SQL Profiler “araşdırma”nı xeyli asanlaşdıra biləcək xüsusi hadisələr təqdim edir. Məsələn, Lock:Deadlock hadisəsinin baş verməsini izləmək üçün izləmədən istifadə edə bilərsiniz. Bu hadisənin baş verməsi danışır

ki, çıxılmaz vəziyyət yaranıb. Bu, istifadəçiyə server proses identifikatoru (SPID), bloklanmış əməliyyat identifikatoru, bloklama vaxtı, proqram adı və istifadəçi identifikatoru ilə təmin edir. Kilid hər dəfə baş verəndə yaranan Kilid: Kilid zəncirinin hadisəsi son dərəcə rahatdır: o, proses identifikatorlarını (SPID) və əməliyyatları öyrənməyə imkan verir.

Siz çıxılmaz vəziyyətə düşən əməliyyatların identifikatorlarını qeyd edə, sonra izləmə nəticələrini əməliyyat identifikatorlarına görə qruplaşdıra və yalnız həmin əməliyyatları təhlil edə bilərsiniz. Başqa bir yanaşmada iz nəticələri cədvələ göndərilir. Daha sonra onu SPID və ya əməliyyat ID-si ilə filtrləmək üçün sorğulardan istifadə edə bilərsiniz.

Çıxılmaz vəziyyət yaratmaq üçün hər birində yalnız bir tam sütun olmalıdır t1 və t2 olan iki cədvəl yaradın. 1 dəyərini ehtiva edən hər cədvələ bir sıra daxil edin. Aşağıdakı hadisələr dəstinin qeydə alınacağı izi göstərin: Kilid: Kilid, Kilid: Kilid zənciri və bəyanatın icrasının müvafiq başlanğıc və son hadisələri (RPC, SP, SQL) ). Seçim nəzərdə tutulan bloklama mənbəyindən asılı olaraq aparılmalıdır. Bizim nümunəmizdə bizə yalnız SQL hadisələri lazımdır: StmtStarting və SQL:StmtCompleted.

Defolt məlumat sütunlarına əlavə olaraq, əməliyyat ID-sini və seçdiyiniz sütunları çəkmək üçün bir sütun əlavə edin. İzləmə filtrini işlədiyiniz verilənlər bazasının ID-si ilə uyğunlaşdırın. Bundan sonra Query Analyzer-dən iki server bağlantısını açın. İlk əlaqədə, çalıştırın:

ƏMƏLİYYƏYİ YENİLƏMƏYƏ BAŞLAYIN t1 SET col1 = 1

Bağlantı 2-də aşağıdakı əməliyyatı yerinə yetirin:

ƏMƏLİYYƏYƏ BAŞLAYIN
YENİLƏNİB t2 SET col1 = 1
t1-dən * SEÇİN
ƏMƏLİYYATI TƏMİR EDİN

Nəhayət, 1-ci ilə əlaqədar olaraq, ifadələri yerinə yetirin:

SEÇİN * t2
ƏMƏLİYYATI TƏMİR EDİN

İzləməni dayandırın və izləmə faylını açın. Lock:Deadlock Chain hadisələrini axtarın və cəlb edilən əməliyyatların sayını qeyd edin. Çıxışı əməliyyat ID-si ilə qruplaşdırın və müvafiq əməliyyatları genişləndirin. Çıxış Ekran 1-ə bənzəyəcək.

SQL Server Enterprise Manager, kilidlərin səbəbini tapmaq üçün istifadə edilənlər də daxil olmaqla, izləri qurmağa kömək edə biləcək sehrbazdan ibarətdir. İzi müəyyən etmək üçün İz Yaratmaq Sihirbazından istifadə etmək üçün Müəssisə Menecerinə daxil olun, Alətlər menyusundan Sehrbazlar seçin, sonra İdarəetmə kateqoriyasını açın və İz Sihirbazını Yarat seçin.

Yekun qeyd

SQL Profiler tərəfindən təmin edilən izləmə imkanları, SQL Server 7.0-da mövcud olan genişləndirilmiş izləmə prosedurları ilə birlikdə verilənlər bazası davranışını sazlamağa imkan verir. İstər sadəcə SQL Server mühitinizin vəziyyətini izləmək, istərsə də proqram performans problemlərini həll etmək olsun, biliklərinizi praktikada tətbiq etməyin vaxtıdır.

Itzik Ben-Gan [email protected] MCDBA, MCSE+I, MCSD, MCT və SQL Server MVP sertifikatlarına malikdir. O, İsraildə Hi-Tech Kollecində SQL Server kursları üzrə baş müəllim və İsrail SQL Server İstifadəçiləri Qrupunun sədridir.

SQL Server Profiler proqram məhsulu izlər yaratmaq və iz nəticələrini təhlil etmək üçün nəzərdə tutulmuş qrafik qabıqdır. Hadisələr izləmə faylında saxlanılır, daha sonra təhlil edilə bilər və ya baş vermiş problemləri müəyyən etmək üçün müəyyən addımlar ardıcıllığını təkrarlamaq üçün istifadə edilə bilər.

Hazırda işləyən hərəkətləri izləmək üçün MS SQL Profiler proqramını işə salmalı, yeni iz yaratmalı və göstəricilərin təhlilini konfiqurasiya etməlisiniz:

"Ümumi" sekmesinde, izin adını göstərməlisiniz. Tutulan iz məlumatının harada saxlanacağını müəyyənləşdirin - faylda və/yaxud verilənlər bazası cədvəlində.

"Tədbirləri seçin" nişanı böyük maraq doğurur:

Bu səhifə izlənilməli olan hadisələri sadalayır. Bu nümunədə sorğu planlarını izləmək üçün lazım olan məlumatları təyin edəcəyik.

267 1C video dərsini pulsuz əldə edin:

Varsayılan olaraq, izləmə bütün verilənlər bazalarında göstərilən bütün hadisələrdən keçir. Qəbul edilmiş məlumatlara filtrlər tətbiq etmək üçün "Sütunların filtrləri ..." düyməsini sıxmalısınız:

Məsələn, seçimi ID ilə təyin edək məlumat bazası(Siz verilənlər bazası identifikatorunu SELECT DB_ID(N'BaseName') sorğusundan istifadə edərək öyrənə bilərsiniz).

1C üçün Profiler-də izləməyə başlayır

Bütün parametrlər edildikdən sonra izləməyə başlamaq qalır, bunun üçün "Çalış" (RUN) düyməsini sıxmalısınız. Bu andan etibarən filtrdə göstərilən bütün hərəkətlər izlənməyə başlayacaq:

Məsələn, mən ən çox əmək tələb edən əməliyyatları izləmək üçün “Malların və xidmətlərin qəbulu” sənədinin müddəti üçün marşrut işlədirəm.

İz alındıqdan sonra onu təhlil etmək lazımdır.

Profiler-dən məlumatların təhlili

Təhlil üçün əldə edilən iz ya faylda, ya da cədvəldə saxlanıla bilər. Verilənlər bazası cədvəlində saxlayacağıq:

Lexema.ru sisteminin tətbiqi modullarını inkişaf etdirərkən problemlərin diaqnostikası üçün vaxtaşırı olaraq ekran formalarının, sorğuların, hesabatların, saxlanılan prosedurların və digər obyektlərin işləməsi zamanı verilənlər bazası sorğularının təhlilinə ehtiyac yaranır. SQL sorğu profili alətləri belə problemləri həll etmək üçün nəzərdə tutulmuşdur. Onlar icazə verir:

  • hadisələri izləyin fərqli növlər verilənlər bazası serverində (sorğuların icrası, saxlanılan prosedurlar və s.)
  • hadisələri müxtəlif meyarlara görə süzün (verilənlər bazası adı, istifadəçi girişi və s.)
  • hərəkətlərin ardıcıllığını hadisə izi şəklində qeyd edin. Sonradan iz təhlil oluna və fayl və ya verilənlər bazasına saxlanıla bilər.
  • sistem darboğazlarını tapmaq və aradan qaldırmaq üçün sorğuların performansını (icra sürətini) təhlil edin
  • və s.

Bu məqalə iki aləti əhatə edir:

  • Lexema SQL Profiler proqram modelləşdiricisinə daxil edilmişdir
  • MS SQL Server Profiler proqramı MS SQL Serverə daxildir

Lexema SQL Profiler

Bu alət, proqram konfiqurasiyalarını inkişaf etdirmək üçün proqram olan modelləşdirici tərəfindən başlatılan verilənlər bazası serverinə sorğuları təhlil etmək üçün nəzərdə tutulmuşdur. Onun köməyi ilə siz tətbiqi məntiq verilənlər bazasının strukturunu və onun obyektlərini araşdıra bilərsiniz.

Lexema SQL Profiler-dən istifadə etmək üçün proqram modelləşdiricisini işə salın. Pəncərənin yuxarı sol küncündə barel şəkli olan düyməni vurun:

Modelləşdiricinin SQL sorğularının izini verilənlər bazası serverinə yazmağa başlamaq üçün alətlər panelində "Başlat" düyməsini sıxın.

Verilənlər bazası sorğularını yoxlamaq istədiyiniz modelləşdiricidə hərəkətləri yerinə yetirin. Məsələn, modellərin siyahısını açdıqdan sonra bir neçə sorğudan iz yaradılacaq:

Yuxarıdakı cədvəl hadisələrin siyahısını (SQL sorğuları), aşağıdakı sahədə məzmunu (SQL kodu) ehtiva edir.

Cədvəl sahələri:

  • EventClass
  • MətnData
  • müddəti
  • Başlama vaxtı
  • Son Zaman
  • Tətbiq adı
  • oxuyur
  • yazıçılar
  • əməliyyat

Məsələn, modellərin siyahısını açarkən hadisələrin izlənməsindən aşağıdakı nəticələr çıxarmaq olar: məlumatlar üç cədvəldən tələb olunur (L8_Model, L8_ModelProperty və L8_Namespace); ən uzun sorğu L8_ModelProperty cədvəlinə edilir (242 ms).

MS SQL Server Profiler

MS SQL Server Profiler verilənlər bazası server hadisələrini tutmağa imkan verən MS SQL Server paketinə daxil olan bir vasitədir. Hadisələr sonrakı təhlil üçün iz faylında və ya verilənlər bazasında saxlanıla bilər və ya diaqnoz üçün problemi yenidən yaratmaq üçün müəyyən bir sıra addımları təkrarlamaq üçün istifadə edilə bilər. SQL Server Profilerindən istifadə üçün tipik ssenarilər:

  • SQL Server Database Engine instansiyasının performansının monitorinqi
  • Transact-SQL ifadələrinin və saxlanılan prosedurların sazlanması
  • yavaş sorğuları müəyyən etməklə performans təhlili
  • izləri təkrarlayaraq stress testi və keyfiyyətə nəzarət edin
  • bir və ya daha çox istifadəçinin izini təkrar oxuyun
  • kodun düzgün yerinə yetirilməsini təmin etmək üçün layihənin inkişafı zamanı Transact-SQL ifadələrinin və saxlanılan prosedurların addım-addım yoxlanılması
  • istehsal sistemindəki hadisələri (istehsal versiyası) tutaraq və onları debug (test) versiyasında təkrar oynatmaqla SQL Serverdə problemlərin aradan qaldırılması. Bu çox faydalı fürsət, çünki sınaq və ya sazlama zamanı istehsal sistemindən istifadə etməyə davam etməyə imkan verir.
  • audit və SQL Server nümunəsində baş verən fəaliyyətləri izləyin. Bu imkan təhlükəsizlik administratoruna istənilən audit hadisələrinə, xüsusən uğurlu və uğursuz giriş cəhdlərinə və təlimatlara və obyektlərə giriş icazələrinə baxmaq imkanı verir.
  • iz nəticələrinin saxlanması üçün standartlaşdırılmış iyerarxik strukturu təmin edən XML formatında iz nəticələrinin saxlanması. Bu, mövcud izlərə dəyişikliklər etməyə və ya sonradan oxutmaq üçün onları əl ilə yaratmağa imkan verir.
  • oxşar hadisə siniflərinin qruplaşdırılmasına və təhlilinə imkan verən iz nəticələrinin statistik təhlili. Nəticələr bir sütun üzrə qruplaşdırmaya əsaslanan sayları ehtiva edir
  • qeyri-inzibatçılara iz yaratmağa icazə verin
  • sonra sonrakı izlər üçün istifadə edilə bilən iz şablonlarının qurulması

Başladılmaq və serverə qoşulmaq

Siz MS SQL Server Profiler proqramını Windows ƏS menyusundan (“Başlat” menyusu) və ya MS SQL Server Management Studio proqramının menyusundan (Alətlər – “SQL Server Profiler Application”) işə sala bilərsiniz. Başladıqdan sonra serverə daxil olmalısınız - server ünvanını, adını daxil edin hesab və parol:

İzləmə seçimlərinin qurulması

Sonra, izə başlamazdan əvvəl onun xüsusiyyətlərini təyin etməlisiniz:

  • İz adı - onu saxlamağı planlaşdırırsınızsa, təyin etmək məsləhətdir
  • Şablondan istifadə edin - Defolt izləmə konfiqurasiyasını təyin edir. Məhz, SQL Server Profiler-də nəzarət etmək istədiyiniz hadisə siniflərini ehtiva edir. Məsələn, siz hansı hadisələrin, verilənlər sütunlarının və filtrlərin istifadə olunacağını müəyyən edən şablon yarada bilərsiniz. Şablonlar icra edilmir, lakin TDF fayllarında saxlanılır. Yadda saxlandıqdan sonra şablon bu şablona əsaslanan iz işə salınarsa, məlumatların tutulmasına nəzarət edir.
  • Yenidən açmaq və təhlil etmək üçün faylda saxlayın
  • Cədvəldə saxla - bu halda iz verilənlər bazasında saxlanacaq və SQL istifadə edərək təhlil edilə bilər.
  • İzləmə dayandırma vaxtını aktivləşdirin - uzun müşahidələr zamanı lazımdır

Hadisə növlərinin və onların atributlarının seçilməsi

İzləmənin qurulmasında mühüm addım hadisələrin seçilməsidir (müvafiq nişana keçməlisiniz). "Tədbir Seçimi" nişanı bir şəbəkədən ibarətdir - izləmək üçün mövcud olan hadisə siniflərinin hər birini ehtiva edən cədvəl. Cədvəldə hər hadisə sinfi üçün bir sıra var. Hadisə sinifləri qoşulduqları serverin növü və versiyasından asılı olaraq bir qədər fərqlənə bilər. Tədbir sinifləri şəbəkənin Hadisələr sütununda müəyyən edilir və hadisə kateqoriyasına görə qruplaşdırılır. Qalan sütunlar hər bir hadisə sinfi üçün qaytarıla bilən məlumat sütunlarını sadalayır. İzə hadisələri daxil etmək üçün Hadisələr sütununda qeyd qutusunu seçin.

Varsayılan olaraq, bu siyahı seçilmiş şablona uyğun olaraq yalnız bəzi kateqoriyalar və hadisələr növlərini ehtiva edir (yuxarıya baxın). Həmçinin, bütün sütunlar göstərilmir. Daha çox üçün ətraflı parametrlər"Bütün hadisələri göstər" və "Bütün sütunları göstər" qutularını qeyd etmək tövsiyə olunur.

Lexema.ru tətbiqi tərəfindən edilən sorğuları izləmək üçün izləmə aparılırsa, 2 qrupda 3 növ hadisəni qeyd etmək kifayətdir:

  • Saxlanılan Prosedurlar
    • RPC:Tamamlandı - uzaqdan prosedur çağırışı (RPC) tamamlandıqda baş verir
    • SP:Tamamlandı - saxlanılan prosedur tamamlandıqda baş verir
  • TSQL - müştərilər tərəfindən verilənlər bazası serverinə ötürülən TransactSQL ifadələrinin icrasının izlənməsi
    • SQL:BatchCompleted - TransactSQL ifadəsi icranı tamamladıqda baş verir

Qeyd: Hadisələr sütunundakı bayraq üç vəziyyətdə ola bilər:

  • qeyd olunmayıb - hadisə izlənilmir
  • qara işarə qoyulub - bütün məlumat sütunları seçilib - seçilmiş hadisə üçün bütün mümkün məlumatlar toplanacaq
  • boz işarə seçildi - yalnız bəzi məlumat sütunları seçildi - seçilmiş hadisə üçün sütunlardakı işarələrə görə yalnız bəzi məlumatlar toplanacaq

Varsayılan olaraq, bəzi hadisələr üçün bütün sütunlar seçilmir (boz işarəsi var). Bütün sütunları seçmək üçün qutunun işarəsini silməli və yenidən təyin etməlisiniz. Bu, bütün görünən məlumat sütunları üçün onay qutularını təyin edəcək.

Digər faydalı hadisə kateqoriyaları və növləri aşağıda verilmişdir:

  • təhlükəsizlik auditi

Filtrləmə seçimlərinin konfiqurasiyası

Filtrlər izdə hadisələrin yığılmasını məhdudlaşdırır. Filtr qurulmayıbsa, seçilmiş hadisə siniflərinin bütün hadisələri iz çıxışına qaytarılır. İz filtrinin quraşdırılması isteğe bağlıdır, lakin filtr izləmə üçün resurs xərclərini minimuma endirir. İz tərifləri üçün filtrlər Trace Properties və ya Trace Template Properties dialoq qutusunun Hadisə Seçici nişanına əlavə edilir.

Müəyyən bir istifadəçi Lexema.ru veb interfeysindən istifadə edərkən baş verən hadisələri izləyərkən, "ApplicationName" filtrini aşağıdakı kimi təyin etmək məsləhətdir.<логин_пользователя>+&1, məsələn, "PetrovAN&1", ​​burada PetrovAN istifadəçinin girişidir:

Bu filtr parametri ilə yalnız müəyyən edilmiş istifadəçinin hərəkətləri ilə yaradılan hadisələr izlənməyə daxil ediləcək.

Hadisənin İzlənməsi

Tutaq ki, yuxarıda təsvir edilən parametrləri təyin etdikdən və izləməyə başladıqdan sonra istifadəçi giriş " hava" sistemə daxil olur və "Ev mühasibatlığı" modulunun gəlir və xərcləri kateqoriyalarının reyestrini açır, sonra sənədlərdən birini açır (nümunə olaraq):

Nəticədə, hadisələrin siyahısı SQL Server Profiler izində göstəriləcək:

İzləmə hadisələrinin siyahısını təhlil edərək, ən uzun sorğulardan birinin aşağıdakı olduğunu görə bilərsiniz:

exec sp_executesql N SEÇİN KİMİ , KİMİ , KİMİ , KİMİ , KİMİ , KİMİ , KİMİ , Kİ , KİM DƏNDƏN”, N "@PrimaryKeyBoundary bigint,@TopCount bigint", @PrimaryKeyBoundary = NULL , @TopCount = NULL

Obyektin adına görə (VTransactionCategory), bu, əməliyyat kateqoriyalarının siyahısını seçmək tələbidir. Bu hadisənin növü RPC:Tamamlandı (uzaqdan prosedurun icrasının tamamlanması).

Siz həmçinin siyahıda SQL:BatchCompleted tipli hadisələri görə bilərsiniz:

Bu (QuerySource) Lexema.ru sorğusunun icrasının nəticəsidir.

Mətndə izdə izlənilən sorğuları axtarmaq üçün alətlər panelindəki "Sətri tap" düyməsini (dürbün işarəsi ilə) və ya Ctrl+F düymələr kombinasiyasını sıxmalısınız:

Sonra axtarış mətnini daxil etməli və axtarış sütununu seçməlisiniz (sorğu mətni TextData sütununda yerləşir). "Növbəti" düyməsini kliklədikdən sonra kursor axtarılan mətni ehtiva edən hadisənin sətrində yerləşdiriləcək.

Test və sazlama məqsədləri üçün bu sorğular əl ilə yenidən icra edilə bilər. Bunun üçün onların mətnini köçürmək, SQL Server Management Studio proqramını açmaq, müvafiq serverə qoşulmaq, verilənlər bazası seçmək, sorğu yaratmaq, onun mətnini yapışdırıb icra etmək lazımdır.

Səmərəsiz T-SQL ifadələrini tapmaq üçün Sorğu Analizatorundan istifadə etməklə yanaşı, yardım proqramından da istifadə edə bilərsiniz. SQL Server Profiler. Profiler, sistemdə işləyən bütün T-SQL ifadələrinə nəzarət etməyə imkan verir qrafik ekran bu operatorlar haqqında məlumat. Profiler həmçinin ən çox CPU və I/O resurslarından istifadə edən T-SQL ifadələrini müəyyən etmək üçün istifadə edə biləcəyiniz çeşidləmə və filtrləmə imkanlarını təmin edir. Bu məlumatla siz onları sazlayarkən hansı T-SQL ifadələrinə üstünlük veriləcəyini müəyyən edə bilərsiniz. Tətbiqdən çağırılan T-SQL ifadələrinə Profiler-də baxmaq olar; proqramın özünün mənbə koduna daxil olmağa ehtiyacınız yoxdur.

SQL Server 2000-dəki Profiler yardım proqramı SQL Server 7-dəki Profiler yardım proqramı ilə eyni şəkildə işləyir, lakin bəzi təkmilləşdirmələrlə. Faydalı əlavələrdən biri də iz faylları yaratmaq üçün istifadə edilə bilən iz şablonudur. (SQL Server əməliyyatlarına nəzarət etmək üçün ondan istifadə etməzdən əvvəl hələ də iz yaradılmalıdır.) SQL Serverdə izlər əl ilə yaradılmalı idi.

Profiler yardım proqramını işə salmaq və izləməyə başlamaq üçün bu addımları yerinə yetirin.

  1. Başlat düyməsini klikləyin, Proqramlar üzərinə gedin, Microsoft SQL Serveri seçin və sonra Profiler seçin. Profiler pəncərəsini ilk dəfə açdığınız zaman o, boş olacaq. SQL Serverdə heç bir panel açılmayacaq və heç bir profilləmə aparılmayacaq.
  2. Profilləşdirməyə başlamaq üçün siz işlətmək və ya yaratmaq üçün mövcud iz şablonunu seçməlisiniz yeni şablon icra etmək üçün izlər. (Başlanğıc prosesi 4-cü addımda təsvir edilmişdir.) SQL Server 2000 Profiler seçmək üçün müxtəlif iz şablonları təqdim edir. Bu iz şablonlarından istifadə sizə çox vaxta qənaət edə bilər, çünki əvvəldən iz yaratmağa ehtiyac yoxdur. İz şablonlarının siyahısını görmək üçün Fayl menyusuna (Fayl) klikləyin, Açıq (Açıq) əmrini təyin edin və Açıq dialoq qutusunu göstərmək üçün İz şablonları (İz şablonları) bəndini seçin (Şəkil 35.16).


    düyü. 35.16.

    Aşağıdakı iz şablonları SQL Server ilə təmin edilir.
    • SQLServerProfilerSP_Counts.tdf. Çalışan saxlanan prosedurların sayını hesablayır. Nəticələr saxlanılan prosedur adına görə qruplaşdırılır və müvafiq prosedurun neçə dəfə icra edildiyini ehtiva edir.
    • SQLServerProfilerStandard.tdf. Əlaqələr haqqında ümumi məlumat toplayır, saxlanılan prosedurları yerinə yetirdi və SQL paketləri icra olunduğu ardıcıllıqla.
    • SQLServerProfilerTSQL.tdf. Bütün T-SQL ifadələri haqqında məlumatları istifadəçilərdən SQL Serverə daxil olma ardıcıllığı ilə toplayır. Bu iz sadəcə T-SQL ifadələrini və onların işlədildiyi vaxtları ehtiva edir.
    • SQLServerProfilerTSQL_Duration.tdf. İşlənmiş T-SQL ifadələrini, həmçinin həmin ifadələri yerinə yetirmək üçün lazım olan vaxtı (millisaniyələrlə) çap edir.
    • SQLServerProfilerTSQL_Grouped.tdf. SQLServerProfilerTSQL-in topladığı məlumatlara bənzər məlumatları toplayır, lakin həmin ifadələri işlədən istifadəçinin ifadələrini qruplaşdırır.
    • SQLServerProfilerTSQL_Replay.tdf. Təmin edir ətraflı məlumat T-SQL ifadələrini işlətmək haqqında. Bu iz Query Analyzer-də T-SQL ifadələrini təkrar oxutmaq üçün istifadə edilə bilən məlumatları ehtiva edir.
    • SQLServerProfilerTSQL_SPs.tdf. Müəyyən edilmiş saxlanılan prosedurları, eləcə də həmin prosedurlar daxilində T-SQL əmrlərini çap edir. Nəticələr yerinə yetirildiyi ardıcıllıqla göstərilir.
    • SQLServerProfilerTuning.tdf. Saxlanılan prosedur və SQL paketinin icrası haqqında məlumat toplayır.
    Bu iz şablonları çox faydalı ola bilər. Məsələn, SQLServerProfilerTSQL_Duration izləmə şablonu icrası ən çox vaxt aparan T-SQL ifadələrini müəyyən etməyə kömək edə bilər. Bu məlumat üçün başlanğıc nöqtəsi kimi xidmət edə bilər sorğu optimallaşdırılması. Operator çox iş gördüyü üçün və ya səmərəsiz olduğu üçün uzun çəkə bilər. Növbəti addımda görəcəyiniz kimi, hər hansı bir iz üçün əvvəlcədən təyin edilmiş şablondan istifadə etməlisiniz.
  3. İzləməyə başlamaq üçün Fayl klikləyin, Yeni üzərinə işarə edin və sonra İz seçin. SQL Serverə qoşulun dialoq qutusu görünəcək (Şəkil 35-17). Bu dialoq qutusunda izləmək üçün SQL Server sistemini seçin və sonra OK düyməsini basın.


    düyü. 35.17.
  4. Trace Properties pəncərəsi görünəcək (Şəkil 35.18). Ümumi nişanında siz iz üçün ad daxil edə bilərsiniz (İz adı sahəsi) və başlanğıc nöqtəsi kimi istifadə etmək üçün iz şablonu seçə bilərsiniz. üçün bu misal SQLServerProfilerTSQLDuration şablonunu seçin. Nişanın altındakı izi harada saxlamaq istədiyinizi təyin edə bilərsiniz - faylda (Faylda saxla) və / və ya SQL Server cədvəlində (Cədvəldə saxla). Bu bayraqlardan heç biri təyin olunmayıbsa, iz nəticələri yalnız ekranda göstəriləcək. Bundan əlavə, siz izin bitmə vaxtını təyin edə bilərsiniz (onay qutusu və İzin dayandırılması vaxtını aktivləşdirin). Bu, uzunmüddətli izlər üçün çox faydalı ola bilər.


    düyü. 35.18.
  5. Sonra, nişanı vurun Hadisələr (Hadisələr) (Şəkil 35.19).


    düyü. 35.19. Bu tabda siz bu izdə izləniləcək bir və ya daha çox hadisə seçə bilərsiniz. Siz hadisələrin və xüsusi hadisələrin bir sıra siniflərini (kateqoriyalarını) izləyə bilərsiniz. Mövcud hadisə sinifləri siyahısı qutusuna Kursorlar, Səhvlər və Xəbərdarlıqlar, Kilidlər, Obyektlər, Skanlar, SQL Operatorları SQL), Saxlanılan Prosedurlar, Əməliyyatlar və TSQL kimi hadisə sinifləri daxildir.
  6. İzləmək istədiyiniz hadisələri seçdikdən sonra Məlumat Sütunları sekmesine klikləyin (Şəkil 35-20). Bu tabda bu izləmə zamanı hansı məlumatların toplanacağını göstərin. Bu dataya bitmə vaxtı,

İşimizdə tez-tez müəyyən sorğunun ləng işlədiyi və sorğunun mətnində heç bir aşkar problemlərin görünmədiyi bir vəziyyətə rast gəlirik. Adətən bu halda problemi daha dərindən araşdırmaq lazımdır. Bir qayda olaraq, SQL sorğusunun mətninə və onun planına baxmaq lazım olur və burada SQL Profiler bizə kömək edir.

SQL Profiler nədir və ümumiyyətlə niyə lazımdır.

SQL Profiler MS SQL Server ilə birlikdə gələn proqramdır və SQL Serverdə baş verən bütün hadisələrə baxmaq və ya başqa sözlə, izi qeyd etmək üçün nəzərdə tutulmuşdur.

Niyə 1C proqramçısına SQL Profiler lazımdır?

Heç olmasa SQL-də sorğu mətnini əldə etmək və onun planına baxmaq üçün. Təbii ki, bunu texnologiya jurnalının köməyi ilə də etmək olar, lakin bunun üçün müəyyən bacarıqlar tələb olunur və TJ-də plan o qədər də gözəl və oxunaqlı deyil.

Profilerdə siz təkcə mətni deyil, həm də mənim fikrimcə daha rahat olan qrafik sorğunun icra planını görə bilərsiniz.

Profilerdən aşağıdakılar üçün də istifadə edə bilərsiniz:

Müəyyən bir müddətdən artıq sorğular

müəyyən bir cədvələ qarşı sorğular

bloklarda gözləyir

fasilələr

çıxılmaz vəziyyətlər

və daha çox...

SQL Profiler ilə Sorğu Analizi

Çox vaxt profil tərtibatçı xüsusi olaraq sorğuların təhlili üçün istifadə olunur. Bir qayda olaraq, bütün sorğuları izləməyə ehtiyac yoxdur, biz tez-tez 1C dilində müəyyən sorğunun SQL-ə necə tərcümə edildiyini və onun icra planını görməliyik. Məsələn, sorğunun niyə yavaş işlədiyini müəyyən etmək üçün bu lazım ola bilər və ya biz böyük sorğu yazmışıq və SQL sorğu gövdəsində alt sorğu birləşmələrinin olmadığına əmin olmaq istəyirik.

Sorğunu izdə tutmaq üçün aşağıdakıları edin:

1. SQL Profiler proqramını işə salın

Başlat - Bütün Proqramlar - Microsoft SQL Server 2008 R2 - Performans Alətləri - SQL Profiler

2. Yeni iz yaradın

Fayl - İz yarat (Ctrl+N)
3. Verilənlər bazamızın yerləşdiyi DBMS serverini göstərin və "Qoşul" düyməsini sıxın.

Təbii ki, başqa bir kompüterdə yerləşən DBMS serverini izləməyə heç nə mane olmur.

4. Görünən "İzləmə xüsusiyyətləri" pəncərəsində "Hadisələri seçin" ikinci tabına keçin.

5. İndi izdə görmək istədiyimiz hadisələri və bu hadisələrin xüsusiyyətlərini qeyd etməlisiniz.

Bizə sorğular və sorğu planları lazımdır, ona görə də müvafiq hadisələri aktivləşdirməliyik. Şou üçün tam siyahı xassələr və hadisələr üçün "Bütün sütunları göstər" və "Bütün hadisələri göstər" bayraqlarını aktivləşdirin.

Hadisələrin təsviri:

ShowplanStatisticsProfile - mətn sorğusunun icra planı

ShowplanXMLStatisticsProfile - qrafik sorğunun icra planı

RPC:Tamamlandı - sorğu mətni, əgər o, prosedur kimi yerinə yetirilirsə (əgər 1C sorğusu parametrlərlə yerinə yetirilirsə).

SQL:BatchCompleted – normal sorğu kimi yerinə yetirildiyi təqdirdə sorğu mətni (əgər 1C sorğusu parametrlərsiz icra edilibsə).

6. İndi hadisələr üçün filtri konfiqurasiya etməlisiniz. Bu edilmədikdə, biz bu DBMS serverində yerləşən bütün verilənlər bazası üçün sorğuları görəcəyik.

"Sütun Filtrləri" düyməsini basın və verilənlər bazası adına görə filtr təyin edin

İndi biz izləmədə yalnız "TestBase_8_2" verilənlər bazasına sorğuları görəcəyik.

İstəsəniz, digər sahələrə filtr qoya bilərsiniz, onlardan ən maraqlısı: Müddət (Duration), TextData (adətən bu sorğu mətnidir) və RowCounts (sorğu ilə qaytarılan sətirlərin sayı).

Məsələn, əgər mən "TestBase_8_2" verilənlər bazasında 3 saniyədən çox davam edən "_InfoRg4312" cədvəlinə edilən bütün sorğuları tutmalıyamsa, onda mən bunu edirəm:

a) Verilənlər bazasına görə süzün, yuxarıda göstərilən nümunə

b) Millisaniyələrdə müddətə görə süzün.

c) Sorğu mətninə görə süzün

Burada maskanı təyin edirik. Birdən çox cədvələ daxil olan sorğuları izləmək lazımdırsa, "Oxşar" bölməsində birdən çox element yaradın. Bütün filtrlərin şərtləri birlikdə işləyir.

7. İndi izləməyə başlaya bilərsiniz. "Başlat" düyməsini basın, bundan sonra izləmə işə başlayır və siz göstərmək üçün konfiqurasiya etdiyiniz və filtrlərinizə düşən hadisələri görə bilərsiniz.

İzləməni idarə etmək üçün əmr panelindəki düymələrdən istifadə edə bilərsiniz.

Soldan sağa:

Silgi - iz pəncərəsini təmizləyir

Başla - izləməyə başlayır

Pause - izi dayandırır, "Başlat" düyməsini sıxdıqda iz davam etdirilir

Dayan - izləməyi dayandırır

8. İzləmə pəncərəsinin özü iki hissədən ibarətdir. Hadisələr və hadisə xassələri yuxarı hissədə yerləşir.

Aşağı hissədə hadisə növündən asılı olaraq müxtəlif məlumatlar göstərilir. Bizim vəziyyətimizdə ya sorğunun mətni, ya da onun planı burada göstəriləcək.

9. Sorğunu 1C sorğu konsolunda icra edin və onun profilçidə necə əks olunduğuna baxın.

İzdən görünür ki, bir neçə müraciət olub və onlardan yalnız biri bizimdir. Qalan müraciətlər xidmətdir.

10. Hadisələrin xassələrinə görə başa düşmək olar: sorğunun neçə saniyə yerinə yetirildiyini (Duration), neçə məntiqi oxunuş (Oxuma) olub, sorğunun nəticədə neçə sıra qaytardığını (RowCounts) və s.

Mənim vəziyyətimdə sorğu 2 millisaniyə çəkdi, 4 məntiqi oxudu və 1 sıra qaytardı.

11. Bir hadisə yuxarı qalxsaq, sorğu planını qrafik olaraq görə bilərik.

Plandan göründüyü kimi, axtarış qiymətə görə indekslə aparılır, baxmayaraq ki, bu planı ideal adlandırmaq olmaz, çünki. indeks əhatə etmir, kod və ad sahələri vaxtın 50%-ni alan KeyLookup vasitəsilə əldə edilir.

İstifadə kontekst menyusu, qrafik planı saxlamaq olar ayrı fayl*.SQLPlan uzantısı ilə və onu başqa bir kompüterdə profilçidə və ya daha təkmil SQL Sentry Plan Explorer proqramından istifadə edərək açın.

12. Daha da yuxarı qalxsaq, eyni sorğu planını görəcəyik, ancaq mətn şəklində.

TJ, TsUP və digər 1C performans nəzarətlərində göstərilən bu plandır. Bunu təhlil etmək üçün qabaqcıl istifadə etməyi məsləhət görürəm mətn redaktoru Notepad++ kimi vurğulama ilə.

a) Profilerin özünün formatına, yəni. *.trc uzantısı ilə

b) xml formatına

c) İzdən şablon düzəldə bilərsiniz. Növbəti abzasa baxın.

Bundan sonra, göstərilən serverdə verilənlər bazası seçməlisiniz və izin saxlanacağı cədvəlin adını göstərməlisiniz. Siz mövcud cədvəli seçə və ya yeni ad yaza bilərsiniz və sonra cədvəl seçilmiş verilənlər bazasında avtomatik olaraq yaradılacaq.

Bu halda nəzərə alınmalıdır ki, Müddət cədvəldə saniyənin milyonda biri ilə saxlanılır və nəticəni göstərərkən dəyəri millisaniyələrə çevirmək məsləhətdir. RowNumber sütunu da cədvələ əlavə olunur ki, bu da izdə verilmiş cərgənin nömrəsini göstərir.

14. Əgər sorğuları təhlil etmək üçün tez-tez profilçidən istifadə etmək lazımdırsa, onda lazımi filtrləri və hadisələri qurmaq tez bir zamanda darıxdırıcı olacaq və üstəlik, çox vaxt aparacaq.

İz şablonları köməyə gəlir, burada bizə lazım olan filtrləri və sütunların sırasını müəyyənləşdiririk və sonra yeni iz yaradarkən sadəcə olaraq bu şablonu seçin.

Şablon yaratmaq üçün Fayl - Şablonlar - Yeni Şablon menyusundan istifadə edin

Birinci sekmədə hər şey sadədir. Server növünü, şablon adını göstərin və lazım gələrsə, standart olaraq bu şablondan istifadə etmək üçün bayraq təyin edin.

İkinci tabda biz hadisələri seçirik və yuxarıda göstərildiyi kimi filtrlər quraşdırırıq.

İndi yeni bir iz yaratarkən, sadəcə olaraq tələb olunan şablonu göstərə bilərsiniz, bundan sonra ikinci nişanda bütün filtrlər və hadisələr avtomatik olaraq doldurulacaq.

Əlbəttə ki, bu gözəl alətdən istifadə etməyin bütün yolları burada göstərilmir, düşünürəm ki, gələcəkdə bu mövzuda məqalələr toplusuna əlavə edəcəyəm.

SQL Profiler-dən istifadə ilə bağlı hələ də suallarınız varsa, şərhlərdə soruşun, cavab verməkdən məmnun olaram.