1. Giriş
1.1 Nədir SQL Server Fəaliyyət Monitoru?
SQL Server Fəaliyyət Monitoru daxili diaqnostik vasitədir SQL Server Haqqında məlumatları göstərən Management Studio SQL Server proseslər və onların server performansına təsiri. İzləməyə imkan verir SQL Server prosesləri həyata keçirin, resurs gözləmələrinə nəzarət edin, bahalı sorğuları təhlil edin və I/O modellərini müşahidə edin – hamısı bir interfeysdən.
1.2 Niyə istifadə edin SQL Server Fəaliyyət Monitoru?
Fəaliyyət Monitoru performans problemlərini həll edərkən ilk müdafiə xəttiniz kimi xidmət edir. Bu, baş verənləri dərhal görməyi təmin edir SQL Server mürəkkəb T-SQL sorğuları və ya üçüncü tərəf alətləri tələb etmədən nümunə.
Alət bloklama seansları, CPU-intensiv sorğular, həddən artıq sorğu icrası və I/O darboğazları kimi ümumi problemləri tez bir zamanda müəyyən etməyə kömək etməkdə üstündür. İstifadəçilər proqramın yavaş və ya cavab vermədiyini bildirdikdə, Fəaliyyət Monitoru verilənlər bazası serverinin günahkar olub-olmadığını müəyyən etməyə kömək edir.
İşləməyən verilənlər bazası administratorları üçün SQL Server Hər gün Activity Monitor server fəaliyyətini anlamaq üçün əlçatan giriş nöqtəsi təklif edir. Hətta təcrübəli DBA-lar belə, performans araşdırmaları üçün başlanğıc nöqtəsi kimi istifadə edirlər.
1.3 Fəaliyyət Monitoru və Digər Monitorinq Alətləri
Fəaliyyət Monitoru dəyərli olsa da, onun digər monitorinq seçimləri ilə necə müqayisə olunduğunu anlamaq vacibdir:
Fəaliyyət Monitoru və sp_WhoIsActive: Fəaliyyət Monitoru çoxsaylı panelləri olan qrafik interfeysi təmin edir, sp_WhoIsActive isə tək nəticə dəstində daha ətraflı məlumat təqdim edən hərtərəfli saxlanılan prosedurdur. sp_WhoIsActive Fəaliyyət Monitorunun qruplaşdırdığı xüsusi gözləmə növlərini göstərir və daha ətraflı bloklama məlumatı təqdim edir.
Fəaliyyət Monitoru sp_who2 ilə müqayisədə: Ənənəvi sp_who2 əmri əsas sessiya məlumatlarını göstərir, lakin Fəaliyyət Monitoru gözləmə statistikasını, bahalı sorğuları və I/O ölçülərini mütəşəkkil, vizual formatda göstərməklə daha da irəliləyir.
Fəaliyyət Monitoru və Üçüncü Tərəf Alətləri: SolarWinds Verilənlər Bazası Performans Analizatoru kimi kommersiya monitorinq həlləri, Activity Monitor-da olmayan tarixi izləmə, xəbərdarlıq və qabaqcıl analitika təklif edir. Lakin Activity Monitor əlavə xərc və ya quraşdırma tələb etmir.
1.4 Verilənlər bazası administratorları üçün əsas üstünlüklər
Fəaliyyət Monitoru onu vacib DBA alətinə çevirən bir sıra üstünlüklər təklif edir:
- Sıfır Xərc: Quraşdırılmış kimi SQL Server Management Studio xüsusiyyəti, heç bir lisenziya haqqı və ya yerləşdirmə səyi tələb olunmur.
- Real vaxtda monitorinq: 1 saniyədən 1 saata qədər konfiqurasiya edilə bilən yeniləmə intervalları ilə cari server fəaliyyətinə baxın.
- İnteqrasiya edilmiş tədbirlər: Sessiyaları öldürmək, sorğu təfərrüatlarına baxmaq və ya işə salmaq üçün proseslərə sağ klikləyin SQL Server Profiler izləri - hamısı alət daxilindən.
- Çoxsaylı Perspektivlər: Hər biri performansın spesifik aspektlərinə diqqət yetirən beş xüsusi panel vasitəsilə server sağlamlığına müxtəlif bucaqlardan baxın.
- Tez problemlərin aradan qaldırılması: Ən çox rast gəlinən performans problemlərini bir neçə dəqiqə ərzində müəyyən edin və həll olunma müddətini sürətləndirin.
- Giriş üçün aşağı maneə: Aləti effektiv şəkildə istifadə etməyə başlamaq üçün daha dərin olsa da, qabaqcıl bilik tələb olunmur SQL Server təcrübə tərcümədə kömək edir.
2. Fəaliyyət Monitoru ilə Başlamaq
Fəaliyyət Monitorundan səmərəli istifadə etməzdən əvvəl aləti işə salmaq üçün ilkin şərtləri, tələb olunan icazələri və müxtəlif üsulları başa düşməlisiniz.
2.1 İlkin şərtlər və sistem tələbləri
Istifadə etmək üçün SQL Server Fəaliyyət Monitoru, sizə lazımdır SQL Server Management Studio (SSMS) yerli maşınınızda və ya keçid serverinizdə quraşdırılmışdır. Fəaliyyət Monitoru aləti əhəmiyyətli dərəcədə yenidən işlənmişdir SQL Server 2008-ci ildir, buna görə də bu təlimatdakı məlumatlara aiddir SQL Server 2008 və sonrakı versiyalar.
ilə şəbəkə bağlantınız olmalıdır SQL Server Nəzarət etmək istədiyiniz instansiya. Buludda yerləşən verilənlər bazaları üçün instansiyaya daxil olmaq üçün adətən VPN bağlantısı və ya düzgün konfiqurasiya edilmiş firewall qaydaları lazımdır.
Fəaliyyət Monitoru bütün nəşrləri ilə işləyir SQL ServerExpress, Standard və Enterprise daxil olmaqla. Alətin özü SSMS daxilində müştəri maşınınızda işləyir, ona görə də serverin resurslarına yalnız onun yerinə yetirdiyi monitorinq sorğuları təsir edir.
2.2 Tələb olunan icazələr
Fəaliyyət Monitorunun düzgün işləməsi üçün müvafiq icazələr vacibdir. Müvafiq hüquqlar olmadan siz boş ekran görə bilərsiniz və ya girişin rədd edildiyi səhvlər ala bilərsiniz.
2.2.1 SERVER DÖVLƏTİNƏ GÖRÜŞ İcazəsi
The SERVER DÖVLƏTİNƏ BAXIN icazə Fəaliyyət Monitorundan istifadə üçün əsas tələbdir. Bu server səviyyəli icazə sizə bütün aktiv prosesləri və onların əlaqəli ölçülərini görməyə imkan verir.
Bu icazəni vermək üçün server administratoru aşağıdakıları yerinə yetirə bilər:
GRANT VIEW SERVER STATE TO [YourLoginName];
SERVER DÖVLƏTİNƏ GÖRÜNÜŞ olmadan Fəaliyyət Monitoru aça bilər, lakin onun heç bir panelində heç bir məlumat göstərmir.
2.2.2 Verilənlər Bazası Səviyyəli İcazələr
Məlumat Faylı I/O panelində məlumatı görmək üçün sizə əlavə icazələr lazımdır. Xüsusilə, aşağıdakı birləşmələrdən birinə sahib olmalısınız:
- MƏLUMAT BAZASI YARADIN icazə və ya
- HƏR MƏLUMAT BAZASINI DƏYİŞTİRİN icazə və ya
- HƏR TƏRİFİNİZƏ BAXIN icazəsi
Bu icazələr ilə birləşdirilməlidir SERVER DÖVLƏTİNƏ BAXIN tam Fəaliyyət Monitoru funksiyası üçün.
2.2.3 İcazə ilə bağlı problemlərin aradan qaldırılması
Əgər Fəaliyyət Monitoru açılırsa, lakin heç bir məlumat göstərmirsə, ən çox yayılmış səbəb icazələrdir. Girişinizin server səviyyəsində VIEW SERVER STATE funksiyasının verildiyini yoxlayın. İcazələrinizi aşağıdakıları işlədərək yoxlaya bilərsiniz:
SELECT * FROM fn_my_permissions(NULL, 'SERVER');
İcazə_adı sütununda "SERVER DÖVLƏTİNƏ GÖRÜNÜŞ" üçün axtarın. Əgər o yoxdursa, onu təmin etmək üçün verilənlər bazası administratorunuzla əlaqə saxlayın.
2.3 SSMS-də Fəaliyyət Monitorunu necə açmaq olar
SQL Server Management Studio Fəaliyyət Monitorunu işə salmaq üçün dörd müxtəlif üsul təqdim edir və iş axını seçimlərinizə əsaslanaraq sizə rahatlıq verir.
2.3.1 Metod 1: Alətlər Panelindən
Fəaliyyət Monitorunu açmağın ən sürətli yolu alətlər panelindəki işarədən istifadə etməkdir:
- Özünüzə qoşun SQL Server məsələn SQL Server İdarəetmə studiyası.
- Standart alətlər panelində Fəaliyyət Monitoru ikonasını tapın (o, yaşıl oynatma düyməsi olan bar diaqramına bənzəyir).
- Fəaliyyət Monitorunu işə salmaq üçün işarəyə klikləyin.
Bu üsul siz artıq SSMS-də işlədiyiniz zaman ən sürətlidir və server fəaliyyətini tez yoxlamaq lazımdır.
2.3.2 Metod 2: Obyekt Explorer-dən
Siz həmçinin Fəaliyyət Monitorunu birbaşa Object Explorer-dən işə sala bilərsiniz:
- Obyekt Explorer-də tapın SQL Server nəzarət etmək istədiyiniz nümunə.
- Nümunənin adına sağ klikləyin.
- seçmək Fəaliyyət Monitor kontekst menyusundan.
Bu üsul birdən çox serverə qoşulduqda faydalıdır, çünki düzgün nümunəni izlədiyinizi təmin edir.
2.3.3 Metod 3: Klaviatura Qısa yolundan istifadə
Klaviaturaya əsaslanan istifadəçilər üçün, SQL Server Management Studio xüsusi qısayol təqdim edir:
- SSMS-nin aktiv pəncərə olduğundan və instansiyaya qoşulduğunuzdan əmin olun.
- mətbuat Ctrl + Dayandırmaq + A.
- Fəaliyyət Monitoru Object Explorer-də hazırda seçilmiş nümunə üçün açılacaq.
Nəzərə alın ki, Fəaliyyət Monitoru Object Explorer-də seçdiyiniz server nümunəsinə qoşulacaq, ona görə də bu qısayoldan istifadə etməzdən əvvəl düzgün nümunəni seçdiyinizə əmin olun.
2.3.4 Metod 4: Seçimlər Menyusundan (Başlanğıc Konfiqurasiyası)
Əgər tez-tez Fəaliyyət Monitorundan istifadə edirsinizsə, tətbiqi işə saldığınız zaman SSMS-i avtomatik olaraq işə salmaq üçün konfiqurasiya edə bilərsiniz:
- In SQL Server Management Studio, gedin Tools -> Nizamlamalar.
- Seçimlər dialoq qutusunda genişləndirin ətraf mühit, Və sonra seçin Başlanğıc.
- Dən Başlanğıcda açılan siyahı, seçin Obyekt Explorer və Fəaliyyət Monitorunu açın.
- seçmək OK.
Növbəti dəfə SSMS-i işə saldıqda və serverə qoşulduqda Fəaliyyət Monitoru Object Explorer ilə birlikdə avtomatik olaraq açılacaq.
3. Fəaliyyət Monitoru Panellərini Anlamaq
Fəaliyyət Monitoru məlumatları hər biri server fəaliyyətinə fərqli perspektiv təqdim edən beş genişləndirilə bilən paneldə təşkil edir. Hər bir panelin nəyi göstərdiyini başa düşmək problemlərin effektiv həlli üçün çox vacibdir.
3.1 Ümumi Baxış Paneli
İcmal paneli sizə sağlamlıq vəziyyətinizin sürətli görüntüsünü verən real vaxt rejimində dörd qrafik təqdim edir SQL Server misal. Bu qrafiklər konfiqurasiya edilə bilən intervalla yenilənir və bir baxışda anormal nümunələri müəyyən etməyə kömək edir.
3.1.1 % Prosessor vaxtı
Bu qrafik prosessorun boş olmayan ipləri yerinə yetirməyə sərf etdiyi vaxtın faizini göstərir SQL Server bütün CPU-larda nümunə. Dəyər təmsil edir SQL Server's prosessor istifadəsi, bütün serverin CPU istifadəsi deyil.
Əgər prosessor vaxtını daim 100%-ə yaxın və ya daha yüksək görürsünüzsə, serveriniz CPU-ya bağlıdır. Bu, səmərəsiz sorğuları, çatışmayan indeksləri və ya kifayət qədər aparat tutumunu göstərə bilər. Ən çox CPU istifadə edən sorğuları müəyyən etmək üçün Son Bahalı Sorğular bölməsindən istifadə edin.
3.1.2 Gözləmə Tapşırıqları
Bu metrik resurslar davam etməzdən əvvəl buraxılmasını gözləyən tapşırıqların sayını göstərir. Tapşırıqlar CPU, I/O, yaddaş və ya kilidləri gözləyə bilər.
Gözləyən tapşırıqların ardıcıl olaraq çox olması resurs mübahisəsini göstərir. Resurs Gözləmələri bölməsi hansı növ resursların gözləmələrə səbəb olması haqqında daha ətraflı məlumat verir.
3.1.3 Verilənlər bazasının giriş/çıxışı (MB/s)
Bu qrafik yaddaş və disk arasında məlumat ötürmə sürətini göstərir. O, saniyədə meqabaytla ölçülən həm oxumağı, həm də yazmağı birləşdirir.
Verilənlər bazasında I/O-da sıçrayışlar böyük cədvəl taramalarını, həddindən artıq giriş fəaliyyətini və ya yoxlama nöqtəsi əməliyyatlarını yerinə yetirən sorğuları göstərə bilər. Məlumat Faylı I/O paneli verilənlər bazası və fayl üzrə I/O fəaliyyətini parçalayır.
3.1.4 Toplu Sorğular/san
Bu metrik rəqəmi əks etdirir SQL Server instansiya tərəfindən saniyədə alınan partiyalar. Toplu bir bəyanat və ya birlikdə təqdim edilmiş bir neçə bəyanat ola bilər.
Bu dəyər sizə ümumi server fəaliyyəti hissi verir. Adi iş saatları ərzində toplu sorğuların qəfil azalması proqram bağlantısı problemlərini və ya istifadəçi ilə bağlı problemləri göstərə bilər.
3.1.5 Yeniləmə intervallarının qurulması
Fəaliyyət Monitorunun məlumatlarını nə qədər tez-tez yeniləməsini fərdiləşdirə bilərsiniz:
- Ümumi Baxış panelində istənilən yerə sağ klikləyin.
- seçmək Yeniləmə intervalı.
- Əvvəlcədən təyin edilmiş dəyərlərdən interval seçin: 1 saniyə, 5 saniyə, 10 saniyə (standart), 30 saniyə, 1 dəqiqə və ya 1 saat.
10 saniyədən aşağı yeniləmə intervallarının təyin edilməsi serverinizdə monitorinq yükünü artırır. Ağır yük altında istehsal sistemləri üçün təsir minimuma endirmək üçün 30 saniyə və ya daha uzun fasilələrdən istifadə etməyi düşünün.
3.2 Proseslər Paneli
Proseslər panelində hazırda işləyən seanslar haqqında məlumat göstərilir SQL Server misal. Bu panel kimin nə etdiyini müəyyən etmək və bloklama problemlərini aşkar etmək üçün vacibdir.
3.2.1 Proses məlumatını başa düşmək
Proseslər panelindəki hər bir sıra serverdə aktiv sessiyanı təmsil edir. Bölmə bütün verilənlər bazalarından və bütün istifadəçilərdən sessiyaları göstərir və sizə server fəaliyyətinin hərtərəfli görünüşünü verir.
Göstərilən məlumatlara giriş adı, tətbiq adı, host adı, daxil olan verilənlər bazası və cari əmr daxildir. Bu, verilənlər bazası fəaliyyətini müəyyən istifadəçilər və ya tətbiqlərlə əlaqələndirməyə kömək edir.
3.2.2 Əsas sütunların izahı
Əsas sütunları başa düşmək proses məlumatlarını effektiv şəkildə şərh etməyə kömək edir:
- Sessiya ID: Hər bir əlaqə üçün unikal identifikator. Sistem prosesləri mənfi sessiya identifikatorlarından istifadə edir.
- İstifadəçi Prosesi: Bunun istifadəçi sessiyası (Bəli) və ya sistem prosesi (Xeyr) olduğunu göstərir.
- Giriş: The SQL Server giriş və ya sessiya ilə əlaqəli Windows hesabı.
- Verilənlər bazası: Sessiya üçün cari verilənlər bazası konteksti.
- Tapşırıq vəziyyəti: Sessiyanın hazırda nə etdiyini göstərir (RUNING, ASKIDA, YATMA və s.).
- Komanda: İcra olunan əmrin növü (SEÇ, INSERT, YENİLƏNİB və s.).
- Application: Əlaqəni yaradan tətbiqin adı.
- Gözləmə vaxtı: Sessiya nə qədər müddətdir (milisaniyələrlə) resursları gözləyir.
- Gözləmə növü: Sessiyanın gözlədiyi xüsusi resurs növü.
- CPU vaxtı: Qoşulduqdan sonra bu sessiya tərəfindən sərf olunan CPU vaxtı.
- Yaddaş İstifadəsi: Hazırda sessiyaya ayrılmış yaddaşın miqdarı (KB ilə).
3.2.3 Filtrləmə və Çeşidləmə Prosesləri
Proseslər bölməsinə diqqətinizi müvafiq sessiyalara yönəltməyə kömək edəcək güclü filtrləmə imkanları daxildir:
- İstənilən sütun başlığında açılan oxu klikləyin.
- Filtr o sütun üçün mövcud dəyərləri göstərir, o cümlədən Bütün həllər, Boşluqlarvə Qeyri-Boşluqlar.
- Ekranı yalnız həmin seanslara filtrləmək üçün xüsusi dəyərlər seçin.
Məsələn, süzgəcdən keçirə bilərsiniz Tapşırıq vəziyyəti yalnız RUNING seanslarını göstərmək və ya filtr etmək Database xüsusi verilənlər bazasına qarşı fəaliyyəti görmək.
Siz həmçinin başlığına klikləməklə istənilən sütuna görə çeşidləyə bilərsiniz. Artan sıra üçün bir dəfə, azalan sıra üçün iki dəfə vurun.
3.2.4 Bloklanan və Bloklanmış Sessiyaların Müəyyən edilməsi
Proseslər paneli bir sessiyanın digərlərinin davam etməsinə mane olduğu bloklama ssenarilərini müəyyən etməyə kömək edir:
- Bloklandı: Bu sessiyanı bloklayan sessiyanın Sessiya ID-sini göstərir. Bu sütunda dəyər varsa, sessiya başqa seans tərəfindən saxlanılan kilidi gözləyir.
- Baş Bloklayıcısı: Bu seans başqalarını bloklayır, lakin özü bloklanmazsa, '1' göstərilir. Bu bloklama zəncirinin əsas səbəbidir.
Bloklama problemini araşdırmaq üçün əvvəlcə baş blokerini (Baş Blokçu sütununda '1' ilə işarələnmiş sessiya) müəyyən edin, sonra onun nə etdiyini yoxlayın və onu tamamlamaq və ya dayandırmaq barədə qərar verin.
3.2.5 Proses Hərəkətləri (Öldürmə, Təfərrüatlar, İzləmə)
Fəaliyyət Monitoru sizə fərdi seanslar üzrə tədbirlər görməyə imkan verir:
- Proseslər panelində istənilən seansa sağ klikləyin.
- Bir neçə variant görəcəksiniz:
- Ətraflı: Bu seans tərəfindən yerinə yetirilən son əmri göstərir.
- Öldürmə prosesi: Sessiyanı dayandırır (ehtiyatla istifadə edin).
- İzləmə Prosesi SQL Server Profiler: Başlayıb SQL Server Profil və yalnız bu sessiyadakı fəaliyyəti göstərmək üçün avtomatik olaraq filtrləyir.
Təfərrüatlar seçimi sizə əmr mətnini göstərir, lakin unutmayın ki, bu sonuncu əmr yerinə yetirildi - o, hələ də işləməyə bilər. İzləmə seçimi sessiyanın icra etdiyi əmrlərin tam ardıcıllığını görmək lazım olduqda xüsusilə faydalıdır.
3.3 Resurs Gözləmə Bölməsi
Resurs Gözləmələri bölməsi gözləmə statistikasını ümumiləşdirir və ən çox hansı növ resurs sessiyalarının gözlədiyini göstərir. Bu məlumat performans maneələrini diaqnoz etmək üçün vacibdir.
3.3.1 Gözləmə Statistikasını Anlamaq
Zaman SQL Server resurs sorğusunu dərhal verə bilmir (məsələn, kilid, CPU vaxtı və ya yaddaş), sorğu edən tapşırıq gözləmə vəziyyətinə keçir. Gözləmə statistikası bu gözləmə dövrlərini izləyir və serverin işləmək əvəzinə gözləməyə harda vaxt sərf etdiyini anlamağa kömək edir.
Resurs Gözləmələri paneli sys.dm_os_wait_stats və sys.dm_exec_requests kimi sistem dinamik idarəetmə baxışlarından məlumatları toplayır. Hər yeniləmə intervalında o, cari və əvvəlki snapshot arasındakı fərqi hesablayır və sizə hər gözləmə növü üçün yığılma sürətini göstərir.
3.3.2 Kateqoriyaları gözləyin
Fəaliyyət Monitoru şərhi sadələşdirmək üçün yüzlərlə fərdi gözləmə növünü geniş kateqoriyalara qruplaşdırır:
- CPU: CPU vaxtının əlçatan olmasını gözləyən tapşırıqlar.
- Bufer kilidi: Yaddaşdakı məlumat səhifələrinə girişi qoruyan qısamüddətli sinxronizasiya obyektlərini gözləyir. Bu kateqoriyaya səhifə kilidi gözləmələri daxildir (PAGELATCH_*).
- Bağlamaq: Digər seansların ehtiyac duyduğu kilidləri tutan seansların səbəb olduğu gözləmələr.
- Yaddaş: Çeşidləmə və hashing kimi əməliyyatlar üçün lazım olan yaddaş qrantlarını gözləyir.
- Şəbəkə I/O: Müştərilərə məlumatların göndərilməsini və ya onlardan məlumatların alınmasını gözləyir.
- SQL CLR: Ümumi Dil İcra Zamanının icrası ilə bağlı gözləntilər.
Bu qruplaşma görünüşü sadələşdirsə də, vacib detalları da gizlədir. Məsələn, “Buffer Latch” performans üçün müxtəlif təsirləri olan PAGELATCH_SH, PAGELATCH_UP və PAGELATCH_EX gözləmələrini bir yerdə qruplaşdıra bilər.
3.3.3 Gözləmə vaxtı və gözləmə tapşırıqlarının şərh edilməsi
Resurs Gözləmələri panelində hər bir gözləmə kateqoriyası üçün iki əsas göstərici göstərilir:
- Toplam Gözləmə Müddəti (ms): Bu gözləmə kateqoriyası üçün cari yeniləmə intervalı ərzində yığılan ümumi millisaniyələr.
- Gözləmə Tapşırıqları: Hazırda bu kateqoriyada resursları gözləyən tapşırıqların sayı.
Gözləmə vaxtı dəyəri xüsusilə maraqlıdır. Əgər 10 saniyəlik yeniləmə intervalınız varsa və bir kateqoriya üçün 20,000 ms gözləmə müddəti görürsünüzsə, bu, çoxsaylı paralel gözləmələri göstərir (20,000ms / 10,000ms = interval ərzində 2 eyni vaxtda gözləmə).
3.3.4 Performans darboğazlarının müəyyən edilməsi
Serverinizin ən çox harada gözlədiyini müəyyən etmək üçün Resurs Gözləmələri bölməsindən istifadə edin:
- Resurs Gözləmələri panelini genişləndirin.
- Ən yüksək gözləmə müddətlərini toplayan gözləmə kateqoriyalarını müşahidə edin.
- Sort by Kumulyativ Gözləmə vaxtı hansı resursların ən məhdud olduğunu görmək üçün.
High Buffer Latch gözləmələri tez-tez yaddaşdakı məlumat səhifələri üçün mübahisələri göstərir, bu da I/O darboğazlarını və ya tempdb mübahisəsini təklif edə bilər. Yüksək Kilid gözləmələri bloklama problemlərini göstərir. Yüksək Yaddaş gözləmələri sorğu əməliyyatları üçün qeyri-kafi yaddaş qrantlarını təklif edir.
3.4 Məlumat Faylı I/O Paneli
Məlumat Faylı Giriş/Çıxış paneli serverinizdəki hər bir verilənlər bazası faylı üçün disk fəaliyyətini göstərir, I/O darboğazlarını müəyyən etməyə və diskdən istifadə nümunələrini başa düşməyə kömək edir.
3.4.1 Giriş/Çıxış Metriklərini Anlamaq
Məlumat Faylı I/O panelində hər bir verilənlər bazası faylı üçün bir neçə ölçü göstərilir:
- Verilənlər bazası: Verilənlər bazasının adı.
- Fayl Tipi: Ya Data (cədvəllər və indekslər daxil olmaqla) və ya Log (əməliyyat jurnalı).
- Məntiqi ad: Məntiqi fayl adı ilə müəyyən edildiyi kimi SQL Server.
- MB/san Oxu: Bu fayldan oxunan məlumatın sürəti.
- MB/san Yazılı: Bu fayla yazılan məlumatların sürəti.
- Cavab müddəti (ms): Bu faylda I/O əməliyyatları üçün orta cavab müddəti.
Bu ölçülər Ümumi Baxış paneli ilə eyni intervalda təzələnir və sizə disk fəaliyyətini real vaxtda görmək imkanı verir.
3.4.2 Giriş/çıxış darboğazlarının müəyyən edilməsi
I/O performans problemlərini göstərən bu nümunələrə baxın:
- Yüksək cavab müddəti: Davamlı olaraq 15-20 ms-dən yuxarı olan cavab müddətləri yavaş disk alt sistemlərini təklif edir. 50 ms-dən yuxarı cavab müddətləri ciddi giriş/çıxış darboğazlarını göstərir.
- Balanssız Yük: Əgər bir məlumat faylı eyni verilənlər bazasındakı digərlərinə nisbətən əhəmiyyətli dərəcədə yüksək I/O dərəcələri göstərirsə, siz yükü paylamaq üçün əlavə fayllar əlavə etməkdən faydalana bilərsiniz.
- Həddindən artıq Tempdb Fəaliyyəti: Tempdb fayllarında yüksək I/O dərəcələri çox vaxt böyük aralıq nəticə dəstləri yaradan və ya səmərəsiz icra planlarından istifadə edən sorğuları göstərir.
3.4.3 Verilənlər Bazasının Fayl Təhlili
Verilənlər bazanızın disk resurslarından necə istifadə etdiyini başa düşmək üçün Məlumat Faylı I/O panelindən istifadə edin:
- Məlumat Faylı I/O panelini genişləndirin.
- Sort by MB/san Oxu or MB/san Yazılı ən aktiv faylları müəyyən etmək üçün.
- Davamlı olaraq yüksək aktivliyə və ya uzun cavab müddəti olan istənilən fayla diqqət yetirin.
- Hansı sorğuların I/O yükünü idarə etdiyini müəyyən etmək üçün bu məlumatı Son Bahalı Sorğular paneli ilə çarpaz istinad edin.
3.5 Son Bahalı Sorğular Bölməsi
"Son Bahalı Sorğular" bölməsi, tətbiqin performans problemlərini həll etmək üçün ən dəyərli bölmədir. Bu bölmə, əhəmiyyətli server resurslarını istehlak edən sorğuları göstərir və optimallaşdırma imkanlarını müəyyən etməyə kömək edir.
3.5.1 Sorğu Metriklərini Anlamaq
Fəaliyyət Monitoru hər bir bahalı sorğu üçün bir neçə ölçü göstərir:
- Edamlar/dəq: Sorğunun son dəqiqə ərzində neçə dəfə icra edildiyi.
- CPU (ms/san): Bu sorğunun saniyədə sərf etdiyi CPU vaxtı.
- Fiziki oxunuşlar/san: Bu sorğu üçün saniyədə fiziki disk oxunmalarının sayı.
- Məntiqi Yazılar/san: Saniyədə məntiqi yazmaların sayı (bufer keşi üçün).
- Məntiqi Oxumalar/san: Saniyədə məntiqi oxunmaların sayı (bufer keşindən).
- Orta Müddət (ms): Bu sorğu üçün orta icra müddəti.
- Plan sayı: Bu sorğu üçün keşdəki icra planlarının sayı.
Bu ölçülər sizə yalnız hansı sorğuların bahalı olduğunu deyil, həm də başa düşməyə kömək edir niyə onlar bahadır və nə qədər tez-tez işləyirlər.
3.5.2 Çeşidləmə Seçimləri
Müxtəlif növ problemləri tapmaq üçün Son Bahalı Sorğular panelini müxtəlif ölçülərə görə çeşidləyə bilərsiniz:
- Həmin metrik üzrə çeşidləmək üçün istənilən sütun başlığına klikləyin.
- Ümumi çeşidləmə strategiyalarına aşağıdakılar daxildir:
- CPU-ya görə çeşidləyin: Ən çox prosessor vaxtını alan sorğuları tapın.
- İcralar/dəq üzrə çeşidləyin: Həddindən artıq tez-tez işləyən sorğuları müəyyənləşdirin.
- Fiziki oxunuşlara görə çeşidləyin: Ən çox disk giriş/çıxışına səbəb olan sorğuları tapın.
- Orta Müddətinə görə çeşidləyin: Uzun müddət davam edən sorğuları tapın.
Performans problemini həll edərkən, fərqli perspektivlər əldə etmək üçün bir neçə sütun üzrə çeşidləməyə çalışın. Orta dərəcədə CPU istifadəsi, lakin dəqiqədə son dərəcə yüksək icra göstəriciləri olan sorğu sizin əsl probleminiz ola bilər.
3.5.3 Sorğu mətninə baxış
Bahalı sorğunun arxasındakı faktiki SQL ifadəsini görmək üçün:
- Son Bahalı Sorğular panelində sorğu sətirinə sağ klikləyin.
- seçmək Sorğu mətnini redaktə edin.
- Tam SQL ifadəsini göstərən yeni sorğu pəncərəsi açılır.
Bu, sorğu məntiqini yoxlamağa və potensial optimallaşdırma imkanlarını müəyyən etməyə imkan verir. Daha sonra dəyişdirilmiş versiyaları sınaqdan keçirmək üçün sorğu mətnini kopyalaya bilərsiniz.
3.5.4 İcra planlarının təhlili
İcra planları sizə necə olduğunu göstərir SQL Server çatışmayan indekslər və ya uyğun olmayan birləşmə növləri kimi səmərəsizliyi aşkar edən sorğunu yerinə yetirir:
- Son Bahalı Sorğular panelində sorğu sətirinə sağ klikləyin.
- seçmək İcra planını göstərin.
- SQL Server Management Studio sorğunun necə yerinə yetirildiyinin qrafik təsvirini göstərir.
Sorğu dəyərinin böyük faizini sərf edən əməliyyatları, itkin statistika və ya indekslər barədə xəbərdarlıqları və gözlənilməz cədvəl skan əməliyyatlarını axtarın. Bunlar tez-tez optimallaşdırma səylərinin hara yönəlməli olduğunu göstərir.
3.5.5 Problemli Sorğuların Müəyyən edilməsi
Son Bahalı Sorğular bölməsində bu nümunələrə baxın:
- Həddindən artıq edamlar: Dəqiqədə minlərlə dəfə yerinə yetirilən sorğu proqram kodunun verilənlər bazasını dövrə daxilində çağırdığı N+1 sorğu problemini göstərə bilər.
- Yüksək Fiziki Oxumalar: Fiziki oxuma sürəti yüksək olan sorğular tez-tez diskə vurur, bu da çatışmayan indeksləri və ya zəif yazılmış sorğuları təklif edir.
- Aşağı Davamlı Yüksək CPU: Ümumilikdə çoxlu CPU istehlak edən bir çox sürətli sorğular serverin işinə bir neçə yavaş sorğu kimi təsir edə bilər.
- Birdən çox plan sayı: Çoxlu icra planları olan sorğular parametr iyləmə problemlərindən və ya plan keşinin şişməsinə səbəb olan parametrləşdirilməmiş sorğulardan əziyyət çəkə bilər.
4. Performans problemlərinin aradan qaldırılması üçün Fəaliyyət Monitorundan istifadə
Fəaliyyət Monitoru, performans problemlərini diaqnostika və həll etmək üçün sistematik olaraq istifadə etdiyiniz zaman həqiqətən parlayır. Bu bölmə ümumi problemlərin aradan qaldırılması ssenarilərini və onlara necə yanaşmağı əhatə edir.
4.1 Həddindən artıq sorğu icrasının diaqnostikası
Ən çox yayılmış performans problemlərindən biri, tətbiq dizaynı ilə bağlı problemlər səbəbindən sorğuların lazım olduğundan daha tez-tez yerinə yetirilməsidir.
4.1.1 Təkrarlanan sorğuların müəyyən edilməsi
Çox tez-tez yerinə yetirilən sorğuları aşkar etmək üçün:
- Fəaliyyət Monitorunu açın və genişləndirin Son Bahalı Sorğular çörək.
- Sort by Edamlar/dəq (dəqiqədə edamlar).
- Əsassız dərəcədə yüksək görünən icra sayları ilə yuxarıdakı sorğuları axtarın.
- Şübhəli sorğuya sağ vurun və seçin Sorğu mətnini redaktə edin SQL ifadəsini yoxlamaq üçün.
Məsələn, sadə bir SELECT ifadəsinin dəqiqədə 37,000 dəfə icra edildiyini görsəniz, tətbiqin həqiqətən bu sorğunu bu qədər tez-tez çağırmalı olub-olmadığını soruşun. Dəqiqədə bir neçə min dəfədən çox icra edilən sorğuların əksəriyyəti araşdırma tələb edir.
4.1.2 Əsas səbəblərin təhlili
Həddindən artıq sorğu icrası adətən bu məsələlərdən qaynaqlanır:
- N+1 Sorğu Problemi: Tətbiq kodu elementlərin siyahısını alır, sonra əlaqəli məlumatları əldə etmək üçün hər bir element üçün ayrıca sorğu yerinə yetirir. Bu, N elementlərin sayı olduğu N əlavə sorğu yaradır.
- Çatışmayan Keşləmə: Tətbiq, nadir hallarda dəyişən məlumatları tətbiq yaddaşında saxlamaq əvəzinə, verilənlər bazasından sorğu göndərir.
- Səsvermə Döngüləri: Kod, dəyişiklik bildirişləri və ya mesaj növbələrindən istifadə etmək əvəzinə, vəziyyət dəyişikliklərini yoxlayan verilənlər bazasını dəfələrlə sorğulayır.
- ORM səmərəsizliyi: Entity Framework və oxşar alətlər bəzən tərtibatçılar kodlarının SQL-ə necə çevrildiyini başa düşmədikdə səmərəsiz sorğu nümunələri yaradır.
Kök səbəbi müəyyən etmək üçün sorğunu tətbiq koduna qədər izləyin. qeyd edin Ərizə və Giriş sorğu yerinə yetirildikdə Proseslər panelindəki sütunlar. Siz həmçinin prosesi sağ klikləyib seçə bilərsiniz İzləmə Prosesi SQL Server Profil zəng nümunəsini görmək üçün.
4.1.3 Həll yolları və ən yaxşı təcrübələr
Həddindən artıq sorğu icrasını müəyyən etdikdən sonra bu həll yollarını nəzərdən keçirin:
- Toplu emal: Döngüdə ayrı-ayrı sorğuları yerinə yetirməkdənsə, birləşmələr və ya IN bəndlərindən istifadə edərək bir sorğuda birdən çox elementi əldə etmək üçün proqram kodunu dəyişdirin.
- Nəticə Keşləmə: Tez-tez əldə edilən keş, tətbiq yaddaşında müvafiq son istifadə müddətləri ilə nadir hallarda dəyişən məlumatlar.
- Həvəslə Yükləmə: ORM-ləri daha az, daha səmərəli sorğularda əlaqəli məlumatları əldə edən həvəsli yükləmə strategiyalarından istifadə etmək üçün konfiqurasiya edin.
- Sorğunun Parametrləşdirilməsi: Sorğuların dəyərləri birləşdirən deyil, parametrlərdən istifadə etdiyinə əmin olun ki, bu da plan keşinin təkrar istifadəsini yaxşılaşdırır və kompilyasiya xərclərini azaldır.
4.2 Bloklama məsələlərinin araşdırılması
Bloklama bir seans digər seansların davam etməsinə mane olan kilidləri saxladıqda baş verir. Bu, tətbiqin yavaş cavab müddəti və incimiş istifadəçilər kimi özünü göstərir.
4.2.1 Bloklama zəncirlərinin müəyyən edilməsi
Bloklamanı aşkar etmək və təhlil etmək üçün:
- Fəaliyyət Monitorunu açın və genişləndirin Proseslər çörək.
- Dəyərləri olan sessiyaları axtarın Bloklandı sütun - bunlar digər seanslar tərəfindən saxlanılan kilidləri gözləyir.
- "1" ilə sessiyaları tapın Baş Blokçu sütun - bunlar zəncirlərin bloklanmasının əsas səbəbidir.
- Qeyd edin Seans şəxsiyyəti baş blokerinin.
- Baş bloker seansına sağ vurun və seçin Ətraflı hansı əmri yerinə yetirdiyini görmək üçün.
Bloklama zəncirini başa düşmək çox vacibdir. Baş bloker, bloklanmış seanslar deyil, araşdırmalı olduğunuz sessiyadır.
4.2.2 Kilid növlərini başa düşmək
The Gözləmə növü Proseslər panelindəki sütun bloklanmış seansların hansı növünü gözlədiyini göstərir:
- LCK_M_X: Eksklüziv kilid gözləməsi, adətən YENİLƏNMƏ, SİLİN və ya INSERT əməliyyatları nəticəsində yaranır.
- LCK_M_S: Paylaşılan kilid gözləyin, adətən eksklüziv kilidlərin buraxılmasını gözləyən SELECT ifadələri.
- LCK_M_U: Yeniləmə kilidini gözləyin, yeniləmələr zamanı istifadə edilən aralıq kilid növü.
- LCK_M_IX: Səhifə və ya sətir səviyyəli kilid mübahisəsini göstərən eksklüziv kilidi gözləyin.
The Resurs gözləyin sütun hansı verilənlər bazası obyektinin kilidləndiyini göstərir və bu, hansı cədvəlin və ya indeksin mübahisədə iştirak etdiyini anlamağa kömək edir.
4.2.3 Bloklama məsələlərinin həlli
Bloklama sessiyasını və onun nə etdiyini müəyyən etdikdən sonra bir neçə seçiminiz var:
- Tamamlanmasını gözləyin: Baş bloker tezliklə tamamlanacaq qanuni sorğu işlədirsə, onun təbii şəkildə bitməsinə icazə vermək yaxşı olar.
- Sessiyanı öldürün: Baş bloker ilişibsə və ya ləğv edilməli olan sorğu işlədirsə:
- Proseslər panelində seansa sağ vurun.
- seçmək Prosesi öldürün.
- Dialoq qutusunda hərəkəti təsdiqləyin.
- Sorğuları optimallaşdırın: Bloklama eyni sorğularla təkrarlanırsa, kilidləmə müddətini azaltmaq üçün onları optimallaşdırın.
- İzolyasiya səviyyələrini tənzimləyin: Oxunan ağır iş yüklərində bloklanmağı azaltmaq üçün READ COMMITTED SNAPSHOT ISOLATION-dan istifadə etməyi düşünün.
- İndeks Tənzimləmə: Sorğuları sürətləndirmək, onların kilidləri saxlama müddətini azaltmaq üçün indekslər əlavə edin.
4.3 Yüksək CPU İstifadəsinin Təhlili
İcmal paneli prosessor vaxtını ardıcıl olaraq 100% və ya yaxın göstərdikdə, siz hansı sorğuların cavabdeh olduğunu müəyyən etməli və onların optimallaşdırıla biləcəyini müəyyən etməlisiniz.
4.3.1 CPU-intensiv sorğuların müəyyən edilməsi
Həddindən artıq CPU istehlak edən sorğuları tapmaq üçün:
- Açmaq Son Bahalı Sorğular çörək.
- Sort by CPU (ms/san) Ən çox CPU vaxtından istifadə edərək sorğuları göstərmək üçün.
- Siyahıdakı ən yaxşı sorğuları nəzərdən keçirin.
- Yüksək CPU sorğularına sağ klikləyin və seçin Sorğu mətnini redaktə edin SQL ifadəsinə baxmaq üçün.
- seçmək İcra planını göstərin sorğunun necə yerinə yetirildiyini başa düşmək üçün.
Yalnız fərdi sorğu CPU istifadəsinə deyil, həm də diqqət yetirin Edamlar/dəq sütun. İcra başına orta CPU istifadə edən, lakin dəqiqədə minlərlə dəfə işləyən sorğu ən böyük CPU istehlakçınız ola bilər.
4.3.2 Sorğunun optimallaşdırılması üsulları
CPU istehlakını azaltmaq üçün ümumi yanaşmalara aşağıdakılar daxildir:
- Çatışmayan indeksləri əlavə edin: İndeks, cədvəl skanlarından daha az CPU istifadə etməyə çalışır. İcra planlarında çatışmayan indeks tövsiyələrini axtarın.
- Səmərəli sorğuları yenidən yazın: Kursorları dəst-əsaslı əməliyyatlarla əvəz edin, WHERE bəndlərindəki lazımsız funksiyaları aradan qaldırın və lazımsız birləşmələri çıxarın.
- Statistikanı yeniləmək: Köhnəlmiş statistika səbəb olur SQL Server səmərəsiz icra planlarını seçmək. Təsirə məruz qalan cədvəllərdə YENİLƏNİB STATİSTİKA-nı işə salın.
- Məlumat həcmini azaldın: Daha əvvəl məlumatları süzgəcdən keçirmək üçün WHERE bəndləri əlavə edin, səhifələşdirmə üçün TOP və ya OFFSET/FETCH istifadə edin və SELECT *-dan qaçın.
- Parametr iylənməsini düzəldin: Parametrlərin iylənməsi problemlərə səbəb olduqda OPSİYON (YENİDƏN TƏRKİB EDİN), sorğu göstərişləri və ya plan bələdçilərindən istifadə edin.
4.4 Yaddaş problemlərinin araşdırılması
Yaddaş təzyiqi sorğuların diskə tökülməsinə səbəb ola bilər ki, bu da performansı əhəmiyyətli dərəcədə pisləşdirir. Fəaliyyət Monitoru yaddaş tutumlu əməliyyatları müəyyən etməyə kömək edir.
4.4.1 Yaddaş Metriklərini Anlamaq
The Yaddaş İstifadəsi Proseslər panelindəki sütun kilobaytlarla hər seansa ayrılmış yaddaşı göstərir. Bir seansda yüksək yaddaş istifadəsi tez-tez göstərir:
- Əvvəlcə verilən yaddaşa sığmayan böyük çeşidləmə və ya hash əməliyyatları
- Nəhəng nəticə dəstlərini əldə edən sorğular
- Həddindən artıq paralellik icra planı operatorlarının çoxlu surətlərini yaradır
- CLR-də saxlanan prosedurlarda və ya funksiyalarda yaddaş sızması
Sorğular kifayət qədər yaddaş qrantları əldə edə bilmədiyi və yaddaşın əlçatan olmasını gözləməli olduğu zaman Resurs Gözləmələri paneli Yaddaş gözləmələrini göstərə bilər.
4.4.2 Yaddaşı intensiv tələb edən sorğuların müəyyən edilməsi
Yaddaş təzyiqinə səbəb olan sorğuları tapmaq üçün:
- Ci Proseslər panel, sırala Yaddaş İstifadəsi ən çox yaddaş istehlak edən sessiyaları görmək üçün.
- Yüksək yaddaş istifadəsi olan seansları sağ klikləyin və seçin Ətraflı sorğularına baxmaq üçün.
- Ci Son Bahalı Sorğular paneldə yüksək olan sorğuları axtarın Məntiqi Oxumalar or Məntiqi yazır, çünki bunlar tez-tez yaddaş istifadəsi ilə əlaqələndirilir.
- Yaddaş qrantlarından istifadə edən Sort və Hash Match operatorları üçün icra planlarını nəzərdən keçirin.
İcra planlarında və ya dağılma xəbərdarlıqlarında “Yaddaş Qrantı” xəbərdarlığını göstərən sorğular yaddaş təzyiqi problemlərini göstərir.
4.5 Tətbiq Performans Problemlərinin Aşkarlanması
İstifadəçilər tətbiqin yavaş cavab müddətini bildirdikdə, Fəaliyyət Monitoru verilənlər bazasında darboğaz olub-olmadığını müəyyən etməyə kömək edir.
4.5.1 Fəaliyyət Monitorunun Tətbiq Problemləri ilə Əlaqələndirilməsi
Tətbiqin yavaşlığını araşdırmaq üçün:
- İstifadəçilərin problemləri və təsirə məruz qalan tətbiqləri bildirdikləri dəqiq vaxta diqqət yetirin.
- Fəaliyyət Monitorunu açın və yoxlayın Baxış o zaman resurs sıçrayışları üçün panel.
- Ci Proseslər panel, süzgəc Ərizə təsirə məruz qalan tətbiqdən yalnız əlaqələri göstərmək üçün.
- Yüksək axtarın Zamanı gözləyin verilənlər bazası gecikmələrini göstərən dəyərlər.
- Də yoxlayın Son Bahalı Sorğular əhəmiyyətli resursları istehlak edən tətbiqdən sorğular üçün panel.
İstifadəçilər yavaşlıq yaşayarkən verilənlər bazası qeyri-adi fəaliyyət göstərmirsə, problem proqram kodunda, şəbəkə gecikməsində və ya müştəri performansındadır.
4.5.2 Səmərəsiz Tətbiq Nümunələrinin Müəyyən edilməsi
Fəaliyyət Monitoru tətbiq dizaynında bir neçə anti-naxış aşkar edir:
- Danışıq tətbiqləri: Daha az, daha səmərəli sorğular əvəzinə çoxlu kiçik sorğular. Son Bahalı Sorğularda yüksək bağlantı sayları və çoxsaylı sadə sorğularla müəyyən edilir.
- N+1 Sorğular: Əlaqədar məlumat üçün bir sorğunun ardınca N əlavə sorğu. Dəqiqədə son dərəcə yüksək icra ilə sadə sorğu kimi göstərilir.
- Böyük Nəticə Dəstləri: Tətbiqlər lazım olduğundan daha çox məlumat əldə edir. Yüksək axtarın Məntiqi Oxumalar sadə SELECT * sorğuları ilə birləşdirilir.
- Çatışmayan Taymoutlar: Komanda fasilələrini təyin etməyən proqramlar, Proseslər panelində uzun müddət davam edən seanslar kimi görünən əlaqələri qeyri-müəyyən müddətə açıq qoya bilər.
5. Alternativ üsullar: T-SQL vasitəsilə Fəaliyyət Monitoru Məlumatının əldə edilməsi
Fəaliyyət Monitoru rahat qrafik interfeys təqdim etsə də, bəzən siz proqramlı şəkildə ekvivalent məlumatı əldə etməlisiniz və ya xüsusi monitorinq həlləri yaratmalısınız.
5.1 Dinamik İdarəetmə Baxışlarından (DMVs) istifadə
SQL Server Fəaliyyət Monitorunun pərdə arxasında sorğu-sual etdiyi dinamik idarəetmə görünüşləri vasitəsilə fəaliyyət məlumatlarını ifşa edir.
5.1.1 Fəaliyyətin monitorinqi üçün əsas DMV-lər
Fəaliyyət Monitorunun funksionallığını təkrarlamaq üçün ən vacib DMV-lərə aşağıdakılar daxildir:
- sys.dm_exec_requests: Hazırda CPU, I/O və gözləmə məlumatları ilə icra edilən sorğuları göstərir.
- sys.dm_exec_sessions: Giriş adı, host adı və proqram adı kimi sessiya səviyyəli məlumatları ehtiva edir.
- sys.dm_os_wait_stats: Bütün instansiya üçün məcmu gözləmə statistikasını təmin edir.
- sys.dm_exec_query_stats: Keşlənmiş sorğular üçün ümumi performans statistikasını ehtiva edir.
- sys.dm_io_virtual_file_stats: Data və log faylları üçün I/O statistikasını qaytarır.
- sys.dm_exec_sql_text: Verilmiş sql_handle və ya plan_handle üçün SQL mətnini alır.
- sys.dm_exec_query_plan: Keşlənmiş sorğu üçün icra planını qaytarır.
5.1.2 Proses məlumatı üçün sorğu nümunələri
Proseslər panelinin funksionallığını təkrarlamaq üçün siz sorğu edə bilərsiniz:
SELECT
s.session_id AS [Session ID],
CASE WHEN s.is_user_process = 1 THEN 'Yes' ELSE 'No' END AS [User Process],
s.login_name AS [Login],
ISNULL(CAST(r.blocking_session_id AS VARCHAR), '') AS [Blocked By],
CASE
WHEN r2.session_id IS NOT NULL
AND (r.blocking_session_id = 0 OR r.session_id IS NULL)
THEN '1'
ELSE ''
END AS [Head Blocker],
ISNULL(DB_NAME(r.database_id), '') AS [Database],
ISNULL(t.task_state, '') AS [Task State],
ISNULL(r.command, '') AS [Command],
r.cpu_time AS [CPU Time],
r.total_elapsed_time AS [Elapsed Time],
r.wait_time AS [Wait Time],
r.wait_type AS [Wait Type],
s.memory_usage * 8 AS [Memory Use (KB)],
s.host_name AS [Host Name],
s.program_name AS [Application]
FROM sys.dm_exec_sessions s
LEFT JOIN sys.dm_exec_requests r ON s.session_id = r.session_id
LEFT JOIN sys.dm_exec_requests r2 ON r.session_id = r2.blocking_session_id
LEFT JOIN sys.dm_os_tasks t ON r.session_id = t.session_id
WHERE s.session_id != @@SPID
ORDER BY s.session_id;
5.1.3 Gözləmə Statistikası üçün Nümunə Sorğular
Resurs Gözləmələri panelinə bənzər gözləmə statistikasını görmək üçün:
SELECT TOP 10
wait_type AS [Wait Type],
wait_time_ms / 1000.0 AS [Wait Time (sec)],
waiting_tasks_count AS [Waiting Tasks],
wait_time_ms / NULLIF(waiting_tasks_count, 0) AS [Avg Wait Time (ms)]
FROM sys.dm_os_wait_stats
WHERE wait_type NOT LIKE '%SLEEP%'
AND wait_type NOT LIKE '%IDLE%'
AND wait_type NOT LIKE '%QUEUE%'
ORDER BY wait_time_ms DESC;
5.2 sp_WhoIsActive istifadə edərək
sp_WhoIsActive bir nəticə dəstində Fəaliyyət Monitorundan daha ətraflı məlumat verən, icma tərəfindən yaradılmış güclü saxlanmış prosedurdur.
5.2.1 sp_WhoIsActive proqramının quraşdırılması
sp_WhoIsActive quraşdırmaq üçün:
- Ən son versiyasını
http://whoisactive.com. - Yükləmə prosedur tərifini ehtiva edən SQL skriptidir.
- Skripti açın SQL Server İdarəetmə studiyası.
- Özünüzə qoşun SQL Server Məsələn.
- Əsas verilənlər bazasında prosedur yaratmaq üçün skripti icra edin.
- Müvafiq istifadəçilərə icra icazələri verin.
sp_WhoIsActive master-da quraşdırıldığı üçün ona istənilən verilənlər bazası kontekstindən daxil olmaq mümkündür.
5.2.2 Əsas İstifadə Nümunələri
sp_WhoIsActive istifadə etməyin ən sadə yolu:
EXEC sp_WhoIsActive;
Bu, bütün aktiv sessiyaları sorğuları, gözləmə növləri, bloklama məlumatları və resurs istifadəsi ilə göstərən nəticə dəstini qaytarır.
Həmin dövr ərzində fəaliyyəti göstərən 10 saniyəlik nümunə üçün:
EXEC sp_WhoIsActive @delta_interval = 10;
Bu, CPU kimi metriklər üçün deltaları hesablayır və həmin 10 saniyə ərzində baş verənləri göstərən oxuyur.
5.2.3 Qabaqcıl Parametrlər
sp_WhoIsActive fərdiləşdirmə üçün çoxsaylı parametrləri dəstəkləyir:
- @filtr: Nəticələri xüsusi sessiyalara, verilənlər bazasına və ya girişlərə süzün.
- @filter_type: Süzgəcin nəyə aid olduğunu göstərin (sessiya, verilənlər bazası, giriş və s.).
- @get_plans: Nəticələrə icra planlarını daxil edin (1-ə təyin edin).
- @get_locks: Ətraflı kilid məlumatını göstərin (1-ə təyin edin).
- @get_transaction_info: Əməliyyat təfərrüatlarını göstərin (1-ə təyin edin).
- @sort_order: Nəticələri müxtəlif ölçülərə görə sifariş edin (CPU, oxunma, müddət və s.).
- @destination_table: Tarixi izləmə üçün nəticələri cədvələ daxil edin.
CPU-ya görə sıralanmış planları göstərən nümunə:
EXEC sp_WhoIsActive
@get_plans = 1,
@sort_order = '[CPU] DESC';
5.3 Sistemdə saxlanan prosedurlardan istifadə
SQL Server DMV və ya Fəaliyyət Monitorundan daha az məlumat təmin etməsinə baxmayaraq, fəaliyyətin monitorinqi üçün ənənəvi saxlanılan prosedurları ehtiva edir.
5.3.1 sp_who və sp_who2
sp_who proseduru əsas sessiya məlumatlarını göstərir:
EXEC sp_who;
sp_who2 proseduru bir az daha ətraflı məlumat verir:
EXEC sp_who2;
Hər iki prosedur sessiya ID-lərini, giriş adlarını, CPU vaxtını və bloklama məlumatlarını göstərir. Lakin, onlar DMV və ya Activity Monitor vasitəsilə mövcud olan zəngin detallara malik deyillər. Minimal məlumata tez ehtiyac duyduğunuz zaman sürətli yoxlamalar üçün ən faydalıdırlar.
5.3.2 Digər Faydalı Sistem Prosedurları
Monitorinq üçün əlavə sistem prosedurlarına aşağıdakılar daxildir:
- sp_lock: Kilid məlumatını göstərir (köhnəlmişdir; əvəzinə sys.dm_tran_locks istifadə edin).
- sp_monitor: Haqqında statistik məlumatları göstərir SQL Server fəaliyyəti.
- sp_help: Obyekt tərifləri və metadata göstərir.
- DBCC SQLPERF: Tranzaksiya jurnalı sahəsinin istifadəsi və gözləmə statistikasını göstərir.
5.4 Xüsusi Monitorinq Skriptlərinin yaradılması
Fəaliyyət Monitorunun təmin etdiyindən əlavə xüsusi monitorinq tələb edən mühitlər üçün DMV-lərdən istifadə edərək fərdi həllər yarada bilərsiniz.
5.4.1 Tam Fəaliyyət Monitoru Ekvivalent Skripti
Budur, Fəaliyyət Monitorunun əksər funksiyalarını təkrarlayan hərtərəfli bir skript:
-- Processes Information
SELECT
s.session_id AS [Session ID],
CONVERT(CHAR(1), s.is_user_process) AS [User Process],
s.login_name AS [Login],
ISNULL(CONVERT(VARCHAR, w.blocking_session_id), '') AS [Blocked By],
CASE
WHEN r2.session_id IS NOT NULL
AND (r.blocking_session_id = 0 OR r.session_id IS NULL)
THEN '1'
ELSE ''
END AS [Head Blocker],
ISNULL(DB_NAME(r.database_id), N'') AS [Database],
ISNULL(t.task_state, N'') AS [Task State],
ISNULL(r.command, N'') AS [Command],
SUBSTRING(st.text, (r.statement_start_offset/2) + 1,
((CASE r.statement_end_offset
WHEN -1 THEN DATALENGTH(st.text)
ELSE r.statement_end_offset
END - r.statement_start_offset) / 2) + 1) AS [Statement],
st.text AS [Command Text],
r.cpu_time AS [CPU Time (ms)],
r.total_elapsed_time / 1000 AS [Elapsed Time (sec)],
r.wait_time AS [Wait Time (ms)],
r.wait_type AS [Wait Type],
r.wait_resource AS [Wait Resource],
s.memory_usage * 8 AS [Memory Use (KB)],
s.host_name AS [Host Name],
c.client_net_address AS [Net Address],
s.program_name AS [Application]
FROM sys.dm_exec_sessions s
LEFT JOIN sys.dm_exec_requests r ON s.session_id = r.session_id
LEFT JOIN sys.dm_exec_requests w ON r.session_id = w.blocking_session_id
LEFT JOIN sys.dm_exec_requests r2 ON r.session_id = r2.blocking_session_id
LEFT JOIN sys.dm_os_tasks t ON r.session_id = t.session_id
AND r.request_id = t.request_id
LEFT JOIN sys.dm_exec_connections c ON s.session_id = c.session_id
OUTER APPLY sys.dm_exec_sql_text(r.sql_handle) st
WHERE s.session_id != @@SPID
ORDER BY s.session_id;
-- Recent Expensive Queries
SELECT TOP 20
qs.execution_count /
DATEDIFF(MINUTE, qs.creation_time, GETDATE()) AS [Executions/min],
qs.total_worker_time / 1000 AS [CPU Time (ms)],
qs.total_physical_reads AS [Physical Reads],
qs.total_logical_writes AS [Logical Writes],
qs.total_logical_reads AS [Logical Reads],
qs.total_elapsed_time / qs.execution_count / 1000 AS [Avg Duration (ms)],
SUBSTRING(st.text, (qs.statement_start_offset/2) + 1,
((CASE qs.statement_end_offset
WHEN -1 THEN DATALENGTH(st.text)
ELSE qs.statement_end_offset
END - qs.statement_start_offset) / 2) + 1) AS [Query Text]
FROM sys.dm_exec_query_stats qs
CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) st
WHERE qs.execution_count > 0
ORDER BY qs.total_worker_time DESC;
5.4.2 SQL Agent İşləri ilə Monitorinqin Avtomatlaşdırılması
İstifadə edərək xüsusi monitorinq skriptlərini planlaşdıra bilərsiniz SQL Server Agent:
- Monitorinq nəticələrini saxlamaq üçün cədvəl yaradın.
- Nəticələri bu cədvələ daxil etmək üçün monitorinq skriptinizi dəyişdirin.
- In SQL Server Management Studio, genişləndirin SQL Server Agent Obyekt Explorer-də.
- Sağ-klik Jobs və seçin Yeni iş.
- Monitorinq skriptinizi müntəzəm olaraq işlətmək üçün işi konfiqurasiya edin.
- Toplanmış məlumatlar əsasında xəbərdarlıqlar və ya hesabatlar qurun.
Bu yanaşma Fəaliyyət Monitorunun təmin etmədiyi tarixi izləmə və trend təhlilinə imkan verir.
6. Fəaliyyət Monitorunun Məhdudiyyətləri və Mülahizələri
Fəaliyyət Monitoru dəyərli olsa da, onun məhdudiyyətlərini başa düşmək ondan düzgün istifadə etməyə və lazım olduqda onu digər alətlərlə əlavə etməyə kömək edir.
6.1 Fəaliyyət Monitorunun yuxarı xərclərini başa düşmək
Fəaliyyət Monitoru pulsuz deyil - məlumat toplamaq və göstərmək üçün server resurslarını sərf edir. Bu yükü başa düşmək ondan məsuliyyətlə istifadə etməyə kömək edir.
6.1.1 Server Resurslarına Təsir
Fəaliyyət Monitoru hər dəfə yeniləndikdə sistem DMV-lərinə qarşı sorğular aparır. Bu sorğular CPU istehlak edir, məntiqi oxunuşlar yaradır və sistem cədvəllərində qısa müddətə kilidləri saxlaya bilər. Məşğul olan serverlərdə bu yük performansa təsir göstərə bilər.
Proseslər və Son Bahalı Sorğular panelləri xüsusilə bahalıdır, çünki onlar potensial olaraq böyük DMV-ləri və keş cədvəllərini skan etməlidirlər. Minlərlə keşlənmiş sorğu planı olan serverlərdə Son Bahalı Sorğuların təzələnməsi bir neçə saniyə çəkə bilər.
Microsoft-un sənədləri xəbərdarlıq edir ki, 10 saniyədən aşağı yeniləmə intervalları, xüsusən də artıq yüklənmiş sistemlərdə server performansına nəzərəçarpacaq dərəcədə təsir göstərə bilər.
6.1.2 Ən yaxşı təcrübələri yeniləyin
Vəziyyətinizə uyğun yeniləmə intervallarını seçin:
- 1-5 saniyə: Yalnız yüngül yüklənmiş serverlərdə kritik problemlərin dərhal aradan qaldırılması üçün. Fəaliyyət Monitorunu bu fasilələrlə işlək vəziyyətdə qoymayın.
- 10 saniyə (standart): Əksər problemlərin aradan qaldırılması ssenariləri və ümumi monitorinq üçün məqbuldur.
- 30-60 saniyə: Ağır yük altında və ya uzun müddət monitorinq zamanı istehsal serverləri üçün daha yaxşı seçim.
- Yalnız əl ilə yeniləmə: Davamlı səsvermə olmadan arabir cari vəziyyəti yoxlamaq istədiyiniz vəziyyətlər üçün.
Araşdırmağı bitirdikdə həmişə Fəaliyyət Monitorunu bağlayın. Xüsusilə müxtəlif istifadəçilərdən gələn çoxsaylı nümunələri davamlı olaraq işlək vəziyyətdə qoymayın.
6.2 Gözləmə Növü Qruplaşdırma Problemləri
Activity Monitor-un gözləmələri təsnif etmək yanaşması, görünüşü sadələşdirsə də, vacib diaqnostik məlumatları gizlədə bilər.
6.2.1 Fəaliyyət Monitoru Qruplarını Necə Gözləyir
SQL Server yüzlərlə fərqli gözləmə növlərini izləyir, hər biri xüsusi resurs və ya şərti göstərir. Fəaliyyət Monitoru bunları "Bufer kilidi", "Kilid" və "Yaddaş" kimi geniş kateqoriyalara qruplaşdırır.
Məsələn, “Buffer Latch” kateqoriyasına PAGELATCH_SH, PAGELATCH_UP, PAGELATCH_EX və bir neçə digər xüsusi gözləmə növləri daxildir. Onların hamısı səhifəyə girişlə əlaqəli olsalar da, onların müxtəlif səbəbləri və həll yolları var.
Microsoft hansı gözləmə növlərinin hansı kateqoriyalara aid olduğunu dəqiq sənədləşdirmir, bu da həqiqətən gördüklərinizi başa düşməyi çətinləşdirir.
6.2.2 Çatışmayan Gözləmə Növləri
Fəaliyyət Monitoru bütün gözləmə növlərini göstərmir. Ən əsası, tez-tez paralel sorğu icrasını göstərən CXPACKET gözləmələrini buraxır. CXPACKET gözləmələri geniş yayılmışdır və adətən problemli deyil, lakin onların mövcudluğunu bilmək iş yükünün xüsusiyyətlərini anlamağa kömək edir.
Fəaliyyət Monitoru ən çox gözlədiyiniz kimi “Buffer Latch”i göstərdikdə, lakin digər alətlər CXPACKET-in üstünlük təşkil etdiyini göstərdikdə, uyğunsuzluq Fəaliyyət Monitorunun filtrləmə və qruplaşdırma məntiqindən irəli gəlir.
6.2.3 Nə üçün Xüsusi Gözləmə Növləri Əhəmiyyətlidir
Xüsusi gözləmə növünü bilmək problemlərin həlli üçün vacibdir:
- PAGELATCH_EX: Tez-tez ayırma səhifələrində tempdb mübahisəsini göstərir. Həll daha çox tempdb məlumat faylı əlavə etməyi nəzərdə tutur.
- PAGELATCH_SH: İstifadəçi cədvəllərində isti səhifələri göstərə bilər. Həll bölmə və ya indeksin yenidən təşkilini nəzərdə tutur.
- PAGELATCH_UP: Yeniləmələr zamanı ümumi. Problemdən çox normal işləməyi göstərə bilər.
Fəaliyyət Monitoru bunların hamısını “Bufer kilidi” altında qruplaşdırır və diaqnozu çətinləşdirir. Sp_WhoIsActive və DMV sorğuları kimi alətlər xüsusi gözləmə növlərini göstərir.
6.3 Məlumatların Dəqiqliyi və Vaxtlılığı
Fəaliyyət Monitoru real vaxta yaxın görüntü təqdim edir, lakin “yaxın” operativ sözdür. Onun məlumat toplama metodunu başa düşmək nəticələri düzgün şərh etməyə kömək edir.
6.3.1 Snapshot və Davamlı Monitorinq
Fəaliyyət Monitoru hər yeniləmə intervalında çəkilmiş anlıq görüntüləri göstərir. Snapshotlar arasında baş verən hadisələr çəkilmir. Sorğu 2 saniyə ərzində işləyirsə və siz hər 10 saniyədən bir təzələnirsinizsə, vaxtdan asılı olaraq onu bir dəfə görə və ya heç görməyə bilərsiniz.
Bu o deməkdir ki, Fəaliyyət Monitoru davamlı problemləri (davamlı dəqiqələrin bloklanması, ardıcıl olaraq yüksək CPU) tapmaqda üstündür, lakin keçici problemləri (qısa dalana dirənişlər, təsadüfi sorğu sıçrayışları) qaçıra bilər.
6.3.2 Ümumiləşdirmə və Nümunə götürmə
Son Bahalı Sorğular paneli sorğu planlarının keşə daxil olmasından sonra toplanmış məlumatları göstərir. Fərqli parametr dəyərlərinə malik iki eyni sorğu, planı paylaşdıqda bir sıra kimi görünür. Bu aqreqasiya spesifik parametr birləşmələri ilə bağlı problemləri maskalaya bilər (parametrlərin iylənməsi problemləri).
Resurs Gözləmələri bölməsi anlıq görüntüləri müqayisə etməklə sürətləri hesablayır. Əgər anlıq görüntülər arasında gözləmə statistikası sıfırlanırsa (nadir hallarda, lakin mümkündür), hesablanmış sürətlər səhv ola bilər.
6.4 Fəaliyyət monitorundan istifadə edilmədiyi zaman
Fəaliyyət Monitoru hər monitorinq ssenarisi üçün uyğun deyil. Alternativ vasitələrin daha yaxşı seçim olduğunu anlayın.
6.4.1 Tarixi Təhlil Tələbləri
Fəaliyyət Monitoru yalnız cari və ya son fəaliyyəti göstərir. Tarixi məlumatları saxlamır. Günlər və ya həftələr ərzində trendləri təhlil etmək, cari performansı ilkin göstəricilərlə müqayisə etmək və ya performans nümunələri haqqında hesabatlar yaratmaq lazımdırsa, Fəaliyyət Monitoru kifayət deyil.
Tarixi təhlil üçün istifadə edin SQL Serverdaxili Performans Paneli, fayl hədəfləri olan Genişləndirilmiş Tədbirlər və ya üçüncü tərəf monitorinq həlləri.
6.4.2 Ətraflı Gözləmə Statistikası Ehtiyacları
Təkmil tənzimləmə üçün dəqiq gözləmə növü məlumatına ehtiyacınız olduqda, Fəaliyyət Monitorunun qruplaşdırılması və filtrasiyası onu qeyri-adekvat edir. DMV sorğularını birbaşa və ya əvəzinə sp_WhoIsActive istifadə edin.
Hərtərəfli gözləmə statistikası təhlili üçün birbaşa sys.dm_os_wait_stats sorğusunu aparın və xoş gözləntiləri əl ilə filtrləyin.
6.4.3 İstehsal Serveri Mülahizələri
Ağır yük altında istehsal serverlərində Fəaliyyət Monitorunun yükü problemli ola bilər. Birdən çox verilənlər bazası administratoru eyni serverdə eyni vaxtda Fəaliyyət Monitorunu işə salmamalıdır.
İstehsalın monitorinqi üçün monitorinq verilənlər bazasında saxlanılan planlaşdırılmış DMV snapşotları kimi yüngül alternativləri nəzərdən keçirin və ya Həmişə Aktiv konfiqurasiyalarda ikinci dərəcəli replikalara nəzarət etmək üçün Yalnız oxunan marşrutlaşdırmadan istifadə edin.
7. Fəaliyyət Monitorundan istifadə üçün ən yaxşı təcrübələr
Ən yaxşı təcrübələrə riayət etmək, serverlərinizə mənfi təsirləri minimuma endirərkən Fəaliyyət Monitorundan maksimum dəyər əldə etməyinizi təmin edir.
7.1 Fəaliyyət Monitorundan nə vaxt istifadə edilməlidir
Fəaliyyət Monitoru xüsusi ssenarilərdə işıq saçır. Onun güclü tərəfləri ehtiyaclarınıza uyğunlaşdıqda istifadə edin.
7.1.1 Real-Time Performans Problemləri
Fəaliyyət Monitoru istifadəçilərin hazırda problemlərlə üzləşdiyi və siz dərhal problemə diaqnoz qoymağınız lazım olduqda idealdır. Real vaxt görünüşü sizə hazırda nə baş verdiyini görməyə kömək edir.
“Tətbiq yavaşdır” zəngi aldığınız zaman Fəaliyyət Monitorunu açmaq ilk addımlarınızdan biri olmalıdır. Verilənlər bazasının məşğul, bloklanmış və ya boş olduğunu tez bir zamanda müəyyən edə bilərsiniz.
7.1.2 Tətbiqin Yavaşlaması Araşdırması
Xüsusi proqram cavab vermədikdə, Fəaliyyət Monitoru verilənlər bazası problemlərinin səbəb olub-olmadığını müəyyən etməyə kömək edir. Yalnız həmin proqramın verilənlər bazası fəaliyyətini görmək üçün Proseslər panelini proqram adına görə süzün.
İstifadəçilər problemləri bildirərkən proqram verilənlər bazası fəaliyyəti göstərmirsə, problem yığının başqa yerindədir. Geniş bloklama və ya bahalı sorğular görürsünüzsə, günahkarınızı tapmısınız.
7.1.3 Tez Sağlamlıq Yoxlamaları
Fəaliyyət Monitoru müntəzəm idarəetmə zamanı sağlamlığın tez yoxlanılması üçün əla idarə paneli təqdim edir. Onu açın, Ümumi Baxış qrafiklərinə nəzər salın və heç nəyin anormal görünmədiyini yoxlayın.
Bu kursor yoxlama saniyə çəkir və problemləri kritik hala gəlməzdən əvvəl aşkar edə bilər. Bunu gündəlik işinizin bir hissəsi edin.
7.2 Optimal Konfiqurasiya Parametrləri
Fəaliyyət Monitorunun uyğun şəkildə konfiqurasiyası onun həm faydalılığını, həm də resurs izini yaxşılaşdırır.
7.2.1 Tövsiyə olunan yeniləmə intervalları
Yeniləmə intervalınızı məqsədinizə uyğunlaşdırın:
- Aktiv nasazlıqların aradan qaldırılması: 10 saniyə ağlabatan yüklə yaxşı cavab verir.
- Genişləndirilmiş monitorinq: 30-60 saniyə daha uzun müşahidə müddətlərində server təsirini azaldır.
- Kritik problem diaqnozu: 5 saniyə hər saniyə sayıldığında yüksək qranulyarlıq verir, lakin qısa müddət ərzində istifadə edin.
- Daimi sağlamlıq yoxlamaları: Aktiv şəkildə izləmədiyiniz zaman əl ilə yeniləyin (1 saatlıq interval).
Bitirdikdə Fəaliyyət Monitorunu bağlamağı unutmayın. Onu uzun müddətə təyin etmək və bunu unutmaq server resurslarını israf edir.
7.2.2 Filtrləmə Strategiyaları
Müvafiq məlumatlara diqqət yetirmək və idrak yükünü azaltmaq üçün filtrlərdən istifadə edin:
- Prosesləri süzün Database yalnız xüsusi verilənlər bazalarına qarşı fəaliyyəti görmək.
- Filter Giriş xüsusi istifadəçinin fəaliyyətini izləmək üçün.
- Filter Tapşırıq vəziyyəti = Boş sessiyaları gizlətmək üçün RUNNING.
- Filter Ərizə trafiki xüsusi proqramlardan təcrid etmək.
- Yalnız boş olmayanları göstər Bloklandı yalnız bloklayan vəziyyətləri görmək.
7.2.3 Sütunların seçilməsi və çeşidlənməsi
Fəaliyyət Monitoru məlumatlarını nəzərdən keçirmək üçün sistematik bir yanaşma inkişaf etdirin:
- Baxışla başlayın: Aşkar sıçrayışlar və ya anomaliyalar üçün qrafikləri yoxlayın.
- Bloklama proseslərini yoxlayın: Sessiya ID-si üzrə çeşidləyin, sonra Bloklanmış dəyərlərə görə axtarın.
- Resurs Gözləmələrini nəzərdən keçirin: Resurs darboğazlarını müəyyən etmək üçün məcmu gözləmə vaxtı üzrə çeşidləyin.
- Bahalı sorğuları təhlil edin: Fərqli problem növlərini tapmaq üçün müxtəlif ölçülərə (CPU, icralar, oxunuşlar) görə çeşidləyin.
- Giriş/çıxış paneli ilə yoxlayın: I/O-intensiv sorğuların yüksək disk fəaliyyəti ilə əlaqəli olub olmadığını təsdiqləyin.
7.3 Digər Alətlərlə İnteqrasiya
Fəaliyyət Monitoru müstəqil bir həll kimi deyil, daha geniş alətlər dəstinin bir hissəsi kimi yaxşı işləyir.
7.3.1 ilə istifadə SQL Server Profil
Fəaliyyət Monitoru və SQL Server Profiler bir-birini yaxşı tamamlayır. Fəaliyyət Monitorunda problemli sessiya müəyyən etdikdə, onu sağ klikləyin və seçin İzləmə Prosesi SQL Server Profil.
Bu, yalnız həmin sessiyanın fəaliyyətini tutmaq üçün konfiqurasiya edilmiş filtrlərlə Profiler-i işə salır. Siz icra edilən ifadələrin tam ardıcıllığını, vaxt məlumatlarını və səhv mesajlarını görürsünüz - Fəaliyyət Monitorunun təmin etmədiyi təfərrüat.
Daha ətraflı məlumat üçün SQL Server Profiler imkanları və qabaqcıl izləmə üsulları, bizim baxın hərtərəfli SQL Server Profiler bələdçisi.
7.3.2 Genişləndirilmiş hadisələrlə tamamlanması
Genişləndirilmiş Hadisələr, Fəaliyyət Monitorunun qaçırdığı məlumatları tutan aşağı yüklü, ətraflı monitorinq təklif edir. Kilidlər, uzun müddət davam edən sorğular və ya həddindən artıq təkrar tərtiblər kimi xüsusi hadisələri izləmək üçün Genişləndirilmiş Tədbir sessiyaları yaradın.
Dərhal araşdırma üçün Fəaliyyət Monitorundan və davamlı monitorinq və tarixi təhlil üçün Genişləndirilmiş Hadisələrdən istifadə edin. Bu iki alət müxtəlif ehtiyaclara cavab verir.
Daha ətraflı məlumat üçün SQL Server Genişləndirilmiş Hadisələr imkanları və qabaqcıl monitorinq üsulları, bizim baxın hərtərəfli SQL Server Genişləndirilmiş Tədbirlər bələdçisi.
7.3.3 Üçüncü Tərəfin Monitorinq Həlləri
SolarWinds Database Performance Analyzer, Redgate SQL Monitor və Quest Spotlight kimi kommersiya alətləri Activity Monitor-da olmayan xüsusiyyətlər təqdim edir: xəbərdarlıq, tarixi trendlər, tutum planlaşdırması və avtomatlaşdırılmış diaqnostika.
Bu alətlər Fəaliyyət Monitoruna əvəzedicilər deyil, dəyərli əlavələrdir. Fəaliyyət Monitoru mürəkkəb monitorinq vasitələri mövcud olsa belə, sürətli yoxlamalar və araşdırmalar üçün faydalı olaraq qalır.
Qaçılması lazım olan 7.4 Ümumi Səhv
Ümumi Fəaliyyət Monitoru səhvlərini başa düşmək ondan daha səmərəli istifadə etməyə kömək edir.
7.4.1 Fəaliyyət Monitorunu Davamlı olaraq tərk etmək
Ən çox yayılmış səhv, Activity Monitor proqramını açıb qeyri-müəyyən müddətə işlətməkdir. Bu, server resurslarını boşa sərf edir və aktiv şəkildə izləmədiyiniz üçün az dəyər verir.
Aktiv istifadə etmədiyiniz zaman Fəaliyyət Monitorunu bağlayın. Davamlı monitorinqə ehtiyacınız varsa, bunun əvəzinə planlaşdırılmış məlumatların toplanması ilə düzgün monitorinq həllini tətbiq edin.
7.4.2 Fəaliyyət Monitoruna Həddindən artıq etibar etmək
Fəaliyyət Monitoru server sağlamlığına bir perspektiv təqdim edir. Yalnız ona etibar etməyin. ƏS səviyyəli ölçülər üçün Windows Performans Monitoru, ətraflı izləmə üçün Genişləndirilmiş Hadisələr və sorğunun tənzimlənməsi üçün icra planının təhlili ilə əlavə edin.
Fəaliyyət Monitoru problemləri müəyyən etməyə kömək edir, lakin onların həlli çox vaxt əlavə alətlər və daha dərin təhlil tələb edir.
Haqqında daha ətraflı məlumat SQL Server performans monitorumuz tam təlimat.
7.4.3 Tarixi tendensiyaları nəzərə almamaq
Fəaliyyət Monitoru cari vəziyyəti göstərir, lakin performans problemləri çox vaxt yalnız zamanla görünən nümunələrə malikdir. Cari göstəriciləri əsas göstəricilərlə müqayisə etmək və tendensiyaları müəyyən etmək üçün tarixi məlumatların toplanması həyata keçirin.
Tarixi kontekst olmadan, bugünkü “normal” CPU istifadəsinin keçən ayın ilkin göstəricisindən 30% yüksək olduğunu və tədricən deqradasiyaya işarə etdiyini başa düşməyə bilərsiniz.
8. Fəaliyyət Monitoru ilə bağlı problemlərin aradan qaldırılması
Fəaliyyət Monitorunun özü bəzən problemlərlə üzləşir. Bu problemləri necə həll edəcəyinizi bilmək məyusluğun qarşısını alır.
8.1 Fəaliyyət Monitoru açılmır və ya heç bir məlumat göstərmir
Fəaliyyət Monitoru açıldıqda, lakin boş panellər göstərdikdə və ya ümumiyyətlə açılmadıqda, bir neçə amil cavabdeh ola bilər.
8.1.1 İcazə Məsələləri
Fəaliyyət Monitoru problemlərinin ən çox yayılmış səbəbi qeyri-kafi icazələrdir. Yoxlamaq və həll etmək üçün:
- Server səviyyəli icazələrinizi yoxlayın:
SELECT * FROM fn_my_permissions(NULL, 'SERVER') WHERE permission_name = 'VIEW SERVER STATE'; - Heç bir sətir qaytarılmırsa, SERVER DÖVLƏTİNƏ GÖRÜNÜŞ icazəniz yoxdur.
- Server administratorundan bunu verməsini xahiş edin:
USE master; GRANT VIEW SERVER STATE TO [YourLogin]; - İcazələr verildikdən sonra Fəaliyyət Monitorunu bağlayın və yenidən açın.
8.1.2 Versiya Uyğunluğu Problemləri
Köhnə versiyadan istifadə etməklə SQL Server Daha yenisinə qoşulmaq üçün Management Studio SQL Server versiya Fəaliyyət Monitoru uğursuzluqlarına səbəb ola bilər. Alət yeni gözləmə növlərini və ya sistem görünüşü sütunlarını başa düşməyə bilər.
Həmişə sizinlə uyğun gələn və ya daha yeni olan SSMS versiyasını istifadə edin SQL Server versiya. Microsoft ən son SSMS-ni pulsuz yükləmə kimi təqdim edir SQL Server özü.
8.1.3 Firewall və Şəbəkə Problemləri
Fəaliyyət Monitoru ilə əlaqə tələb olunur SQL Server standart portlarda nümunə (standart olaraq 1433). Obyekt Explorer vasitəsilə qoşula bilsəniz, lakin Fəaliyyət Monitoru uğursuz olarsa, təhlükəsizlik duvarı qaydaları xüsusi bağlantıları bloklaya bilər.
Müştərinizin müraciət edə biləcəyini yoxlayın SQL Server bütün lazımi portlarda maşın. Müştəriniz və serveriniz arasında həm Windows Firewall, həm də hər hansı şəbəkə təhlükəsizlik duvarını yoxlayın.
8.2 Fəaliyyət Monitoru Daimi Fasilə
Ümumi bir problem, xüsusən də SQL Server 2019, Fəaliyyət Monitoru dayandırılmış vəziyyətdə açılır və davam etməkdən imtina edir.
8.2.1 Pauza vəziyyətinin başa düşülməsi
Fəaliyyət Monitoru dayandırıldıqda, bütün panellər işləməyə bilən davam düyməsi ilə "Pauza" statusunu göstərir. Bu, hər hansı bir server fəaliyyətini görməyinizə mane olur.
Durdurulmuş vəziyyət adətən icazə problemləri, uzaqdan qoşulma məhdudiyyətləri və ya SSMS versiyası səhvləri səbəbiylə qəsdən dayandırılmış əməliyyatdan daha çox baş verir.
8.2.2 Ümumi səbəblər
Fəaliyyət Monitoru aşağıdakılara görə daimi fasilə vəziyyətinə keçə bilər:
- Bu yaxınlarda əlavə edilmiş daha yeni panellərdə SERVER DÖVLƏTİNƏ GÖRÜNÜŞ icazəsi çatışmır SQL Server versiyaları
- Uzaqdan bağlantılar deaktiv edilib SQL Server Məsələn
- Xüsusi sistem sorğuları üçün autentifikasiya uğursuzluqları
- Xüsusi SSMS quruluşlarında, xüsusən 18.0-dan 18.3-ə qədər olan səhvlər
- Müştəri və server arasında əlaqə problemləri
8.2.3 Həll mərhələləri
Fəaliyyət Monitorunun dayandırılmış vəziyyəti problemlərini həll etmək üçün:
- SSMS-i yeniləyin: Ən sonunu yükləyin və quraşdırın SQL Server Microsoft veb saytından Management Studio versiyası. Bir çox dayandırılmış vəziyyət səhvləri sonrakı buraxılışlarda düzəldildi.
- İcazələri yoxlayın: SERVER DÖVLƏTİNƏ GÖRÜNMƏYƏ və HƏR TƏRİFİNİZƏ GÖRƏ icazələrə malik olduğunuzdan əmin olun.
- Uzaqdan bağlantıları yoxlayın: Olduğunu doğrulayın SQL Server nümunə uzaqdan əlaqə yaratmağa imkan verir:
EXEC sp_configure 'remote access';Dəyər 0 olarsa, idarəçidən onu aktivləşdirməsini xahiş edin.
- SSMS-i yenidən başladın: Bəzən sadəcə bütün pəncərələri bağlayıb yenidən başladır SQL Server Management Studio problemi həll edir.
- Windows Authentication ilə əlaqə saxlayın: SQL autentifikasiyasından istifadə edirsinizsə, bunun əvəzinə Windows autentifikasiyasını sınayın, çünki o, bəzən autentifikasiya ilə bağlı pauza problemlərindən yan keçir.
8.3 Fəaliyyət Monitorundan istifadə edərkən performans problemləri
Fəaliyyət Monitorunun özü yavaşlayırsa və ya server performansının pisləşməsinə səbəb olarsa, tənzimləmə tələb olunur.
8.3.1 Monitorinq üzrə əlavə məsrəflərin azaldılması
Fəaliyyət Monitorunun təsirini minimuma endirmək üçün:
- Yeniləmə intervalını 30 saniyəyə və ya 1 dəqiqəyə qədər artırın.
- Yığcam düyməsini klikləməklə aktiv istifadə etmədiyiniz panelləri bağlayın.
- Panellər yığışdırıldıqda, Fəaliyyət Monitoru onlar üçün məlumatları sorğulamır.
- Birdən çox Fəaliyyət Monitoru instansiyasını eyni vaxtda işə salmaqdan çəkinin.
- Məsələləri aktiv şəkildə araşdırmadığınız zaman Fəaliyyət Monitorunu tamamilə bağlayın.
8.3.2 Alternativ Yüngül Monitorinq Metodları
Fəaliyyət Monitoru mühitiniz üçün çox resurs tələb edirsə, alternativləri nəzərdən keçirin:
- DMV-ləri birbaşa sorğulayın: Yalnız sizə lazım olan məlumatları əldə edən xüsusi T-SQL sorğularını yazın.
- sp_WhoIsActive istifadə edin: Bu saxlanılan prosedur yüksək dərəcədə optimallaşdırılmışdır və adətən Fəaliyyət Monitorundan daha aşağı yükə malikdir.
- Nümunə götürməni həyata keçirin: Mütəmadi olaraq DMV məlumatlarının anlıq görüntülərini çəkən, nəticələri daha sonra təhlil etmək üçün cədvəllərdə saxlayan SQL Agent işlərini planlaşdırın.
- İkinci dərəcəli replikaların monitorinqi: In Həmişə Aktiv mövcudluq qrupları, Fəaliyyət Monitorunu əsas deyil, oxunaqlı ikinci dərəcəli serverə qarşı işə salın.
8.4 Qeyri-dəqiq və ya çatışmayan məlumat
Bəzən Fəaliyyət Monitoru səhv və ya natamam görünən məlumatları göstərir.
8.4.1 Məlumatların DMV-lərlə yoxlanması
Fəaliyyət Monitorunun nəticələri şübhəli göründükdə, birbaşa əsas DMV-ləri sorğulayaraq onları yoxlayın. Məsələn, Proseslər panelində bloklama yoxdursa, lakin istifadəçilər bunu bildirirsə, sorğu edin:
SELECT
blocking_session_id,
session_id,
wait_type,
wait_time,
wait_resource
FROM sys.dm_exec_requests
WHERE blocking_session_id != 0;
Bu sorğuda həmin Fəaliyyət Monitorunun bloklandığını göstərirsə, siz ekran problemini təsdiqlədiniz.
8.4.2 Məlumatların Yenilənməsi Vaxtının Anlanması
Fəaliyyət Monitorunun anlıq görüntüləri göstərdiyini unutmayın. Yeniləmə intervalları arasında işləyən sorğu, onun icra planı keşdə qalmadıqca, Son Bahalı Sorğularda görünməyəcək.
Eynilə, Resurs Gözləmələri panelindəki gözləmə statistikası son görüntüdən sonra yığılmanı əks etdirir. Sürətlə dəyişən iş yükləri hər yeniləmədə fərqli nümunələr göstərə bilər.
9. Qabaqcıl Fəaliyyət Monitorinqi Texnikaları
Təcrübəli verilənlər bazası administratorları maksimum diaqnostik dəyər əldə etmək üçün Activity Monitor-dan mürəkkəb üsullarla istifadə edirlər.
9.1 Kök Səbəb Təhlili üçün Çoxsaylı Panellərin Birləşdirilməsi
Fəaliyyət Monitorunun əsl gücü mürəkkəb performans məsələlərini başa düşmək üçün məlumatları bir neçə paneldə əlaqələndirdiyiniz zaman ortaya çıxır.
9.1.1 Gözləmələrin proseslərlə əlaqələndirilməsi
Resurs Gözləmələri bölməsi kateqoriyada yüksək gözləmə vaxtlarını göstərdikdə, bu gözləmələrin hansı seansların yaşandığını müəyyən etmək üçün Proseslər panelindən istifadə edin:
- Yüksək məcmu gözləmə müddəti ilə gözləmə kateqoriyasına diqqət yetirin (məsələn, “Kilid”).
- Proseslər panelinə keçin.
- Sort by Gözləmə növü cari gözləmələri ilə seansları qruplaşdırmaq.
- Problemli kateqoriyada gözləmə növlərini göstərən sessiyaları axtarın.
- Həmin sessiyalar üçün nəzərdən keçirin Resurs gözləyin hansı verilənlər bazası obyektlərinin iştirak etdiyini görmək üçün sütun.
- Sağ basın və seçin Ətraflı sorğu mətninə baxmaq üçün.
Bu korrelyasiya sizə “kilidi gözləyirik”dən “bu xüsusi sorğu bu cədvəldə kilidləri gözləyir”ə keçməyə kömək edir.
9.1.2 Bahalı Sorğuların I/O Problemləri ilə əlaqələndirilməsi
Məlumat Faylı I/O paneli xüsusi verilənlər bazasında yüksək disk fəaliyyəti göstərdikdə:
- Hansı verilənlər bazası fayllarının yüksək MB/san oxuma və ya yazma sürətinə malik olduğuna diqqət yetirin.
- Son Bahalı Sorğulara keçin.
- Sort by Fiziki Oxunuşlar/san diskdən çox oxunan sorğuları müəyyən etmək üçün.
- Yüksək I/O ilə verilənlər bazasına qarşı işləyən sorğuları süzün və ya vizual olaraq müəyyənləşdirin.
- Həddindən artıq I/O-ya səbəb olan cədvəl skanları və ya çatışmayan indekslər üçün həmin sorğuların icra planlarını yoxlayın.
Bu çox panelli analiz simptomları (yüksək disk giriş/çıxışı) səbəblərlə (xüsusi səmərəsiz sorğular) əlaqələndirir.
9.2 Bacarıqların Planlaşdırılması üçün Fəaliyyət Monitorundan istifadə
Fəaliyyət Monitoru tarixi məlumatları saxlamasa da, siz potensial planlama müşahidələri üçün ondan strateji istifadə edə bilərsiniz.
9.2.1 Pik İstifadə Nümunələrinin Müəyyən edilməsi
İstifadə nümunələrini müəyyən etmək üçün günün müxtəlif vaxtlarında server fəaliyyətinə nəzarət edin:
- Məlum pik iş saatlarında Fəaliyyət Monitorunu açın.
- % Prosessor vaxtı qrafikinin pik qiymətlərinə diqqət yetirin.
- Maksimum Gözləmə Tapşırıqlarının sayını qeyd edin.
- Pik vaxtlarda Toplu Sorğulara/sanlara əməl edin.
- Proseslər panelində ən işlək verilənlər bazalarını sənədləşdirin.
- Müqayisə üçün qeyri-pik saatlarda təkrarlayın.
Əgər prosessorun pik saatı davamlı olaraq 80%-i keçərsə, siz CPU tutumunun limitlərinə yaxınlaşırsınız. Eynilə, artan gözləmə sayları artan resurs mübahisəsini göstərir.
9.2.2 Resurs trendinin təhlili
Fəaliyyət Monitoru cari vəziyyəti göstərsə də, siz zamanla əsas ölçüləri qeyd etməklə trendin yoxlanılması üçün ondan istifadə edə bilərsiniz:
- Hər gün eyni vaxtda Baxış panelinin skrinşotlarını çəkin
- Hər bir qrafikdən pik dəyərləri qeyd edin
- Böyümə meyllərini müəyyən etmək üçün həftədən həftəyə müqayisə edin
- Orta prosessor vaxtının və ya I/O dərəcələrinin tədricən artmasına diqqət yetirin
Bu dərslik trendi daha mürəkkəb monitorinq həllərini tamamlayır və potensialın genişləndirilməsinə haqq qazandırmağa kömək edir.
9.3 Performansın əsas göstəricilərinin sənədləşdirilməsi
Başlanğıc performans göstəricilərinin yaradılması, performansın nə vaxt pisləşdiyini tanımağa kömək edir.
9.3.1 Əsas Metriklərin Çəkilməsi
Məlum yaxşı performans dövrlərində Fəaliyyət Monitoru göstəricilərini sənədləşdirin:
- Normal biznes əməliyyatları zamanı Fəaliyyət Monitorunu açın (pik və ya qeyri-pik deyil).
- Qeydə Baxış paneli dəyərləri:
- Tipik % Prosessor Vaxt diapazonu
- Orta Gözləmə Tapşırıqlarının sayı
- Normal Database I/O dərəcəsi
- Tipik Toplu Sorğular/san
- Qeyd Resurs Gözləmələri bölməsində ən çox gözləmə müddətini göstərən kateqoriyalar.
- Aktiv proseslərin sayını adətən Proseslər panelində sənədləşdirin.
- Son Bahalı Sorğulardan təmsilçi sorğunun icra göstəricilərini qeyd edin.
Performans problemlərini araşdırarkən gələcək istinad üçün bu əsas sənədləri saxlayın.
9.3.2 Cari və Əsas Performansın Müqayisəsi
Performansla bağlı problemlər yarandıqda, cari Fəaliyyət Monitoru oxunuşlarını sənədləşdirilmiş baza ilə müqayisə edin:
- Prosessorun vaxtı baza səviyyəsindən xeyli yüksəkdir? CPU-intensiv sorğulara diqqət yetirin.
- Gözləyən tapşırıqlar 2-3x baza səviyyələridirmi? Resurs gözləmələrini araşdırın.
- I/O əhəmiyyətli dərəcədə yüksəkdirmi? Data File I/O panelini və bahalı sorğuları yoxlayın.
- Pik saatlarda toplu sorğular baza səviyyəsindən aşağıdır? Bloklama və ya əlaqə problemlərini axtarın.
Bu müqayisə nəyin dəyişdiyini müəyyən etməyə və problemlərin aradan qaldırılması səylərini lazımi şəkildə cəmləməyə kömək edir.
9.4 Fərdi Monitorinq İş Akışlarının yaradılması
Hərtərəfli, təkrarlana bilən təhlili təmin etmək üçün ümumi araşdırma ssenariləri üçün sistematik iş axınlarını hazırlayın.
9.4.1 Addım-addım Tədqiqat Prosesi
İstifadəçilər performans problemlərini bildirdikdə, ardıcıl iş axınına əməl edin:
- Tez sağlamlıq yoxlaması: Fəaliyyət Monitorunu açın və aşkar anomaliyalar üçün İcmal panel qrafiklərini skan edin.
- Blokun olub olmadığını yoxlayın: Proseslər panelini genişləndirin, Blocked By sütununda Boş olmayanlar üçün filtr.
- Resurs mübahisəsini müəyyənləşdirin: Gözləmə müddətinə görə sıralanmış Resurs Gözləmələr panelini nəzərdən keçirin.
- Bahalı sorğuları tapın: CPU, sonra icralar, sonra oxunuşlara görə sıralanan Son Bahalı Sorğuları araşdırın.
- I/O modellərini əlaqələndirin: Data File I/O panel fəaliyyəti ilə çarpaz istinad bahalı sorğular.
- Sənəd tapıntıları: Ekran görüntüləri çəkin və müvafiq sessiya ID-lərini, gözləmə növlərini və sorğu təfərrüatlarını qeyd edin.
- Dərin dalış: Müəyyən edilmiş məsələlərin ətraflı araşdırılması üçün Profiler izlərindən, icra planının təhlilindən və DMV sorğularından istifadə edin.
9.4.2 Artırma meyarları
Davam edən araşdırmaya qarşı problemlərin nə vaxt yüksəldilməsi meyarlarını müəyyənləşdirin:
- Dərhal artırın: >5 dəqiqə davam edən bloklama zəncirləri, >2 dəqiqə ərzində 100% prosessor vaxtı, ASLANIŞ vəziyyətini göstərən kritik sistem prosesləri.
- Təhlil ilə artırın: >50% CPU istehlak edən təkrarlanan bahalı sorğular, ardıcıl yüksək I/O cavab vaxtları >50ms, yaddaş qrantları dəfələrlə uğursuz olur.
- Daha çox araşdırın: Müvəqqəti gözləmələr bir neçə dəqiqə ərzində həll olunur, planları optimal deyil, lakin performansı məqbul olan sorğular, 30 saniyədən az müddətə kiçik bloklama.
10. Fərqli Fəaliyyət Monitoru SQL Server Sürümleri
Fəaliyyət Monitoru geniş yayılmışdır SQL Server versiyaları, hər buraxılışda təkmilləşdirmələr və bəzən yeni problemlər gətirir.
10.1 Fəaliyyət Monitoru SQL Server 2008 və Daha Sonra
SQL Server 2008-ci ildə müasir Fəaliyyət Monitoru dizaynı təqdim edildi ki, bu gün də əsasən dəyişməz qalır.
10.1.1 Yeni Xüsusiyyət Təqdim Edildi SQL Server 2008
The SQL Server 2008 Fəaliyyət Monitorunun yenidən dizaynı əhəmiyyətli təkmilləşdirmələr gətirdi:
- Baxış panelində real vaxt qrafikləri olan qrafik tablosuna
- Yalnız köhnə şəbəkə görünüşünü əvəz edən genişləndirilə bilən/yığılan panel interfeysi
- Ümumi sorğu performans məlumatlarını göstərən Son Bahalı Sorğular paneli
- Fayl başına disk fəaliyyətinin monitorinqi üçün Məlumat Faylı I/O paneli
- Təkmilləşdirilmiş Resurs Gözləmələr bölməsi gözləmə kateqoriyasına malikdir
- Sessiyaları öldürmək və Profiler-i işə salmaq kimi proses hərəkətləri üçün kontekst menyularına sağ klikləyin
- 1 saniyədən 1 saata qədər konfiqurasiya edilə bilən yeniləmə intervalları
Bu dəyişikliklər Fəaliyyət Monitorunu sadə proses siyahısından hərtərəfli monitorinq panelinə çevirdi.
10.1.2 Dəyişikliklər SQL Server 2005
SQL Server 2005-ci ilin Fəaliyyət Monitoru daha məhdud idi:
- Alətlər panelindən daha çox Obyekt Explorer-də İdarəetmə qovluğu vasitəsilə əldə edilir
- Əsas məlumatlarla proses siyahısını göstərən tək şəbəkə
- Qrafik diaqramlar və ya çoxlu panellər yoxdur
- Bahalı sorğular və ya I/O monitorinqi yoxdur
- Məhdud gözləmə statistikası məlumatı
2008-ci ilin yenidən dizaynı artan təkmilləşdirmədən daha çox tam yenidən təsviri təmsil edirdi.
10.2 Fəaliyyət Monitoru SQL Server 2014/2016
SQL Server 2014 və 2016 Fəaliyyət Monitorunun əsas məlumatların toplanmasında artımlı təkmilləşdirmələr etdi, lakin bir neçə vizual dəyişiklik etdi.
10.2.1 Təkmilləşdirmələr və Təkmilləşdirmələr
Bu versiyalardakı əsas təkmilləşdirmələrə aşağıdakılar daxildir:
- Minlərlə keşlənmiş planı olan serverləri izləyərkən daha yaxşı performans
- Proseslər panelində təkmilləşdirilmiş filtrləmə imkanları
- Gözləmə statistikasının toplanmasının təkmilləşdirilmiş dəqiqliyi
- Böyük nəticə dəstləri ilə sütunların çeşidlənməsi və filtrlənməsinin daha yaxşı idarə edilməsi
- Monitorinq yükünü azaldan daha səmərəli DMV sorğuları
Əsas interfeys uyğun olaraq qaldı SQL Server 2008, administratorlar üçün tanışlığın qorunması.
10.3 Fəaliyyət Monitoru SQL Server 2019/2022
Son SQL Server versiyaları performans və sabitliyə diqqət yetirməklə Fəaliyyət Monitorunun təkamülünü davam etdirir.
10.3.1 Ən Son Xüsusiyyətlər və İmkanlar
SQL Server 2019 və 2022 Fəaliyyət Monitoruna daxildir:
- Bu versiyalarda təqdim edilən yeni gözləmə növləri üçün dəstək
- WPF texnologiyasından istifadə edərək SSMS-də təkmilləşdirilmiş göstərmə performansı
- Çoxlu sayda aktiv seansların daha yaxşı idarə edilməsi
- Bulud SQL platformaları ilə təkmilləşdirilmiş uyğunluq
- Daha dəqiq CPU və I/O ölçüləri
10.3.2 Son versiyalarda məlum olan problemlər
SQL Server 2019 bir neçə Fəaliyyət Monitoru səhvini təqdim etdi:
- Daimi dayandırılmış vəziyyət: Fəaliyyət Monitoru tez-tez dayandırılmış vəziyyətə daxil olur və xüsusilə SSMS 18.0-18.3-də davam etməyəcək. Sonrakı SSMS versiyalarında düzəldildi.
- Uzaqdan Bağlantı Uğursuzluqları: Bəzi konfiqurasiyalar Fəaliyyət Monitorunun uzaq instansiyalarda açılmasına mane olur. Çözümlərə xüsusi iz bayraqlarının işə salınması və ya daha yeni SSMS quruluşlarının istifadə edilməsi daxildir.
- İcazə Problemləri: Yeni sistem görünüşləri aydın şəkildə sənədləşdirilməyən əlavə icazələr tələb edir və bu, hətta SERVER DÖVLƏTİNƏ GÖRÜNTÜLƏRƏ ilə də boş ekranlara səbəb olur.
İşləyərkən həmişə ən son SSMS versiyasından istifadə edin SQL Server Bu problemlərin qarşısını almaq üçün 2019 və 2022.
11. Praktik istifadə halları və nümunələri
Real dünya nümunələri ümumi problemlərin aradan qaldırılması ssenarilərində Fəaliyyət Monitorunun effektiv şəkildə necə tətbiq olunacağını nümayiş etdirir.
11.1 Case Study: Yavaş Veb Tətbiqinin Diaqnozu
İnkişaf qrupu bildirir ki, onların veb tətbiqi qəbuledilməz dərəcədə yavaş olub, səhifə yüklənməsi normal 2-3 saniyə əvəzinə 20-30 saniyə çəkir.
11.1.1 İcmal Paneli ilə İlkin Tədqiqat
Fəaliyyət Monitorunu açın və Baxış panelini nəzərdən keçirin:
- % Prosessor Vaxtı qrafiki 85-95% CPU istifadəsini göstərir ki, bu da normal 30-40% baza səviyyəsindən əhəmiyyətli dərəcədə yüksəkdir.
- Gözləmə Tapşırıqları 10-20 tapşırıq arasında dəyişir, normal əsas 0-3 ilə müqayisədə.
- Database I/O təxminən 50 MB/s orta aktivlik göstərir.
- Toplu Sorğular/san, iş saatları ərzində tipik 300-400/san ilə müqayisədə 100/san ilə gözləniləndən aşağıdır.
Bu nümunə, aşağı ötürmə qabiliyyətinə səbəb olan resurs mübahisəsi ilə CPU darboğazını təklif edir. Server çox işləyir, lakin çoxlu sorğuları emal etmir.
11.1.2 Problemli Sorğunun Müəyyən edilməsi
Son Bahalı Sorğular panelini genişləndirin və İcralar/dəqiqəyə görə çeşidləyin:
- Üst sorğu dəqiqədə 15,000 edam göstərir.
- Sağ basın və seçin Sorğu mətnini redaktə edin sorğunu yoxlamaq üçün.
- Sorğu tək istifadəçi qeydini əldə edən sadə SELECT ifadəsidir:
SELECT * FROM Users WHERE UserId = @UserId. - Normal proqram istifadəsi üçün bu sorğu dəqiqədə 15,000 dəfə icra edilməməlidir.
Sorğunun üzərinə sağ vurun və seçin İcra planını göstərin. Plan İstifadəçilər cədvəlində UserId sütununda çatışmayan indeks haqqında xəbərdarlıq ilə cədvəl skanını göstərir.
Yalnız veb tətbiqinin bağlantılarını göstərmək üçün Proseslər panelini Tətbiq üzrə süzün. Birdən çox sessiya eyni sorğunun təkrar işlədiyini göstərir.
11.1.3 Həlletmə və Yoxlama
Problem iki problemdən qaynaqlanır: həddindən artıq sorğu icrası və çatışmayan indeks. Həll addımları:
- Çatışmayan indeks yaradın:
CREATE NONCLUSTERED INDEX IX_Users_UserId ON Users (UserId); - İnkişaf komandası ilə əlaqə saxlayın həddindən artıq edamlar haqqında. Tədqiqat proqram kodunda N+1 sorğu problemini aşkar edir, burada loop siyahıdakı hər bir element üçün istifadəçi məlumatlarını alır.
- Tətbiqi dəyişdirin IN bəndindən və ya cədvəl dəyərli parametrdən istifadə edərək istifadəçi axtarışlarını bir sorğuya yığmaq.
- Düzəltməni yoxlayın yerləşdirmədən sonra Fəaliyyət Monitoruna nəzarət etməklə. CPU istifadəsi 35-40% -ə enir, dəqiqədə icralar 200-300-ə qədər azalır və tətbiqin cavab müddəti normallaşır.
11.2 Case Study: Bloklama Probleminin Həlli
İstifadəçilər bildirirlər ki, sifariş daxiletmə sistemi normal işləməyə davam etməzdən əvvəl vaxtaşırı 30-60 saniyə ərzində donur.
11.2.1 Bloklama zəncirinin aşkarlanması
Bu dondurma hadisələrindən biri zamanı Fəaliyyət Monitorunu açın və Proseslər panelini genişləndirin:
- Sort by Seans şəxsiyyəti təşkil olunmuş bütün sessiyaları görmək.
- Birdən çox seans dəyərləri göstərir Bloklandı sütun, hamısı Sessiya ID 73-ə işarə edir.
- Sessiya 73-də '1' göstərilir Baş Blokçu sütunu, bunun əsas səbəb olduğunu təsdiqləyir.
- The Gözləmə növü bloklanmış sessiyalar üçün LCK_M_X göstərir ki, onlar eksklüziv kilidləri gözləyirlər.
- The Resurs gözləyin sütun bloklamanın Sifarişlər cədvəlində olduğunu göstərir.
11.2.2 Səbəbin təhlili
Sessiya 73-ə sağ vurun və seçin Ətraflı əmri görmək üçün:
UPDATE Orders
SET Status = 'Processing',
LastModified = GETDATE()
WHERE OrderId IN (SELECT OrderId FROM #TempOrders);
Bu güncəlləmə hər saat işləyən toplu emal işinin bir hissəsidir. yoxlanılır Giriş sütun sessiyanın toplu emal xidmət hesabına aid olduğunu təsdiqləyir.
Sorğu minlərlə sifarişi emal edərkən Sifarişlər cədvəlində kilidləri saxlayır. The Zamanı gözləyin bloklanmış sessiyalar üçün davamlı olaraq artır, bu uzun müddət davam edən əməliyyatın problem olduğunu təsdiqləyir.
11.2.3 Düzəlişin həyata keçirilməsi
Qısamüddətli həll:
- Sorğu mətni və müddəti daxil olmaqla, Sessiya 73-ün təfərrüatlarını sənədləşdirin.
- Güncəlləmənin qanuni toplu işlənməsi olduğundan onun təbii şəkildə tamamlanmasına icazə verin.
- Tamamlandıqdan sonra bloklanmış seansların təmizləndiyini və normal əməliyyatların davam etdiyini yoxlayın.
Həyata keçirilən uzunmüddətli həllər:
- Toplu işi yenidən planlaşdırın qeyri-pik saatlarda (iş saatları əvəzinə 2-4 AM) işləmək.
- Dəstə emalını dəyişdirin bir anda 100 qeyddən ibarət daha kiçik partiyalarda sifarişləri yeniləmək, partiyalar arasında kilidləri buraxmaq.
- Bir indeks əlavə edin yeniləmə əməliyyatını sürətləndirmək üçün OrderId sütununda.
- SNAPSHOT izolyasiyasını nəzərdən keçirin bloklama təsirini azaltmaq üçün oxu əməliyyatları üçün.
11.3 Case Study: Həddindən artıq Sorğu İcralarının Müəyyən edilməsi
Verilənlər bazasının monitorinqi göstərir ki, son bir ay ərzində CPU istifadəsi tədricən artıb, lakin proqram kodunda heç bir açıq dəyişiklik baş verməyib.
11.3.1 Anormal icra saylarının aşkarlanması
Fəaliyyət Monitorunu açın və Son Bahalı Sorğular panelini nəzərdən keçirin:
- Sort by Edamlar/dəq ən çox icra edilən sorğuları görmək üçün.
- Ən yaxşı sorğu dəqiqədə 37,000 icranı göstərir - hər hansı digər sorğudan xeyli yüksəkdir.
- Sağ basın və seçin Sorğu mətnini redaktə edin.
- Sorğu məhsul kateqoriyası məlumatını əldə edir:
SELECT CategoryId, CategoryName FROM ProductCategories WHERE CategoryId = @CategoryId; - Bu sadə sorğu sürətli və yaddaşda saxlanıla bilən olmalıdır, lakin dəqiqədə on minlərlə dəfə yerinə yetirilir.
11.3.2 Tətbiq Kodunun izlənilməsi
Proseslər panelində bu sorğunu yerinə yetirən sessiyaları tapın:
- Qeyd edin Ərizə sütunda “ProductCatalogService” göstərilir.
- Bu seanslardan birini sağ klikləyin və seçin İzləmə Prosesi SQL Server Profil.
- SQL Profiler sorğunun müxtəlif CategoryId dəyərləri ilə sürətli ardıcıllıqla dəfələrlə yerinə yetirildiyini göstərir.
- Kodu nəzərdən keçirmək üçün ProductCatalogService-i idarə edən inkişaf komandası ilə əlaqə saxlayın.
Kodun nəzərdən keçirilməsi problemi ortaya qoyur: son dəyişiklik kateqoriyalarla məhsul siyahılarını əldə edir. Nəticə dəstindəki hər bir məhsul (çox vaxt 1,000-dən çox məhsul) üçün kod kateqoriya məlumatını əldə etmək üçün ayrıca verilənlər bazası çağırışı edir - klassik N+1 sorğu problemi.
11.3.3 Tətbiqin optimallaşdırılması
Düzgün düzəliş həyata keçirin:
- Tətbiq sorğusunu dəyişdirin bir verilənlər bazası çağırışında məhsul və onların kateqoriyalarını əldə edən JOIN-dan istifadə etmək üçün:
SELECT p.ProductId, p.ProductName, c.CategoryId, c.CategoryName FROM Products p INNER JOIN ProductCategories c ON p.CategoryId = c.CategoryId WHERE p.Active = 1; - Yenilənmiş kodu yerləşdirin və Fəaliyyət Monitoruna nəzarət edin.
- Düzəlişi yoxlayın: Kateqoriya sorğusu üçün dəqiqədə icralar 37,000-dən 100-ə enir və ümumi CPU istifadəsi 40% azalır.
- Öyrənilən dərsi sənədləşdirin və gələcək kod dəyişikliklərində oxşar problemlərin qarşısını almaq üçün inkişaf qrupu ilə paylaşın.
12. Verilənlər Bazasının Potensial Korrupsiyasını Aşkarlayın
Fəaliyyət Monitoru verilənlər bazası korrupsiyasını aşkar etmək üçün xüsusi olaraq tərtib edilməsə də, onun displeyindəki müəyyən nümunələr əlavə araşdırma tələb edən əsas korrupsiya məsələlərini təklif edə bilər.
12.1 Verilənlər Bazasının Potensial Korrupsiyasının Simptomları
Verilənlər bazasında korrupsiya varsa və istifadə olunursa, siz bəzən görə bilərsiniz:
1. Proseslər Bölməsində:
- Seanslar Qeyri-adi gözləmə növləri ilə ASLI vəziyyətdə qaldı
- Səhv hallarını göstərən proseslər
- Sorğular dəfələrlə uğursuz olur
2. Resurs Gözləmə Bölməsində:
- Disk problemlərini göstərə bilən qeyri-adi I/O ilə əlaqəli gözləmə növləri (baxmayaraq ki, bu, məntiqi pozğunluqdan daha çox hardware problemlərini göstərir)
3. Son Bahalı Sorğularda:
- Qeyri-adi dərəcədə yüksək fiziki oxunuşlu sorğular, əgər onlar dəfələrlə zədələnmiş səhifələri oxumağa çalışırlarsa
12.2 DBCC CHECKDB ilə əlavə yoxlayın
Fəaliyyət Monitoru potensial korrupsiyaya işarə edən simptomları göstərdikdə, verilənlər bazasının bütövlüyünü yoxlamaq üçün dərhal DBCC CHECKDB-ni işə salmalısınız. Bu əmr bütün verilənlər bazası səhifələrini skan edir, yoxlama məbləğlərini təsdiqləyir və məntiqi ardıcıllıq xətalarını yoxlayır.
Verilənlər bazasındakı pozğunluqları yoxlamaq və düzəltmək üçün DBCC CHECKDB-dən necə istifadə ediləcəyi haqqında ətraflı öyrənmək üçün bizimlə əlaqə saxlayın hərtərəfli DBCC CHECKDB bələdçisi.
12.3 Peşəkar Alətlərlə Təmir
Əgər DBCC CHECKDB verilənlər bazası pozulduğunu təsdiqləyirsə, təmir üçün bir neçə seçiminiz var:
- Üstünlük verilən yanaşma tanınmış yaxşı ehtiyat nüsxədən bərpa etməkdir. Bax ehtiyat nüsxəsini çıxarmaq və bərpa etmək üçün hərtərəfli bələdçimiz SQL Server Məlumat bazaları.
- Kiçik korrupsiya üçün REPAIR_REBUILD ilə DBCC CHECKDB problemləri həll edə bilər.
- Son ehtiyat nüsxələri olmayan kritik verilənlər bazaları üçün peşəkar SQL bərpa proqramı və xidmətlər çox vaxt daxili təmir seçimlərinin edə bilmədiyi məlumatları bərpa edə bilər.
13. Nəticə
SQL Server Fəaliyyət Monitoru verilənlər bazası administratorları üçün əvəzolunmaz bir vasitə kimi çıxış edir, server performansı haqqında dərhal məlumat verir və problemlərin tez və effektiv diaqnostikasına kömək edir.
13.1 Əsas Nöqtələrin xülasəsi
Bu təlimat boyu biz Fəaliyyət Monitorunun sizə anlamaq və problemləri həll etməyə necə kömək etdiyini araşdırdıq SQL Server performans:
- Fəaliyyət Monitoru mütəşəkkil, qrafik interfeys vasitəsilə proseslərin, gözləmələrin, sorğuların və I/O-nun real vaxt rejimində görünməsini təmin edir.
- Beş panel - İcmal, Proseslər, Resurs Gözləmələri, Məlumat Faylı I/O və Son Bahalı Sorğular - hər biri server fəaliyyəti ilə bağlı unikal perspektivlər təklif edir.
- Həddindən artıq sorğu icrası, bloklama zəncirləri və yüksək CPU istifadəsi kimi ümumi problemlərin aradan qaldırılması ssenariləri sistematik Fəaliyyət Monitoru araşdırması ilə idarə oluna bilər.
- Güclü olsa da, Activity Monitor-un tətbiqinə təsir edən tarixi məlumatların olmaması, gözləmə tipli qruplaşdırma və monitorinq xərcləri kimi məhdudiyyətləri var.
- Fəaliyyət Monitorunun DMV sorğuları, sp_WhoIsActive, Genişləndirilmiş Hadisələr və potensial üçüncü tərəf alətləri ilə tamamlanması hərtərəfli monitorinq strategiyası yaradır.
- Yeniləmə intervalları üçün ən yaxşı təcrübələrə riayət etmək, istifadə edilmədikdə Fəaliyyət Monitorunu bağlamaq və korrelyasiya üçün çoxlu panelləri birləşdirmək onun dəyərini maksimum dərəcədə artırır, eyni zamanda təsiri minimuma endirir.
13.2 Fəaliyyət Monitoru alət dəstinizin bir hissəsi kimi
Fəaliyyət Monitoru performans araşdırmaları üçün yeganə vasitəniz deyil, ilk cavab alətiniz kimi xidmət etməlidir. Onun gücü aktiv problemlərin aradan qaldırılması zamanı dərhal görünmənin təmin edilməsində, verilənlər bazasında darboğaz olub-olmadığını tez bir zamanda müəyyən etməyə və hansı spesifik aspektlərin daha dərin araşdırmaya ehtiyac duyduğunu müəyyən etməyə kömək edir.
Fəaliyyət Monitorunu avtomobilinizdəki tablosuna bənzətmə kimi düşünün – o, nəyinsə səhv olub-olmadığını dərhal sizə xəbər verir və ümumi narahatlıq sahəsini müəyyən etməyə kömək edir. Avtomobilinizin tablosunda yoxlama mühərriki işığının niyə yanıb-söndüyünü dəqiq söyləmədiyi kimi, Fəaliyyət Monitoru həmişə problemlərin tam əsas səbəbini açıqlamadan sizi problemlərə yönəldir. Daha dərin təhlil əlavə alətlər və təcrübə tələb edir.
Fəaliyyət Monitorunu icra planı təhlili, gözləmə statistikası izləmə, tarixi monitorinq həlləri və ən yaxşı performans təcrübələrini özündə birləşdirən daha geniş alətlər dəstinə inteqrasiya edin. Onu düzgün indeksləşdirmə strategiyaları, sorğuların optimallaşdırılması üsulları və potensialın planlaşdırılması ilə birlikdə istifadə edin.
13.3 Öyrənmə səyahətinizi davam etdirin
Fəaliyyət Monitorunu mənimsəmək effektiv verilənlər bazası administratoru olmaq üçün yalnız bir addımdır. Bacarıqlarınızı artırmağa davam edin:
- İcra planlarını şərh etməyi və səmərəsiz əməliyyatları müəyyən etməyi öyrənmək
- Anlaşma SQL Server Statistikanı və onların nəticələrini gözləyin
- İndeks dizaynı və optimallaşdırma üsullarının öyrənilməsi
- Tətbiqi SQL Serverarxitekturası və sorğuları necə emal edir
- Sistemli nasazlıqların aradan qaldırılması metodologiyalarının tətbiqi
- Ətraflı izləmə üçün Genişləndirilmiş Tədbirlər ilə təcrübə qurmaq
- Tranzaksiya təcrid səviyyələrini və onların performans təsirini başa düşmək
Fəaliyyət Monitoru ilə hər bir performans araşdırması sizə necə haqqında yeni bir şey öyrədir SQL Server işləyir və tətbiqlərin verilənlər bazaları ilə necə qarşılıqlı əlaqədə olduğunu öyrənin. Tapıntılarınızı sənədləşdirin, biliklərinizi həmkarlarınızla paylaşın və ümumi problemlər üçün həllər kitabxanası yaradın.
13.4 Əlavə Resurslar
Bu dəyərli resurslarla biliklərinizi genişləndirin:
- Fəaliyyət Monitorunu açın SQL Server İdarəetmə Studio (SSMS)
: Rəsmi SQL Server Fəaliyyət Monitorunun necə açılacağına dair sənədlər SQL Server İdarəetmə Studio (SSMS).
- Fəaliyyət Monitor
: Rəsmi SQL Server Fəaliyyət Monitorundan necə istifadə olunacağına dair sənəd.
14. Tez-tez verilən suallar (FAQ)
S: Nədir SQL Server Fəaliyyət Monitoru?
A: SQL Server Fəaliyyət Monitoru daxili alətdir SQL Server a-da işləyən proseslər haqqında real vaxt məlumatları göstərən Management Studio SQL Server misal və onların server resurslarına təsiri. O, prosessordan istifadə, gözləmə tapşırıqları, giriş/çıxış dərəcələri, aktiv seanslar və bahalı sorğular daxil olmaqla server fəaliyyətinin müxtəlif aspektlərini göstərən beş paneldən ibarət qrafik tablosunu təqdim edir.
S: SSMS-də Fəaliyyət Monitorunu necə aça bilərəm?
Cavab: Siz dörd üsuldan istifadə edərək Fəaliyyət Monitorunu aça bilərsiniz: (1) SSMS alətlər panelində Fəaliyyət Monitoru ikonasına klikləyin, (2) Siçan düyməsini sağ klikləyin. SQL Server Object Explorer-də nümunə adını seçin və seçin Fəaliyyət Monitor, (3) basın Ctrl + Dayandırmaq + A, və ya (4) vasitəsilə SSMS-i avtomatik işə salmaq üçün konfiqurasiya edin Tools -> Nizamlamalar -> ətraf mühit -> Başlanğıc.
S: Fəaliyyət Monitorundan istifadə etmək üçün mənə hansı icazələr lazımdır?
A: Sizə lazımdır SERVER DÖVLƏTİNƏ BAXIN Fəaliyyət Monitorunun əksər məlumatlarını görmək üçün icazə. Məlumat Faylının Giriş/Çıxış paneli üçün sizə həmçinin ya lazımdır MƏLUMAT BAZASI YARADIN, HƏR MƏLUMAT BAZASINI DƏYİŞTİRİNvə ya HƏR TƏRİFİNİZƏ BAXIN icazələr. Bu icazələr olmadan Fəaliyyət Monitoru aça bilər, lakin boş panelləri göstərə bilər.
S: Fəaliyyət Monitorum niyə dayandırılıb və ya işləmir?
Cavab: Fəaliyyət Monitoru adətən icazə problemləri, köhnəlmiş SSMS versiyaları və ya uzaqdan bağlanmış əlaqə səbəbindən fasilə verir. Həll etmək üçün: (1) Ən son SSMS versiyasına güncəlləyin, (2) SERVER DÖVLƏTİNƏ GÖRÜŞ icazəniz olduğunu yoxlayın, (3) Uzaqdan bağlantıların aktivləşdirildiyini yoxlayın. SQL Server Məsələn, (4) SSMS-i yenidən başladın və (5) Mümkünsə, SQL identifikasiyası əvəzinə Windows identifikasiyası ilə qoşulmağa çalışın.
S: Fəaliyyət Monitoru ilə sp_WhoIsActive arasındakı fərq nədir?
A: Fəaliyyət Monitoru müxtəlif monitorinq aspektləri üçün mütəşəkkil panellər təmin edən SSMS-də quraşdırılmış qrafik alətdir. sp_WhoIsActive, Fəaliyyət Monitorundan daha spesifik gözləmə növləri, bloklama təfərrüatları və fərdiləşdirmə seçimləri ilə bir nəticə dəstində ətraflı sessiya məlumatlarını qaytaran pulsuz icma tərəfindən yaradılmış saxlanılan prosedurdur. Fəaliyyət Monitoru vizual kəşfiyyat üçün daha yaxşıdır, sp_WhoIsActive isə skriptli monitorinqdə üstündür və daha ətraflı məlumat verir.
S: Fəaliyyət Monitoru serverin işinə təsir edirmi?
Cavab: Bəli, Fəaliyyət Monitorunun ölçülə bilən əlavə xərcləri var, çünki o, hər yeniləmə intervalında sistem DMV-lərini sorğulayır. Təsir aşağı yeniləmə sürəti ilə artır—Microsoft xəbərdarlıq edir ki, 10 saniyədən aşağı intervallar server performansına təsir edə bilər. Aktiv istifadə etmədikdə həmişə Fəaliyyət Monitorunu bağlayın və ağır yük altında istehsal serverlərində 30-60 saniyəlik yeniləmə intervallarını nəzərə alın.
S: T-SQL istifadə edərək Fəaliyyət Monitoru məlumatlarını əldə edə bilərəmmi?
Cavab: Bəli, Fəaliyyət Monitoru sys.dm_exec_requests, sys.dm_exec_sessions, sys.dm_os_wait_stats və sys.dm_exec_query_stats kimi sistem dinamik idarəetmə görünüşlərini sorğulayır. Siz bu DMV-ləri T-SQL-dən istifadə etməklə birbaşa sorğulaya bilərsiniz ki, bu da xüsusi monitorinq skriptlərinə və avtomatlaşdırılmış məlumatların toplanmasına imkan verir.
S: Standart yeniləmə intervalı nədir?
A: Defolt yeniləmə intervalı 10 saniyədir. Bunu Ümumi Baxış panelində istənilən yerə sağ klikləyərək seçərək dəyişə bilərsiniz Yeniləmə intervalı, və əvvəlcədən təyin edilmiş seçimlərdən seçmək: 1 saniyə, 5 saniyə, 10 saniyə, 30 saniyə, 1 dəqiqə və ya 1 saat. Aşağı intervallar daha çox real vaxt görüntüləri təmin edir, lakin monitorinq yükünü artırır.
S: SSMS başlanğıcında Fəaliyyət Monitorunu avtomatik olaraq necə aça bilərəm?
A: SSMS seçimləri vasitəsilə avtomatik işə salmağı konfiqurasiya edin: gedin Tools -> Nizamlamalar -> ətraf mühit -> Başlanğıc, Sonra seçin Obyekt Explorer və Fəaliyyət Monitorunu açın dən Başlanğıcda açılan. Fəaliyyət Monitoru hər dəfə SSMS-də serverə qoşulduqda avtomatik olaraq açılacaq.
S: Fəaliyyət Monitorunun məhdudiyyətləri hansılardır?
A: Əsas məhdudiyyətlərə aşağıdakılar daxildir: (1) Tarixi məlumatların saxlanması və ya trend imkanları yoxdur, (2) Gözləmə növləri xüsusi olaraq göstərilməkdən daha çox kateqoriyalara qruplaşdırılıb, (3) CXPACKET kimi bəzi gözləmə növləri görünməyə bilər, (4) Anlıq görüntülər keçici problemləri qaçıra bilər, (5) Monitorinq yükü məşğul serverlərə təsir göstərə bilər, (6) Çoxsaylı məlumatların monitorinqi və monitorinqi üçün heç bir xəbərdarlıq mexanizmi yoxdur, SQL Server hallar. Bu ehtiyaclar üçün Fəaliyyət Monitorunu Genişləndirilmiş Hadisələr, məlumat toplama dəstləri və ya üçüncü tərəfin monitorinq alətləri ilə əlavə edin.
Müəllif haqqında
Yuan Şenq sahəsində 10 ildən çox təcrübəsi olan baş verilənlər bazası administratorudur (DBA). SQL Server mühitlər və müəssisə verilənlər bazası idarə edilməsi. O, maliyyə xidmətləri, səhiyyə və istehsal təşkilatlarında yüzlərlə verilənlər bazası bərpa ssenarisini uğurla həll edib.
Yuan ixtisaslaşır SQL Server verilənlər bazasının bərpası, yüksək mövcudluq həllərivə performansın optimallaşdırılması. Onun geniş praktik təcrübəsi çoxterabaytlıq verilənlər bazalarının idarə olunmasını, Həmişə Mövcudluq Qruplarının tətbiqini və vacib biznes sistemləri üçün avtomatlaşdırılmış ehtiyat nüsxələmə və bərpa strategiyalarının hazırlanmasını əhatə edir.
Texniki təcrübəsi və praktik yanaşması sayəsində Yuan verilənlər bazası administratorlarına və İT mütəxəssislərinə mürəkkəb problemləri həll etməyə kömək edən hərtərəfli bələdçilərin yaradılmasına diqqət yetirir. SQL Server problemlərini səmərəli həll edir. O, ən son xəbərlərdən xəbərdardır SQL Server relizlər və Microsoft-un inkişaf edən verilənlər bazası texnologiyaları, onun tövsiyələrinin real dünyanın ən yaxşı təcrübələrini əks etdirməsini təmin etmək üçün bərpa ssenarilərini müntəzəm olaraq sınaqdan keçirir.
haqqında suallarınız var SQL Server bərpası və ya əlavə verilənlər bazası problemlərinin aradan qaldırılması üçün təlimat lazımdır? Yuan salamlayır rəy və təkliflər bu texniki resursların təkmilləşdirilməsi üçün.


















