1. kirish
1.1 nima SQL Server Faoliyat monitori?
SQL Server Faoliyat monitori - bu o'rnatilgan diagnostika vositasidir SQL Server haqida ma'lumot ko'rsatadigan Management Studio SQL Server jarayonlar va ularning server ishlashiga ta'siri. Bu sizga kuzatish imkonini beradi SQL Server jarayonlar, resurs kutishlarini kuzatish, qimmat so‘rovlarni tahlil qilish va kiritish-chiqarish naqshlarini kuzatish – barchasi bitta interfeysdan.
1.2 Nima uchun foydalanish kerak SQL Server Faoliyat monitori?
Faoliyat monitori ishlash muammolarini hal qilishda birinchi himoya chizig'i bo'lib xizmat qiladi. U sizda nima sodir bo'layotganini darhol ko'rish imkonini beradi SQL Server murakkab T-SQL so'rovlari yoki uchinchi tomon vositalarini talab qilmasdan.
Asbob seanslarni blokirovka qilish, protsessor talab qiladigan so'rovlar, so'rovlarni haddan tashqari bajarish va kiritish/chiqarish muammolari kabi umumiy muammolarni tezda aniqlashda yordam beradi. Foydalanuvchilar ilova sekin yoki javob bermayotgani haqida xabar berganda, Activity Monitor ma'lumotlar bazasi serveri aybdor ekanligini aniqlashga yordam beradi.
U bilan ishlamaydigan ma'lumotlar bazasi ma'murlari uchun SQL Server Har kuni Activity Monitor server faoliyatini tushunish uchun kirish nuqtasini taqdim etadi. Hatto tajribali ma'lumotlar bazalari egalari ham undan ishlashni o'rganish uchun boshlang'ich nuqta sifatida foydalanadilar.
1.3 Faoliyat monitori va boshqa monitoring vositalari
Faoliyat monitori qimmatli bo'lsa-da, uning boshqa monitoring opsiyalari bilan solishtirishini tushunish muhimdir:
Faoliyat monitori va sp_WhoIsActive: Faoliyat monitori bir nechta panelli grafik interfeysni ta'minlaydi, sp_WhoIsActive esa bitta natijalar to'plamida batafsilroq ma'lumotlarni taqdim etadigan keng qamrovli saqlanadigan protseduradir. sp_WhoIsActive Faoliyat Monitori birlashtirgan maxsus kutish turlarini ko'rsatadi va blokirovkalash haqida batafsil ma'lumot beradi.
Faoliyat monitoriga qarshi sp_who2: An'anaviy sp_who2 buyrug'i asosiy seans ma'lumotlarini ko'rsatadi, lekin Activity Monitor kutish statistikasini, qimmat so'rovlarni va I/U ko'rsatkichlarini uyushgan, vizual formatda ko'rsatish orqali davom etadi.
Faoliyat monitori va uchinchi tomon vositalari: SolarWinds Database Performance Analyzer kabi tijorat monitoring yechimlari Activity Monitorda mavjud bo'lmagan tarixiy kuzatish, ogohlantirish va ilg'or tahlillarni taklif etadi. Biroq, Activity Monitor qo'shimcha xarajatlar yoki o'rnatishni talab qilmaydi.
1.4 Ma'lumotlar bazasi ma'murlari uchun asosiy imtiyozlar
Faoliyat monitori uni muhim DBA vositasiga aylantiradigan bir qator afzalliklarni taqdim etadi:
- Nolinchi narx: O'rnatilgan qurilma sifatida SQL Server Management Studio xususiyati, litsenziya to'lovi yoki tarqatish uchun harakat talab etilmaydi.
- Haqiqiy vaqtda monitoring: 1 soniyadan 1 soatgacha sozlanishi mumkin bo'lgan yangilash oraliqlari bilan joriy server faoliyatini ko'ring.
- Integratsiyalashgan harakatlar: Seanslarni o'chirish, so'rov tafsilotlarini ko'rish yoki ishga tushirish uchun jarayonlarni o'ng tugmasini bosing SQL Server Profiler izlari - barchasi asbob ichidan.
- Ko'p nuqtai nazarlar: Har biri ishlashning o'ziga xos jihatlariga qaratilgan beshta ixtisoslashtirilgan panel orqali server sog'lig'ini turli burchaklardan ko'ring.
- Tez muammolarni bartaraf etish: Eng keng tarqalgan ishlash muammolarini bir necha daqiqa ichida aniqlang, bu esa o'rtacha hal qilish vaqtini tezlashtiradi.
- Kirish uchun past to'siq: Asbobdan samarali foydalanishni boshlash uchun ilg'or bilim talab etilmaydi, ammo chuqurroqdir SQL Server ekspertiza tarjima qilishda yordam beradi.
2. Faoliyat monitoridan foydalanishni boshlash
Faoliyat monitoridan samarali foydalanishdan oldin siz zarur shartlarni, kerakli ruxsatnomalarni va asbobni ishga tushirishning turli usullarini tushunishingiz kerak.
2.1 Old shartlar va tizim talablari
foydalanish uchun SQL Server Faoliyat monitori, sizga kerak SQL Server Mahalliy kompyuteringizda yoki o'tish serverida o'rnatilgan Management Studio (SSMS). Faoliyat monitori vositasi sezilarli darajada qayta ishlab chiqilgan SQL Server 2008, shuning uchun ushbu qo'llanmadagi ma'lumotlar amal qiladi SQL Server 2008 va undan keyingi versiyalar.
ga tarmoq ulanishiga ega bo'lishingiz kerak SQL Server kuzatmoqchi bo'lgan misol. Bulutda joylashgan ma'lumotlar bazalari uchun odatda misolga kirish uchun VPN ulanishi yoki to'g'ri sozlangan xavfsizlik devori qoidalari kerak bo'ladi.
Faoliyat monitori barcha nashrlari bilan ishlaydi SQL Server, jumladan, Express, Standard va Enterprise. Asbobning o'zi SSMS ichidagi mijoz kompyuteringizda ishlaydi, shuning uchun server resurslariga faqat u bajaradigan monitoring so'rovlari ta'sir qiladi.
2.2 Kerakli ruxsatnomalar
Faoliyat monitorining to'g'ri ishlashi uchun tegishli ruxsatlar zarur. Tegishli huquqlarsiz siz bo'sh displeyni ko'rishingiz yoki kirish taqiqlangan xatolarni olishingiz mumkin.
2.2.1 SERVER DAVLATINI KO'RISH ruxsati
The SERVER HOLATINI KO‘RISH ruxsat - Faoliyat monitoridan foydalanish uchun asosiy talab. Ushbu server darajasidagi ruxsat sizga barcha faol jarayonlarni va ular bilan bog'liq ko'rsatkichlarni ko'rish imkonini beradi.
Ushbu ruxsatni berish uchun server ma'muri quyidagilarni bajarishi mumkin:
GRANT VIEW SERVER STATE TO [YourLoginName];
SERVER STATE KOʻRISHI boʻlmasa, Faoliyat monitori ochilishi mumkin, lekin uning hech qaysi panelida hech qanday maʼlumot koʻrsatilmaydi.
2.2.2 Ma'lumotlar bazasi darajasidagi ruxsatnomalar
Ma'lumotlar fayli kiritish/chiqarish panelidagi ma'lumotlarni ko'rish uchun sizga qo'shimcha ruxsatlar kerak bo'ladi. Xususan, siz quyidagi kombinatsiyalardan biriga ega bo'lishingiz kerak:
- Ma'lumotlar bazasini yaratish ruxsat, yoki
- HAR QANDAY MA'LUMOT BAZASINI O'ZGARTIRING ruxsat, yoki
- HAR QANDAY TA'RIFNI KO'RISH ruxsat
Ushbu ruxsatnomalar bilan birlashtirilishi kerak SERVER HOLATINI KO‘RISH Faoliyat monitorining toʻliq funksiyasi uchun.
2.2.3 Ruxsat berish bilan bog'liq muammolarni bartaraf etish
Agar Activity Monitor ochilsa, lekin hech qanday ma'lumot ko'rsatmasa, ruxsatnomalar eng ko'p uchraydigan sababdir. Kirish raqamingiz server darajasida VIEW SERVER STATE berilganligini tekshiring. Ruxsatnomalaringizni quyidagilarni bajarish orqali tekshirishingiz mumkin:
SELECT * FROM fn_my_permissions(NULL, 'SERVER');
permission_name ustunida "SERVER DAVLATINI KO'RISH" ni qidiring. Agar u yo'q bo'lsa, ruxsat berish uchun ma'lumotlar bazasi administratoriga murojaat qiling.
2.3 SSMSda Faoliyat monitorini qanday ochish mumkin
SQL Server Management Studio faoliyat monitorini ishga tushirishning to'rt xil usulini taqdim etadi, bu sizga ish jarayonining afzalliklariga asoslangan moslashuvchanlikni beradi.
2.3.1 1-usul: Asboblar panelidan
Faoliyat monitorini ochishning eng tezkor usuli asboblar paneli belgisidan foydalanishdir:
- O'zingizga ulaning SQL Server misol SQL Server Menejment studiyasi.
- Standart asboblar panelida Faoliyat monitori belgisini toping (u yashil o'ynash tugmasi bo'lgan chiziqli diagrammaga o'xshaydi).
- Faoliyat monitorini ishga tushirish uchun belgini bosing.
Bu usul siz SSMS da ishlayotgan bo'lsangiz va server faoliyatini tezda tekshirishingiz kerak bo'lganda eng tezkor hisoblanadi.
2.3.2 2-usul: Object Explorer-dan
Bundan tashqari, Activity Monitor-ni to'g'ridan-to'g'ri Ob'ekt Explorer-dan ishga tushirishingiz mumkin:
- Object Explorer-da ni toping SQL Server kuzatmoqchi bo'lgan misol.
- Namuna nomini o'ng tugmasini bosing.
- tanlang Faoliyat monitoringi kontekst menyusi orqali.
Ushbu usul bir nechta serverlarga ulanishda foydalidir, chunki u to'g'ri misolni kuzatishingizni ta'minlaydi.
2.3.3 3-usul: Klaviatura yorliqlaridan foydalanish
Klaviaturaga yo'naltirilgan foydalanuvchilar uchun, SQL Server Management Studio maxsus yorliqni taqdim etadi:
- SSMS faol oyna ekanligiga ishonch hosil qiling va siz namunaga ulangansiz.
- matbuot Ctrl + Alt + A.
- Faoliyat monitori Object Explorer-da joriy tanlangan misol uchun ochiladi.
Esda tutingki, Activity Monitor siz Object Explorer-da tanlagan server namunasiga ulanadi, shuning uchun ushbu yorliqni ishlatishdan oldin to'g'ri namunani tanlaganingizga ishonch hosil qiling.
2.3.4 4-usul: Variantlar menyusidan (Ishga tushirish konfiguratsiyasi)
Agar siz tez-tez Activity Monitor-dan foydalansangiz, SSMS-ni dasturni ishga tushirganingizda avtomatik ravishda ishga tushirish uchun sozlashingiz mumkin:
- In SQL Server Management Studio ga oʻting Asboblar -> Options.
- Variantlar dialog oynasida kengaytiring Atrof-muhit-ni tanlang va so'ng tanlang Startup.
- Dan Ishga tushirishda ochiladigan ro'yxatni tanlang Ob'ekt Explorer va Faoliyat monitorini oching.
- tanlang OK.
Keyingi safar SSMS-ni ishga tushirganingizda va serverga ulanganingizda, Activity Monitor Object Explorer bilan birga avtomatik ravishda ochiladi.
3. Faoliyat monitor panellarini tushunish
Faoliyat monitori ma'lumotlarni beshta kengaytiriladigan panelga ajratadi, ularning har biri server faoliyatiga turlicha nuqtai nazarni taqdim etadi. Muammolarni samarali hal qilish uchun har bir oynada nimani ko'rsatishini tushunish juda muhimdir.
3.1 Umumiy ko‘rinish paneli
Umumiy ko‘rinish panelida to‘rtta real vaqt grafiklari taqdim etiladi, ular sizga sog‘lig‘ingizning tezkor suratini beradi SQL Server misol. Ushbu grafiklar sozlanishi mumkin bo'lgan oraliqda yangilanadi va bir qarashda g'ayritabiiy naqshlarni aniqlashga yordam beradi.
3.1.1% Protsessor vaqti
Ushbu grafik protsessor uchun bo'sh bo'lmagan ish zarralarini bajarish uchun sarflagan vaqtning foizini ko'rsatadi SQL Server barcha protsessorlarda misol. Qiymat ifodalaydi SQL Serverning protsessordan foydalanishi, balki butun serverning protsessordan foydalanishi emas.
Agar protsessor vaqti doimiy ravishda 100% yoki unga yaqin bo'lsa, serveringiz protsessorga bog'langan. Bu samarasiz so'rovlar, indekslarning yo'qligi yoki apparat quvvatining yetarli emasligini ko'rsatishi mumkin. Qaysi so'rovlar eng ko'p protsessorni iste'mol qilayotganini aniqlash uchun "So'nggi qimmat so'rovlar" panelidan foydalaning.
3.1.2 Kutish vazifalari
Ushbu ko'rsatkich resurslarni davom ettirishdan oldin chiqarilishini kutayotgan vazifalar sonini ko'rsatadi. Vazifalar protsessor, kiritish-chiqarish, xotira yoki qulfni kutishi mumkin.
Kutish vazifalarining doimiy ko'pligi resurs nizosini ko'rsatadi. Resurs kutishlari paneli qaysi turdagi resurslar kutishlarga sabab bo'layotgani haqida batafsil ma'lumot beradi.
3.1.3 Ma'lumotlar bazasini kiritish/chiqarish (MB/s)
Ushbu grafik xotira va disk o'rtasida ma'lumotlarni uzatish tezligini ko'rsatadi. U soniyasiga megabaytlarda o'lchanadigan o'qish va yozishni birlashtiradi.
Ma'lumotlar bazasi kiritish-chiqarishidagi keskinliklar katta jadvallarni skanerlash, haddan tashqari ro'yxatga olish faolligi yoki nazorat punkti operatsiyalarini bajaradigan so'rovlarni ko'rsatishi mumkin. Ma'lumotlar fayli kiritish-chiqarish paneli ma'lumotlar bazasi va fayl bo'yicha kiritish-chiqarish faoliyatini ajratadi.
3.1.4 To'plamli so'rovlar/sek
Bu ko'rsatkich sonini bildiradi SQL Server soniyada misol tomonidan qabul qilingan partiyalar. To'plam bitta bayonot yoki birgalikda taqdim etilgan bir nechta bayonot bo'lishi mumkin.
Bu qiymat sizga umumiy server faoliyati hissini beradi. Oddiy ish soatlarida ommaviy so'rovlarning to'satdan tushishi ilova ulanishi bilan bog'liq muammolarni yoki foydalanuvchi bilan bog'liq muammolarni ko'rsatishi mumkin.
3.1.5 Yangilash intervallarini o'rnatish
Siz Activity Monitor o'z ma'lumotlarini qanchalik tez-tez yangilashini sozlashingiz mumkin:
- Umumiy ko'rinish panelidagi istalgan joyni o'ng tugmasini bosing.
- tanlang Intervalni yangilash.
- Oldindan belgilangan qiymatlardan intervalni tanlang: 1 soniya, 5 soniya, 10 soniya (standart), 30 soniya, 1 daqiqa yoki 1 soat.
Yangilash oraliqlarini 10 soniyadan pastroq qilib belgilash serveringizdagi monitoring yukini oshiradi. Og'ir yuk ostida ishlab chiqarish tizimlari uchun ta'sirni minimallashtirish uchun 30 soniya yoki undan ko'proq vaqt oralig'idan foydalanishni o'ylab ko'ring.
3.2 Jarayonlar paneli
Jarayonlar paneli sizning qurilmangizda ishlayotgan seanslar haqidagi ma'lumotlarni ko'rsatadi SQL Server misol. Ushbu panel kim nima qilayotganini aniqlash va blokirovkalash muammolarini aniqlash uchun zarur.
3.2.1 Jarayon ma'lumotlarini tushunish
Jarayonlar panelidagi har bir qator serverdagi faol seansni ifodalaydi. Panel barcha ma'lumotlar bazalari va barcha foydalanuvchilardan seanslarni ko'rsatadi, bu sizga server faoliyatining to'liq ko'rinishini beradi.
Ko'rsatilgan ma'lumotlarga kirish nomi, dastur nomi, xost nomi, kirilayotgan ma'lumotlar bazasi va joriy buyruq kiradi. Bu sizga ma'lumotlar bazasi faoliyatini ma'lum foydalanuvchilar yoki ilovalar bilan bog'lashga yordam beradi.
3.2.2 Asosiy ustunlar izohlangan
Asosiy ustunlarni tushunish jarayon ma'lumotlarini samarali talqin qilishga yordam beradi:
- Seans identifikatori: Har bir ulanish uchun noyob identifikator. Tizim jarayonlari salbiy seans identifikatorlaridan foydalanadi.
- Foydalanuvchi jarayoni: Bu foydalanuvchi sessiyasi (Ha) yoki tizim jarayoni (Yo'q) ekanligini ko'rsatadi.
- Kirish: The SQL Server seans bilan bog'langan login yoki Windows hisobi.
- Ma'lumotlar bazasi: Seans uchun joriy ma'lumotlar bazasi konteksti.
- Vazifa holati: Seans hozirda nima qilayotganini ko'rsatadi (RUNNING, SUSPENDED, SLEEPING, va hokazo).
- Buyruq: Bajarilayotgan buyruq turi (tanlash, INSERT, UPDATE va boshqalar).
- Application: Ulanishni yaratgan dastur nomi.
- Kutish vaqti: Seans qancha vaqt (millisekundlarda) resurslarni kutmoqda.
- Kutish turi: Seans kutayotgan resursning o'ziga xos turi.
- CPU vaqti: Bu seans ulanganidan beri sarflagan CPU vaqti.
- Xotiradan foydalanish: Seans uchun ajratilgan xotira hajmi (KB).
3.2.3 Filtrlash va saralash jarayonlari
Jarayonlar paneli diqqatni tegishli seanslarga qaratishga yordam beradigan kuchli filtrlash imkoniyatlarini o'z ichiga oladi:
- Har qanday ustun sarlavhasidagi ochiladigan o'qni bosing.
- Filtr ushbu ustun uchun mavjud qiymatlarni ko'rsatadi, jumladan hamma, Bo'shliqlarva Bo'sh bo'lmaganlar.
- Displeyni faqat shu seanslar uchun filtrlash uchun maxsus qiymatlarni tanlang.
Masalan, siz filtrlashingiz mumkin Vazifa holati faqat RUNNING seanslarini yoki filtrni ko'rsatish uchun ma'lumotlar bazasi muayyan ma'lumotlar bazasiga nisbatan faoliyatni ko'rish.
Shuningdek, sarlavhani bosish orqali istalgan ustun bo'yicha saralashingiz mumkin. O'sish tartibi uchun bir marta, kamayish uchun ikki marta bosing.
3.2.4 Bloklangan va bloklangan sessiyalarni aniqlash
Jarayonlar paneli blokirovka stsenariylarini aniqlashga yordam beradi, bunda bir seans boshqalarning davom etishiga to'sqinlik qiladi:
- Bloklangan: Ushbu seansni bloklayotgan seans identifikatorini ko'rsatadi. Agar bu ustun qiymatni o'z ichiga olgan bo'lsa, seans boshqa seans tomonidan ushlab turilgan blokirovkani kutmoqda.
- Bosh blokirovkasi: Agar bu seans boshqalarni bloklayotgan bo‘lsa, lekin o‘zi bloklanmagan bo‘lsa, “1” ko‘rsatiladi. Bu blokirovka zanjirining asosiy sababidir.
Bloklash muammosini tekshirish uchun avval bosh blokerni aniqlang (Hech bloker ustunida "1" bilan belgilangan sessiya), so'ng u nima qilayotganini ko'rib chiqing va uni tugatish yoki tugatishga ruxsat bering.
3.2.5 Jarayon harakatlari (o'ldirish, tafsilotlar, kuzatish)
Faoliyat monitori sizga individual seanslarda harakatlarni amalga oshirish imkonini beradi:
- Jarayonlar panelidagi istalgan seansni o'ng tugmasini bosing.
- Siz bir nechta variantni ko'rasiz:
- Tafsilotlar: Ushbu seans tomonidan bajarilgan oxirgi buyruqni ko'rsatadi.
- O'ldirish jarayoni: Seansni tugatadi (ehtiyotkorlik bilan foydalaning).
- Jarayonni kuzatish SQL Server Profiler: Ishlay boshladi SQL Server Profil va faqat ushbu sessiyadagi faoliyatni ko'rsatish uchun avtomatik ravishda filtrlaydi.
Tafsilotlar opsiyasi sizga buyruq matnini ko'rsatadi, lekin bu ekanligini unutmang oxirgi buyruq bajarildi - u hali ham ishlamayotgan bo'lishi mumkin. Kuzatuv opsiyasi, ayniqsa, seans bajarayotgan buyruqlar ketma-ketligini to'liq ko'rish kerak bo'lganda foydalidir.
3.3 Resurslarni kutish paneli
Resurslarni kutish paneli kutish statistikasini umumlashtiradi va qaysi turdagi resurslar sessiyalari eng ko'p kutilayotganini ko'rsatadi. Ushbu ma'lumot ishlashdagi to'siqlarni tashxislash uchun juda muhimdir.
3.3.1 Kutish statistikasini tushunish
Qachon SQL Server resurs so'rovini (masalan, blokirovka, protsessor vaqti yoki xotira kabi) darhol bera olmasa, so'ralayotgan vazifa kutish holatiga kiradi. Kutish statistikasi ushbu kutish davrlarini kuzatib boradi va server ishlashdan ko'ra kutish vaqtini qayerda o'tkazayotganini tushunishga yordam beradi.
Resurs kutishlari paneli sys.dm_os_wait_stats va sys.dm_exec_requests kabi tizim dinamik boshqaruv ko‘rinishlaridan ma’lumotlarni to‘playdi. Har bir yangilash oralig'ida u joriy va oldingi surat o'rtasidagi farqni hisoblab chiqadi va har bir kutish turi uchun to'planish tezligini ko'rsatadi.
3.3.2 Kutish toifalari
Faoliyat monitori sharhlashni soddalashtirish uchun yuzlab individual kutish turlarini keng toifalarga guruhlaydi:
- CPU: CPU vaqtini kutayotgan vazifalar mavjud bo'ladi.
- Bufer qulfi: Xotiradagi ma'lumotlar sahifalariga kirishni himoya qiluvchi qisqa muddatli sinxronizatsiya ob'ektlarini kutadi. Ushbu turkumga sahifani blokirovka qilishni kutish (PAGELATCH_*) kiradi.
- Qulf: Boshqa seanslar uchun zarur bo'lgan qulflarni ushlab turgan seanslar tufayli kutishlar.
- Xotira: Saralash va xeshlash kabi operatsiyalar uchun zarur bo'lgan xotira grantlarini kutadi.
- Tarmoq kiritish-chiqarish: Mijozlarga ma'lumotlarni yuborish yoki ulardan ma'lumotlarni olishni kutadi.
- SQL CLR: Common Language Runtime bajarilishi bilan bog'liq kutishlar.
Ushbu guruhlash ko'rinishni soddalashtirsa-da, muhim tafsilotlarni ham yashiradi. Masalan, “Buffer Latch” PAGELATCH_SH, PAGELATCH_UP va PAGELATCH_EX kutishlarini bir joyga to‘plashi mumkin, bu esa unumdorlikka turlicha ta’sir ko‘rsatadi.
3.3.3 Kutish vaqti va kutish vazifalarini talqin qilish
Resurs kutishlari paneli har bir kutish toifasi uchun ikkita asosiy ko'rsatkichni ko'rsatadi:
- Jami kutish vaqti (ms): Ushbu kutish toifasi uchun joriy yangilash oralig'ida to'plangan umumiy millisekundlar.
- Kutish vazifalari: Hozirda ushbu turkumdagi resurslarni kutayotgan vazifalar soni.
Kutish vaqti qiymati ayniqsa qiziq. Agar sizda 10 soniyalik yangilanish oralig'i bo'lsa va toifa uchun 20 000 ms kutish vaqtini ko'rsangiz, bu bir vaqtning o'zida bir nechta kutishlarni bildiradi (20 000 ms / 10 000 ms = interval davomida o'rtacha 2 ta bir vaqtda kutish).
3.3.4 Ishlashdagi qiyinchiliklarni aniqlash
Serveringiz eng ko'p kutish vaqtini qayerda o'tkazayotganini aniqlash uchun Resurslarni kutish panelidan foydalaning:
- Resurs kutishlari panelini kengaytiring.
- Eng yuqori kutish vaqtlarini jamlagan kutish toifalarini kuzating.
- Saralash turi Kümülatif kutish vaqti qaysi resurslar eng cheklanganligini ko'rish uchun.
Yuqori bufer latch kutishlari ko'pincha xotiradagi ma'lumotlar sahifalari uchun ziddiyatni ko'rsatadi, bu esa kirish/chiqarish muammolari yoki tempdb ziddiyatini ko'rsatishi mumkin. High Lock kutishlari bloklash muammolariga ishora qiladi. Yuqori xotira kutishlari so'rovlar uchun etarli xotira grantlarini taklif qiladi.
3.4 Ma'lumotlar fayli kiritish/chiqarish paneli
Ma'lumotlar fayli kiritish-chiqarish paneli serveringizdagi har bir ma'lumotlar bazasi fayli uchun diskdagi faollikni ko'rsatadi, bu sizga kiritish-chiqarish muammolarini aniqlashga va diskdan foydalanish usullarini tushunishga yordam beradi.
3.4.1 I/U ko'rsatkichlarini tushunish
Ma'lumotlar fayli kiritish-chiqarish paneli har bir ma'lumotlar bazasi fayli uchun bir nechta ko'rsatkichlarni ko'rsatadi:
- Ma'lumotlar bazasi: Ma'lumotlar bazasi nomi.
- Fayl turi: Ma'lumotlar (jumladan, jadvallar va indekslar) yoki jurnal (tranzaksiyalar jurnali).
- Mantiqiy ism: Mantiqiy fayl nomi bilan belgilangan SQL Server.
- MB/sek O'qish: Ushbu fayldan o'qiladigan ma'lumotlar tezligi.
- MB/sek Yozilgan: Ushbu faylga yozilayotgan ma'lumotlar tezligi.
- Javob vaqti (ms): Ushbu fayldagi kiritish-chiqarish operatsiyalari uchun o'rtacha javob vaqti.
Ushbu ko'rsatkichlar Umumiy ko'rish paneli bilan bir xil vaqt oralig'ida yangilanadi, bu sizga diskdagi faoliyatni real vaqtda ko'rish imkonini beradi.
3.4.2 Kirish-chiqarish muammolarini aniqlash
I/U ishlash muammolarini ko'rsatadigan ushbu naqshlarga e'tibor bering:
- Yuqori javob vaqti: 15-20 ms dan yuqori javob vaqtlari sekin disk quyi tizimlarini taklif qiladi. 50 ms dan yuqori javob vaqtlari jiddiy kirish/chiqarish muammolarini ko'rsatadi.
- Balanssiz yuk: Agar bitta ma'lumot fayli bir xil ma'lumotlar bazasidagi boshqalarga qaraganda ancha yuqori kiritish/chiqarish tezligini ko'rsatsa, yukni taqsimlash uchun qo'shimcha fayllarni qo'shish foyda keltirishi mumkin.
- Haddan tashqari Tempdb faolligi: Tempdb fayllaridagi yuqori kiritish/chiqarish stavkalari ko'pincha katta oraliq natijalar to'plamini yaratish yoki samarasiz bajarish rejalaridan foydalanish so'rovlarini ko'rsatadi.
3.4.3 Ma'lumotlar bazasi fayllarini tahlil qilish
Ma'lumotlar bazasi disk resurslaridan qanday foydalanishini tushunish uchun Ma'lumotlar fayli kiritish/chiqarish panelidan foydalaning:
- Ma'lumotlar fayli kiritish/chiqarish panelini kengaytiring.
- Saralash turi MB/sek O'qish or MB/sek Yozilgan eng faol fayllarni aniqlash uchun.
- Doimiy yuqori faollik yoki uzoq javob vaqtlari bo'lgan har qanday fayllarga e'tibor bering.
- Qaysi so'rovlar kiritish-chiqarish yukini oshirayotganini aniqlash uchun ushbu ma'lumotni Oxirgi qimmat so'rovlar paneli bilan o'zaro bog'lang.
3.5 Oxirgi qimmat so'rovlar paneli
"So'nggi qimmat so'rovlar" paneli ko'pincha ilovalarning ishlashi bilan bog'liq muammolarni bartaraf etish uchun eng qimmatli panel hisoblanadi. Unda server resurslarining katta qismini iste'mol qiladigan so'rovlar ko'rsatiladi va optimallashtirish imkoniyatlarini aniqlashga yordam beradi.
3.5.1 So'rov ko'rsatkichlarini tushunish
Faoliyat monitori har bir qimmat so'rov uchun bir nechta ko'rsatkichlarni ko'rsatadi:
- Bajarish/daq: So'rov oxirgi daqiqada necha marta bajarilgan.
- CPU (ms/sek): Ushbu so'rov tomonidan sekundiga iste'mol qilinadigan CPU vaqti.
- Jismoniy o'qishlar/sek: Ushbu so'rov uchun sekundiga jismoniy diskni o'qish soni.
- Mantiqiy yozish/sek: Mantiqiy yozishlar soni (keshni buferga) soniyada.
- Mantiqiy o'qish / sek: Bir soniyada mantiqiy o'qishlar soni (bufer keshidan).
- Oʻrtacha davomiylik (ms): Bu soʻrov uchun oʻrtacha bajarilish vaqti.
- Rejalar soni: Ushbu so'rov uchun keshdagi ijro rejalari soni.
Ushbu ko'rsatkichlar nafaqat qaysi so'rovlar qimmat ekanligini, balki tushunishga yordam beradi nima uchun ular qimmat va ular qanchalik tez-tez ishlaydi.
3.5.2 Saralash imkoniyatlari
Siz har xil turdagi muammolarni topish uchun so'nggi qimmat so'rovlar panelini turli ko'rsatkichlar bo'yicha saralashingiz mumkin:
- Ushbu ko'rsatkich bo'yicha saralash uchun istalgan ustun sarlavhasini bosing.
- Umumiy saralash strategiyalari quyidagilarni o'z ichiga oladi:
- CPU bo'yicha saralash: Eng ko'p protsessor vaqtini talab qiladigan so'rovlarni toping.
- Bajarishlar/daq bo'yicha saralash: Haddan tashqari tez-tez ishlaydigan so'rovlarni aniqlang.
- Jismoniy o'qishlar bo'yicha saralash: Eng ko'p disk kirish/chiqishiga sabab bo'lgan so'rovlarni toping.
- Oʻrtacha davomiylik boʻyicha saralash: Uzoq davom etadigan so'rovlarni toping.
Ishlash muammosini hal qilishda turli nuqtai nazarga ega bo'lish uchun bir nechta ustunlar bo'yicha saralashga harakat qiling. O'rtacha protsessordan foydalanish, lekin daqiqada juda yuqori bajarilishi bo'lgan so'rov sizning haqiqiy muammoingiz bo'lishi mumkin.
3.5.3 So'rov matnini ko'rish
Qimmat so'rov ortidagi haqiqiy SQL bayonotini ko'rish uchun:
- So'nggi qimmat so'rovlar panelidagi so'rovlar qatorini o'ng tugmasini bosing.
- tanlang So'rov matnini tahrirlash.
- To'liq SQL bayonotini ko'rsatadigan yangi so'rov oynasi ochiladi.
Bu sizga so'rovlar mantig'ini tekshirish va optimallashtirish imkoniyatlarini aniqlash imkonini beradi. Keyin o'zgartirilgan versiyalarni sinab ko'rish uchun so'rov matnini nusxalashingiz mumkin.
3.5.4 Ijro rejalarini tahlil qilish
Amalga oshirish rejalari sizga buni qanday qilishni ko'rsatadi SQL Server etishmayotgan indekslar yoki noto'g'ri qo'shilish turlari kabi samarasizliklarni aniqlaydigan so'rovni bajaradi:
- So'nggi qimmat so'rovlar panelidagi so'rovlar qatorini o'ng tugmasini bosing.
- tanlang Amalga oshirish rejasini ko'rsatish.
- SQL Server Management Studio so'rov qanday bajarilishini grafik tasvirini ko'rsatadi.
So'rov narxining katta foizini sarflaydigan operatsiyalarni, statistika yoki indekslarning yo'qligi haqidagi ogohlantirishlarni va kutilmagan jadvalni skanerlash operatsiyalarini qidiring. Bular ko'pincha optimallashtirish ishlari qayerga qaratilishi kerakligini ko'rsatadi.
3.5.5 Muammoli so'rovlarni aniqlash
Oxirgi qimmat so'rovlar panelida ushbu naqshlarni ko'ring:
- Haddan tashqari ijrolar: Bir daqiqada minglab marta bajariladigan so'rov N+1 so'rov muammosini ko'rsatishi mumkin, bunda dastur kodi ma'lumotlar bazasini tsikl ichida chaqiradi.
- Yuqori jismoniy o'qishlar: Jismoniy o'qish tezligi yuqori bo'lgan so'rovlar diskka tez-tez tegib, etishmayotgan indekslarni yoki noto'g'ri yozilgan so'rovlarni taklif qiladi.
- Kam vaqtli yuqori protsessor: Umumiy protsessorni iste'mol qiladigan ko'plab tezkor so'rovlar serverning ishlashiga bir nechta sekin so'rovlar kabi ta'sir qilishi mumkin.
- Bir nechta rejalar soni: Ko'p ijro rejalari bo'lgan so'rovlar parametrlarni aniqlash muammolari yoki parametrsiz so'rovlardan aziyat chekishi mumkin, bu esa reja keshini shishiradi.
4. Ishlash muammolarini bartaraf etish uchun Faoliyat monitoridan foydalanish
Faoliyat monitori unumdorlik muammolarini diagnostika qilish va hal qilish uchun tizimli ravishda foydalansangiz, haqiqatan ham porlaydi. Ushbu bo'lim muammolarni bartaraf etishning umumiy stsenariylarini va ularga qanday yondashishni o'z ichiga oladi.
4.1 Haddan tashqari so'rovlar bajarilishini diagnostika qilish
Eng keng tarqalgan ishlash muammolaridan biri bu so'rovlarning kerak bo'lgandan ko'ra tez-tez bajarilishi bo'lib, bu ko'pincha dastur dizayni bilan bog'liq muammolar tufayli yuzaga keladi.
4.1.1 Takroriy so'rovlarni aniqlash
Juda tez-tez bajariladigan so'rovlarni aniqlash uchun:
- Faoliyat monitorini oching va kengaytiring Oxirgi qimmat so'rovlar paneli.
- Saralash turi Qatl etishlar/min (daqiqada qatl qilish).
- Yuqorida asossiz darajada yuqori ko'rinadigan ijro soni bilan so'rovlarni qidiring.
- Shubhali so'rovni o'ng tugmasini bosing va tanlang So'rov matnini tahrirlash SQL bayonotini tekshirish uchun.
Masalan, agar siz oddiy SELECT operatorining daqiqasiga 37 000 marta bajarilishini ko'rsangiz, dastur haqiqatan ham bu so'rovni shuncha tez-tez chaqirishi kerakmi, degan savol tug'iladi. Ko'pgina so'rovlar daqiqasiga bir necha ming martadan ko'proq bajarilishi tekshiruvni talab qiladi.
4.1.2 Ildiz sabablarini tahlil qilish
Haddan tashqari so'rovlar odatda quyidagi muammolardan kelib chiqadi:
- N+1 so'rov muammosi: Ilova kodi elementlar ro'yxatini oladi, so'ngra tegishli ma'lumotlarni olish uchun har bir element uchun alohida so'rovni bajaradi. Bu N qo'shimcha so'rovlarni yaratadi, bu erda N - elementlar soni.
- Kesh etishmayapti: Ilova ma'lumotlar bazasini dastur xotirasida saqlash o'rniga, kamdan-kam o'zgarib turadigan ma'lumotlar uchun so'rov yuboradi.
- Ovoz berish davrlari: Kod ma'lumotlar bazasini qayta-qayta so'raydi va o'zgarishlar to'g'risida bildirishnomalar yoki xabarlar navbatlarini ishlatish o'rniga holat o'zgarishlarini tekshiradi.
- ORM samarasizligi: Entity Framework va shunga o'xshash vositalar, ba'zida ishlab chiquvchilar o'zlarining kodlari SQL-ga qanday tarjima qilinishini tushunmasalar, samarasiz so'rov naqshlarini yaratadilar.
Asosiy sababni aniqlash uchun so'rovni dastur kodiga qaytaring. ga e'tibor bering ariza va Kirish so'rov bajarilganda Jarayonlar panelidagi ustunlar. Bundan tashqari, jarayonni o'ng tugmasini bosib, tanlashingiz mumkin Jarayonni kuzatish SQL Server Profil qo'ng'iroq namunasini ko'rish uchun.
4.1.3 Yechimlar va eng yaxshi amaliyotlar
Haddan tashqari so'rovlar bajarilishini aniqlaganingizdan so'ng, quyidagi echimlarni ko'rib chiqing:
- Ommaviy ishlov berish: Bitta so‘rovda alohida so‘rovlarni bajarish o‘rniga birlashma yoki IN bandlari yordamida bir nechta elementlarni olish uchun dastur kodini o‘zgartiring.
- Natija keshlash: Tez-tez foydalaniladigan kesh, tegishli amal qilish muddati bilan dastur xotirasidagi ma'lumotlarni kamdan-kam o'zgartiradi.
- Istiqbolli yuklash: ORMlarni kamroq va samaraliroq so'rovlarda tegishli ma'lumotlarni oladigan yuklash strategiyalaridan foydalanish uchun sozlang.
- So'rov parametrlari: So‘rovlarda qiymatlarni birlashtirish o‘rniga parametrlardan foydalanilishiga ishonch hosil qiling, bu esa reja keshini qayta ishlatishni yaxshilaydi va kompilyatsiya xarajatlarini kamaytiradi.
4.2 Bloklash masalalarini tekshirish
Bloklash bir seans boshqa seanslarning davom etishiga to'sqinlik qiluvchi qulflarni ushlab turganda sodir bo'ladi. Bu sekin dastur javob vaqtlari va hafsalasi pir bo'lgan foydalanuvchilar sifatida namoyon bo'ladi.
4.2.1 Bloklash zanjirlarini aniqlash
Bloklashni aniqlash va tahlil qilish uchun:
- Faoliyat monitorini oching va kengaytiring Jarayonlar paneli.
- ichida qiymatlari bo'lgan seanslarni qidiring Bloklangan ustun - bular boshqa seanslar tomonidan ushlab turiladigan qulflarni kutmoqda.
- "1" bilan sessiyalarni toping Bosh bloker ustun - bu zanjirlarni blokirovka qilishning asosiy sababidir.
- Eslatma Seans identifikatori bosh blokerining.
- Bosh bloker seansini o'ng tugmasini bosing va tanlang Tafsilotlar qaysi buyruqni bajarayotganini ko'rish uchun.
Bloklash zanjirini tushunish juda muhimdir. Bosh bloker quyi oqimdagi bloklangan seanslar emas, balki siz tekshirishingiz kerak bo'lgan seansdir.
4.2.2 Qulflash turlarini tushunish
The Kutish turi Jarayonlar panelidagi ustun blokirovka qilingan seanslarning qaysi turini kutayotganini ko'rsatadi:
- LCK_M_X: Odatda YANGILASH, OʻCHIRISH yoki INSERT operatsiyalari natijasida yuzaga keladigan eksklyuziv blokirovka kutish.
- LCK_M_S: Umumiy qulfni kutish, odatda SELECT bayonotlari eksklyuziv qulflar chiqarilishini kutadi.
- LCK_M_U: Yangilash blokirovkasini kutish, yangilanishlar paytida ishlatiladigan oraliq blokirovka turi.
- LCK_M_IX: Sahifa yoki satr darajasidagi blokirovka bahsini ko‘rsatuvchi eksklyuziv blokirovkani kutish.
The Resursni kuting ustun qaysi ma'lumotlar bazasi ob'ekti bloklanganligini ko'rsatadi, bu sizga qaysi jadval yoki indeks bahsda ishtirok etishini tushunishga yordam beradi.
4.2.3 Bloklash masalalarini hal qilish
Bloklash seansini va u nima qilayotganini aniqlaganingizdan so'ng, sizda bir nechta variant mavjud:
- Tugatishni kuting: Agar bosh bloker tez orada tugallanadigan qonuniy so'rovni bajarayotgan bo'lsa, uni tabiiy ravishda tugatishga ruxsat bergan ma'qul.
- Sessiyani o'ldirish: Agar bosh bloker tiqilib qolsa yoki so'rovni bajarayotgan bo'lsa, uni bekor qilish kerak:
- Jarayonlar panelida sessiyani o'ng tugmasini bosing.
- tanlang O'ldirish jarayoni.
- Muloqot oynasidagi amalni tasdiqlang.
- So'rovlarni optimallashtirish: Agar bloklash bir xil so'rovlar bilan takrorlansa, blokirovka muddatini qisqartirish uchun ularni optimallashtiring.
- Izolyatsiya darajasini sozlash: Oʻqishga moʻljallangan ogʻir ish yuklarida bloklanishni kamaytirish uchun READ COMMITTED SNAPSHOT ISOLATION dan foydalanishni oʻylab koʻring.
- Indeksni sozlash: So'rovlarni tezlashtirish uchun indekslarni qo'shing va ular qancha vaqt qulflanganligini kamaytiring.
4.3 Yuqori protsessordan foydalanishni tahlil qilish
Umumiy ko‘rinish paneli protsessor vaqtini doimiy ravishda 100% yoki unga yaqin ko‘rsatsa, qaysi so‘rovlar mas’ul ekanligini aniqlashingiz va ularni optimallashtirish mumkinligini aniqlashingiz kerak.
4.3.1 CPU intensiv so'rovlarini aniqlash
Haddan tashqari CPU iste'mol qiladigan so'rovlarni topish uchun:
- Kirish oching Oxirgi qimmat so'rovlar paneli.
- Saralash turi CPU (ms/sek) eng ko'p protsessor vaqtidan foydalanadigan so'rovlarni ko'rsatish uchun.
- Ro'yxatdagi eng yuqori so'rovlarni ko'rib chiqing.
- Yuqori CPU so'rovlarini o'ng tugmasini bosing va tanlang So'rov matnini tahrirlash SQL bayonotini ko'rish uchun.
- tanlang Amalga oshirish rejasini ko'rsatish so'rov qanday bajarilishini tushunish uchun.
Faqat individual so'rovlar CPU foydalanishga emas, balki e'tibor bering Qatl etishlar/min ustun. Har bir bajarilishi uchun o'rtacha protsessordan foydalanadigan, lekin daqiqada minglab marta ishlaydigan so'rov sizning eng katta CPU iste'molchingiz bo'lishi mumkin.
4.3.2 So'rovlarni optimallashtirish usullari
CPU sarfini kamaytirishning umumiy yondashuvlari quyidagilarni o'z ichiga oladi:
- Etishmayotgan indekslarni qo'shing: Indekslar jadvalni skanerlashdan ko'ra kamroq CPU ishlatadi. Ijro rejalarida etishmayotgan indeks tavsiyalarini qidiring.
- Samarasiz so'rovlarni qayta yozish: Kursorlarni to'plamga asoslangan operatsiyalar bilan almashtiring, WHERE bandlarida keraksiz funktsiyalarni yo'q qiling va ortiqcha birikmalarni olib tashlang.
- Statistikani yangilash: Eskirgan statistika sabab SQL Server samarasiz ijro rejalarini tanlash. Ta'sir qilingan jadvallarda UPDATE STATISTICS-ni ishga tushiring.
- Ma'lumot hajmini kamaytirish: Oldinroq ma'lumotlarni filtrlash uchun WHERE bandlarini qo'shing, sahifalash uchun TOP yoki OFFSET/FETCH dan foydalaning va SELECT * dan saqlaning.
- Parametrni hidlashni tuzatish: Parametrlarni aniqlash muammoga olib kelganda, OPTION (RECOMPILE), so'rovlar bo'yicha maslahatlar yoki rejalashtirish qo'llanmalaridan foydalaning.
4.4 Xotira bilan bog'liq muammolarni o'rganish
Xotira bosimi so'rovlarning diskka tushishiga olib kelishi mumkin, bu esa unumdorlikni sezilarli darajada yomonlashtiradi. Faoliyat monitori xotirani ko'p talab qiladigan operatsiyalarni aniqlashga yordam beradi.
4.4.1 Xotira ko'rsatkichlarini tushunish
The Xotiradan foydalanish Jarayonlar panelidagi ustun har bir seansga kilobaytlarda ajratilgan xotirani ko'rsatadi. Bir seansda yuqori xotiradan foydalanish ko'pincha quyidagilarni ko'rsatadi:
- Dastlab berilgan xotiraga sig‘maydigan katta saralash yoki xesh operatsiyalari
- Katta natijalar to'plamini oladigan so'rovlar
- Haddan tashqari parallellik ijro rejasi operatorlarining ko'plab nusxalarini yaratadi
- CLR-da saqlangan protseduralar yoki funktsiyalarda xotira oqishi
Resurs kutishlari panelida so'rovlar yetarlicha xotira grantlarini ololmasa va xotira mavjud bo'lishini kutish kerak bo'lganda Xotira kutishlarini ko'rsatishi mumkin.
4.4.2 Xotirani ko'p talab qiluvchi so'rovlarni aniqlash
Xotira bosimiga olib keladigan so'rovlarni topish uchun:
- In Jarayonlar panel, saralash Xotiradan foydalanish eng ko'p xotirani iste'mol qiladigan sessiyalarni ko'rish uchun.
- Sichqonchaning o'ng tugmasi bilan yuqori xotira sarflangan seanslarni bosing va tanlang Tafsilotlar ularning so'rovlarini ko'rish uchun.
- In Oxirgi qimmat so'rovlar panelda yuqori so'rovlarni qidiring Mantiqiy o'qishlar or Mantiqiy yozuvlar, chunki ular ko'pincha xotiradan foydalanish bilan bog'liq.
- Xotira grantlaridan foydalanadigan Sort va Hash Match operatorlari uchun ijro rejalarini ko'rib chiqing.
Ijro rejalarida "Xotira granti" ogohlantirishlarini ko'rsatadigan so'rovlar yoki to'kish haqida ogohlantirishlar xotira bosimi bilan bog'liq muammolarni ko'rsatadi.
4.5 Ilovaning ishlashi bilan bog'liq muammolarni aniqlash
Foydalanuvchilar ilovalarning sekin javob berish vaqtlari haqida xabar berganda, Activity Monitor ma'lumotlar bazasida muammo borligini aniqlashga yordam beradi.
4.5.1 Faoliyat monitorini ilova muammolari bilan bog'lash
Ilova sekinligini tekshirish uchun:
- Foydalanuvchilar muammolar va ta'sirlangan ilovalar haqida xabar bergan vaqtga e'tibor bering.
- Faoliyat monitorini oching va tekshiring haqida umumiy ma'lumot o'sha paytda resurs ko'tarilishi uchun panel.
- In Jarayonlar panel, filtrlash ariza faqat ta'sirlangan ilovadan ulanishlarni ko'rsatish uchun.
- Yuqorini qidiring Vaqtni kuting ma'lumotlar bazasi kechikishlarini ko'rsatadigan qiymatlar.
- nazorat Oxirgi qimmat so'rovlar muhim resurslarni iste'mol qiladigan ushbu ilovadan so'rovlar uchun panel.
Agar ma'lumotlar bazasi foydalanuvchilarning sekinlashuviga duch kelganda noodatiy harakatni ko'rsatmasa, muammo dastur kodida, tarmoqning kechikishida yoki mijozning ishlashida bo'lishi mumkin.
4.5.2 Samarasiz dastur namunalarini aniqlash
Faoliyat monitori dastur dizaynida bir nechta anti-naqshlarni ochib beradi:
- Chatty ilovalari: Kamroq, samaraliroq so'rovlar o'rniga ko'plab kichik so'rovlar. Oxirgi qimmat so'rovlarda yuqori ulanish soni va ko'plab oddiy so'rovlar bilan aniqlanadi.
- N+1 so'rovlar: Tegishli ma'lumotlar uchun bitta so'rovdan keyin N qo'shimcha so'rov. Bir daqiqada juda yuqori bajarilishlar bilan oddiy so'rov sifatida ko'rsatiladi.
- Katta natijalar to'plami: Ilovalar kerak bo'lgandan ko'ra ko'proq ma'lumotlarni oladi. Yuqorini qidiring Mantiqiy o'qishlar oddiy SELECT * so'rovlari bilan birlashtirilgan.
- Yetishmayotgan vaqtlar: Buyruqlarni kutish vaqtini o'rnatmagan ilovalar ulanishlarni noma'lum muddatga ochiq qoldirishi mumkin, ular "Jarayonlar" panelida uzoq davom etadigan seanslar sifatida ko'rinadi.
5. Muqobil usullar: T-SQL orqali Faoliyat monitori ma’lumotlarini olish
Faoliyat monitori qulay grafik interfeysni ta'minlasa-da, ba'zida siz dasturli ravishda ekvivalent ma'lumotlarni olishingiz yoki maxsus monitoring echimlarini yaratishingiz kerak bo'ladi.
5.1 Dinamik boshqaruv ko'rinishlaridan foydalanish (DMVs)
SQL Server Faoliyat monitori sahna ortida soʻrovlarni dinamik boshqaruv koʻrinishlari orqali faoliyat maʼlumotlarini ochib beradi.
5.1.1 Faoliyat monitoringi uchun asosiy DMVlar
Activity Monitor funksiyasini takrorlash uchun eng muhim DMVlar quyidagilarni o'z ichiga oladi:
- sys.dm_exec_requests: CPU, kiritish/chiqarish va kutish ma'lumotlari bilan hozirda bajarilayotgan so'rovlarni ko'rsatadi.
- sys.dm_exec_sessions: Kirish nomi, xost nomi va dastur nomi kabi sessiya darajasidagi ma'lumotlarni o'z ichiga oladi.
- sys.dm_os_wait_stats: Butun misol uchun jamlangan kutish statistikasini taqdim etadi.
- sys.dm_exec_query_stats: Keshlangan so'rovlar uchun jami samaradorlik statistikasini o'z ichiga oladi.
- sys.dm_io_virtual_file_stats: Ma'lumotlar va jurnal fayllari uchun kiritish/chiqarish statistikasini qaytaradi.
- sys.dm_exec_sql_text: Berilgan sql_handle yoki plan_handle uchun SQL matnini oladi.
- sys.dm_exec_query_plan: Keshlangan so'rov uchun bajarish rejasini qaytaradi.
5.1.2 Jarayon ma'lumotlari uchun namuna so'rovlari
Jarayonlar paneli funksiyasini takrorlash uchun siz quyidagi so'rovlarni bajarishingiz mumkin:
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 Kutish statistikasi uchun so'rovlar namunasi
Resurs kutishlari paneliga o'xshash kutish statistikasini ko'rish uchun:
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 dan foydalanish
sp_WhoIsActive - bu hamjamiyat tomonidan yaratilgan kuchli saqlangan protsedura bo'lib, u bitta natijalar to'plamidagi Faoliyat monitoriga qaraganda batafsilroq ma'lumot beradi.
5.2.1 sp_WhoIsActive dasturini o'rnatish
sp_WhoIsActive o'rnatish uchun:
- Eng so'nggi versiyasini yuklab oling
http://whoisactive.com. - Yuklab olish protsedura ta'rifini o'z ichiga olgan SQL skriptidir.
- Skriptni oching SQL Server Menejment studiyasi.
- O'zingizga ulaning SQL Server misol.
- Asosiy ma'lumotlar bazasida protsedura yaratish uchun skriptni bajaring.
- Tegishli foydalanuvchilarga bajarish uchun ruxsatlarni bering.
sp_WhoIsActive master-da o'rnatilganligi sababli, unga istalgan ma'lumotlar bazasi kontekstidan kirish mumkin.
5.2.2 Asosiy foydalanish misollari
Sp_WhoIsActive dan foydalanishning eng oddiy usuli:
EXEC sp_WhoIsActive;
Bu so'rovlar, kutish turlari, blokirovka ma'lumotlari va resurslardan foydalanish bilan barcha faol seanslarni ko'rsatadigan natijalar to'plamini qaytaradi.
O'sha davrdagi faollikni ko'rsatadigan 10 soniyalik namuna uchun:
EXEC sp_WhoIsActive @delta_interval = 10;
Bu protsessor kabi ko'rsatkichlar uchun deltalarni hisoblab chiqadi va o'sha 10 soniya ichida nima sodir bo'lganligini ko'rsatadi.
5.2.3 Kengaytirilgan parametrlar
sp_WhoIsActive sozlash uchun ko'plab parametrlarni qo'llab-quvvatlaydi:
- @filtr: Natijalarni ma'lum seanslar, ma'lumotlar bazalari yoki loginlarga filtrlang.
- @filtr_turi: Filtr nimaga tegishli ekanligini ko'rsating (sessiya, ma'lumotlar bazasi, login va boshqalar).
- @get_plans: Natijalarga ijro rejalarini qo'shing (1ga o'rnatiladi).
- @get_locks: Bloklash haqida batafsil ma'lumotni ko'rsatish (1 ga o'rnatiladi).
- @get_transaction_info: Tranzaksiya tafsilotlarini ko'rsatish (1ga o'rnatiladi).
- @sort_order: Natijalarni turli ko'rsatkichlar bo'yicha buyurtma qiling (CPU, o'qish, davomiylik va boshqalar).
- @destination_table: Tarixiy kuzatish uchun natijalarni jadvalga kiriting.
CPU bo'yicha tartiblangan rejalarni ko'rsatadigan misol:
EXEC sp_WhoIsActive
@get_plans = 1,
@sort_order = '[CPU] DESC';
5.3 Tizimda saqlangan protseduralardan foydalanish
SQL Server DMV yoki Faoliyat monitoriga qaraganda kamroq ma'lumot beradigan bo'lsa-da, faoliyatni kuzatish uchun an'anaviy saqlangan protseduralarni o'z ichiga oladi.
5.3.1 sp_who va sp_who2
Sp_who protsedurasi asosiy seans ma'lumotlarini ko'rsatadi:
EXEC sp_who;
sp_who2 protsedurasi biroz ko'proq ma'lumot beradi:
EXEC sp_who2;
Ikkala protsedura ham sessiya identifikatorlari, kirish nomlari, protsessor vaqti va blokirovka ma'lumotlarini ko'rsatadi. Biroq, ularda DMV yoki Activity Monitor orqali mavjud bo'lgan boy ma'lumotlar yo'q. Ular sizga minimal ma'lumot tezda kerak bo'lganda tezkor tekshirishlar uchun juda foydali.
5.3.2 Boshqa foydali tizim protseduralari
Monitoring uchun qo'shimcha tizim protseduralari quyidagilarni o'z ichiga oladi:
- sp_lock: Bloklash ma'lumotlarini ko'rsatadi (eskirgan; o'rniga sys.dm_tran_locks dan foydalaning).
- sp_monitor: haqida statistik ma'lumotlarni ko'rsatadi SQL Server faoliyati.
- sp_help: Ob'ekt ta'riflari va metama'lumotlarni ko'rsatadi.
- DBCC SQLPERF: Tranzaksiya jurnali maydonidan foydalanish va kutish statistikasini ko'rsatadi.
5.4 Maxsus monitoring skriptlarini yaratish
Faoliyat monitori taqdim etganidan tashqari maxsus monitoringni talab qiladigan muhitlar uchun siz DMVlar yordamida maxsus echimlarni yaratishingiz mumkin.
5.4.1 To'liq faoliyat monitorining ekvivalent skripti
Mana, Activity Monitor funksiyalarining aksariyatini takrorlaydigan keng qamrovli 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 Monitoringni SQL Agent Jobs bilan avtomatlashtirish
Foydalanishda maxsus monitoring skriptlarini rejalashtirishingiz mumkin SQL Server Agent:
- Monitoring natijalarini saqlash uchun jadval yarating.
- Natijalarni ushbu jadvalga kiritish uchun monitoring skriptingizni o'zgartiring.
- In SQL Server Management Studio, kengaytiring SQL Server Agent Object Explorer-da.
- O'ng tugmasini bosing Jobs va tanlash Yangi ish.
- Monitoring skriptingizni muntazam ravishda ishga tushirish uchun ishni sozlang.
- Yig'ilgan ma'lumotlar asosida ogohlantirishlar yoki hisobotlarni o'rnating.
Ushbu yondashuv faollik monitori taqdim etmaydigan tarixiy kuzatuv va trend tahlilini ta'minlaydi.
6. Faoliyat monitorining cheklovlari va mulohazalari
Faoliyat monitori qimmatli bo'lsa-da, uning cheklovlarini tushunish undan to'g'ri foydalanishga va kerak bo'lganda uni boshqa vositalar bilan to'ldirishga yordam beradi.
6.1 Faoliyat monitorining qo'shimcha xarajatlarini tushunish
Faoliyat monitori bepul emas - u ma'lumot to'plash va ko'rsatish uchun server resurslarini sarflaydi. Ushbu qo'shimcha xarajatlarni tushunish uni mas'uliyat bilan ishlatishga yordam beradi.
6.1.1 Server resurslariga ta'siri
Faoliyat monitori har safar yangilanganda tizim DMVlariga qarshi so'rovlarni bajaradi. Ushbu so'rovlar protsessorni iste'mol qiladi, mantiqiy o'qishlar hosil qiladi va tizim jadvallarida qisqa vaqt ichida qulflarni ushlab turishi mumkin. Band serverlarda bu yuk unumdorlikka ta'sir qilishi mumkin.
Jarayonlar va oxirgi qimmat so'rovlar panellari ayniqsa qimmat, chunki ular potentsial katta DMV va kesh jadvallarini skanerlashi kerak. Minglab keshlangan so'rov rejalari bo'lgan serverlarda so'nggi qimmat so'rovlarni yangilash bir necha soniya vaqt olishi mumkin.
Microsoft hujjatlari 10 soniyadan past yangilash intervallari server ishiga sezilarli ta'sir ko'rsatishi haqida ogohlantiradi, ayniqsa allaqachon yuklangan tizimlarda.
6.1.2 Eng yaxshi amaliyotlarni yangilash intervallari
Vaziyatingizga mos yangilash oraliqlarini tanlang:
- 1-5 soniya: Faqat engil yuklangan serverlardagi muhim muammolarni darhol bartaraf etish uchun. Faoliyat monitorini ushbu intervallarda ishlayotgan holda qoldirmang.
- 10 soniya (standart): Ko'pgina muammolarni bartaraf etish stsenariylari va umumiy monitoring uchun oqilona.
- 30-60 soniya: Og'ir yuk ostida yoki uzoq vaqt davomida monitoring qilishda ishlab chiqarish serverlari uchun yaxshiroq tanlov.
- Faqat qo'lda yangilash: Vaqti-vaqti bilan doimiy so'rovlarsiz joriy holatni tekshirmoqchi bo'lgan holatlar uchun.
Tekshiruvni tugatganingizda har doim Faoliyat monitorini yoping. Uni doimiy ravishda ishlamasligi kerak, ayniqsa turli foydalanuvchilarning bir nechta nusxalari.
6.2 Kutish turini guruhlash masalalari
Activity Monitorning kutishlarni tasniflashga yondashuvi, ko'rinishni soddalashtirish bilan birga, muhim diagnostika ma'lumotlarini yashirishi mumkin.
6.2.1 Faoliyat monitoringi guruhlari qanday kutmoqda
SQL Server yuzlab alohida kutish turlarini kuzatib boradi, ularning har biri ma'lum bir manba yoki holatni ko'rsatadi. Faoliyat monitori ularni “Bufer qulfi”, “Qulflash” va “Xotira” kabi keng toifalarga guruhlaydi.
Masalan, “Bufer qulfi” turkumiga PAGELATCH_SH, PAGELATCH_UP, PAGELATCH_EX va boshqa bir qancha maxsus kutish turlari kiradi. Ularning barchasi sahifaga kirish bilan bog'liq bo'lsa-da, ularning sabablari va echimlari turlicha.
Microsoft aynan qaysi kutish turlari qaysi toifalarga mos kelishini hujjatlashtirmaydi, bu esa siz haqiqatda nima ko'rayotganingizni tushunishni qiyinlashtiradi.
6.2.2 Kutish turlari etishmayotgan
Activity Monitor barcha kutish turlarini ko'rsatmaydi. Eng muhimi, u ko'pincha CXPACKET kutishlarini qoldirib ketadi, bu esa parallel so'rov bajarilishini ko'rsatadi. CXPACKET kutishlari keng tarqalgan va odatda muammoli emas, lekin ularning mavjudligini bilish sizga ish yukining xususiyatlarini tushunishga yordam beradi.
Faoliyat monitori “Buffer Latch”ni eng yuqori kutish sifatida ko‘rsatsa, lekin boshqa vositalar CXPACKET ustunligini ko‘rsatsa, nomuvofiqlik Activity Monitor filtrlash va guruhlash mantig‘idan kelib chiqadi.
6.2.3 Nima uchun maxsus kutish turlari muhim?
Muayyan kutish turini bilish muammolarni bartaraf etish uchun muhim:
- PAGELATCH_EX: Ko'pincha ajratish sahifalarida tempdb ziddiyatini ko'rsatadi. Yechim ko'proq tempdb ma'lumotlar fayllarini qo'shishni o'z ichiga oladi.
- PAGELATCH_SH: Foydalanuvchi jadvallarida issiq sahifalarni ko'rsatishi mumkin. Yechim bo'linish yoki indeksni qayta tashkil etishni o'z ichiga oladi.
- PAGELATCH_UP: Yangilanishlar paytida keng tarqalgan. Muammo emas, balki normal ishlashni ko'rsatishi mumkin.
Faoliyat monitori bularning barchasini “Bufer mandali” ostida to‘playdi, bu esa tashxisni qiyinlashtiradi. Sp_WhoIsActive va DMV so'rovlari kabi vositalar muayyan kutish turlarini ko'rsatadi.
6.3 Ma'lumotlarning aniqligi va dolzarbligi
Faoliyat monitori real vaqt rejimiga yaqin ko'rinishni ta'minlaydi, ammo "yaqin" - bu tezkor so'z. Uning ma'lumotlar yig'ish usulini tushunish natijalarni to'g'ri talqin qilishga yordam beradi.
6.3.1 Snapshot va doimiy monitoring
Faoliyat monitori har bir yangilash oralig'ida olingan bir vaqtning o'zida olingan suratlarni ko'rsatadi. Snapshotlar orasida sodir bo'lgan voqealar yozib olinmaydi. Agar so'rov 2 soniya davomida bajarilsa va siz har 10 soniyada yangilansangiz, vaqtga qarab, uni bir marta ko'rishingiz yoki umuman ko'rmasligingiz mumkin.
Bu shuni anglatadiki, Faoliyat monitori doimiy muammolarni (daqiqalarni blokirovka qilish, doimiy ravishda yuqori protsessor) topishda ustunlik qiladi, ammo vaqtinchalik muammolarni (qisqa boshlanishlar, vaqti-vaqti bilan so'rovlar ko'tarilishi) o'tkazib yuborishi mumkin.
6.3.2 Birlashtirish va namuna olish
Oxirgi qimmat so'rovlar paneli so'rov rejalari keshga kiritilganidan beri jamlangan ma'lumotlarni ko'rsatadi. Har xil parametr qiymatlariga ega ikkita bir xil so'rovlar, agar ular rejani baham ko'rsa, bitta qator sifatida ko'rinadi. Ushbu yig'ish muayyan parametr birikmalari bilan bog'liq muammolarni maskalashi mumkin (parametrlarni aniqlash muammolari).
Resurs kutish paneli suratlarni taqqoslash orqali tezlikni hisoblaydi. Agar suratlar orasidagi kutish statistikasi qayta tiklansa (kamdan-kam hollarda, lekin mumkin), hisoblangan tezlik noto'g'ri bo'lishi mumkin.
6.4 Faoliyat monitoridan qachon foydalanmaslik kerak
Faoliyat monitori har bir monitoring stsenariysi uchun mos emas. Muqobil vositalar qachon yaxshiroq tanlov ekanligini tan oling.
6.4.1 Tarixiy tahlilga qo'yiladigan talablar
Faoliyat monitori faqat joriy yoki oxirgi faoliyatni ko'rsatadi. U tarixiy ma'lumotlarni saqlamaydi. Agar siz kunlar yoki haftalar davomidagi tendentsiyalarni tahlil qilishingiz, joriy ko'rsatkichlarni asosiy ko'rsatkichlar bilan solishtirishingiz yoki ishlash namunalari bo'yicha hisobotlar yaratishingiz kerak bo'lsa, Faoliyat monitori etarli emas.
Tarixiy tahlil qilish uchun foydalaning SQL Serverning o'rnatilgan ishlash boshqaruv paneli, fayl maqsadlari bilan kengaytirilgan tadbirlar yoki uchinchi tomon monitoring yechimlari.
6.4.2 Batafsil kutish statistikasi ehtiyojlari
Kengaytirilgan sozlash uchun kutish turi boʻyicha aniq maʼlumot kerak boʻlganda, Faoliyat monitorining guruhlash va filtrlashi uni yetarli boʻlmaydi. DMV so'rovlarini to'g'ridan-to'g'ri yoki sp_WhoIsActive dan foydalaning.
Kutish statistikasini keng qamrovli tahlil qilish uchun sys.dm_os_wait_stats so'rovini to'g'ridan-to'g'ri so'rang va yaxshi kutishlarni qo'lda filtrlang.
6.4.3 Ishlab chiqarish serveriga oid mulohazalar
Og'ir yuk ostida ishlab chiqarish serverlarida Faoliyat monitorining yuki muammoli bo'lishi mumkin. Bir nechta ma'lumotlar bazasi ma'murlari bir vaqtning o'zida bir serverda faoliyat monitorini ishga tushirmasligi kerak.
Ishlab chiqarish monitoringi uchun monitoring maʼlumotlar bazasida saqlangan rejalashtirilgan DMV oniy suratlari kabi engil vaznli muqobillarni koʻrib chiqing yoki “Always On” konfiguratsiyalarida ikkilamchi replikalarni kuzatish uchun “Faqat oʻqish uchun moʻljallangan” marshrutdan foydalaning.
7. Faoliyat monitoridan foydalanishning eng yaxshi amaliyotlari
Eng yaxshi amaliyotlarga rioya qilish serverlaringizga salbiy ta'sirlarni minimallashtirish bilan birga Activity Monitor-dan maksimal foyda olishingizni ta'minlaydi.
7.1 Faoliyat monitoridan qachon foydalanish kerak
Faoliyat monitori muayyan stsenariylarda porlaydi. Uning kuchli tomonlari ehtiyojlaringizga mos kelganda foydalaning.
7.1.1 Haqiqiy vaqtda ishlash muammolari
Faoliyat monitori foydalanuvchilar muammoga duch kelganda va siz darhol muammoni aniqlashingiz kerak bo'lganda juda mos keladi. Haqiqiy vaqtda ko'rish sizga hozir nima bo'layotganini ko'rishga yordam beradi.
"Ilova sekin" degan qo'ng'iroqni olganingizda, Faoliyat monitorini ochish birinchi qadamlaringizdan biri bo'lishi kerak. Ma'lumotlar bazasi band, bloklangan yoki ishlamayotganligini tezda aniqlashingiz mumkin.
7.1.2 Ilovaning sekinlashuvini tekshirish
Muayyan ilova javob bermasa, Faoliyat monitori ma'lumotlar bazasi bilan bog'liq muammolar sabab yoki yo'qligini aniqlashga yordam beradi. Faqat shu ilovaning ma'lumotlar bazasi faoliyatini ko'rish uchun Jarayonlar panelini dastur nomi bo'yicha filtrlang.
Agar foydalanuvchilar muammolar haqida xabar berayotganda ilova hech qanday ma'lumotlar bazasi faoliyatini ko'rsatmasa, muammo stekning boshqa joyida. Agar siz keng qamrovli blokirovka yoki qimmat so'rovlarni ko'rsangiz, siz aybdoringizni topdingiz.
7.1.3 Tez tibbiy tekshiruvlar
Faoliyat monitori muntazam boshqaruv paytida sog'lig'ingizni tez tekshirish uchun ajoyib boshqaruv panelini taqdim etadi. Uni oching, "Umumiy ko'rinish" grafiklariga qarang va hech narsa g'ayritabiiy ko'rinmasligiga ishonch hosil qiling.
Ushbu kursor tekshiruvi bir necha soniya davom etadi va muammolarni ular muhim bo'lishidan oldin aniqlashi mumkin. Buni kundalik tartibingizning bir qismiga aylantiring.
7.2 Optimal konfiguratsiya sozlamalari
Faoliyat monitorini mos ravishda sozlash uning foydaliligini ham, manba izini ham yaxshilaydi.
7.2.1 Tavsiya etilgan yangilash intervallari
Yangilanish oralig'ini maqsadingizga moslang:
- Faol muammolarni bartaraf etish: 10 soniya oqilona yuk bilan yaxshi javob beradi.
- Kengaytirilgan monitoring: 30-60 soniya uzoqroq kuzatuv davrlarida server ta'sirini kamaytiradi.
- Muhim muammo diagnostikasi: 5 soniya har soniya muhim bo'lsa, yuqori granularlikni beradi, lekin qisqa vaqt ichida foydalaning.
- Doimiy salomatlik tekshiruvi: Siz faol tomosha qilmayotganingizda qo‘lda yangilash (1 soatlik interval).
Ish tugagach, Faoliyat monitorini yopishni unutmang. Uni uzoq vaqt oralig'iga o'rnatish va uni unutish server resurslarini behuda sarflaydi.
7.2.2 Filtrlash strategiyalari
Tegishli ma'lumotlarga e'tibor qaratish va kognitiv yukni kamaytirish uchun filtrlardan foydalaning:
- Jarayonlarni filtrlash ma'lumotlar bazasi faqat ma'lum ma'lumotlar bazalariga qarshi faoliyatni ko'rish uchun.
- Filtrni bo'yicha Kirish muayyan foydalanuvchi faoliyatini kuzatish uchun.
- Filtrni bo'yicha Vazifa holati = Bekor seanslarni yashirish uchun RUNNING.
- Filtrni bo'yicha ariza trafikni maxsus dasturlardan ajratish uchun.
- Faqat bo'sh bo'lmaganlarni ko'rsatish Bloklangan faqat blokirovka qiluvchi vaziyatlarni ko'rish uchun.
7.2.3 Ustunlarni tanlash va saralash
Faoliyat monitori ma'lumotlarini ko'rib chiqish uchun tizimli yondashuvni ishlab chiqing:
- Umumiy ko'rinish bilan boshlang: Grafiklarni aniq keskinliklar yoki anomaliyalar uchun tekshiring.
- Bloklash jarayonlarini tekshiring: Seans identifikatori bo‘yicha tartiblang, so‘ngra Bloklangan qiymatlar bo‘yicha qidiring.
- Resursni kutish vaqti: Resurs muammolarini aniqlash uchun jami kutish vaqti bo‘yicha tartiblang.
- Qimmat so'rovlarni tahlil qiling: Turli xil muammolar turlarini topish uchun turli ko'rsatkichlar (CPU, ijrolar, o'qishlar) bo'yicha tartiblang.
- I/U paneli bilan tasdiqlang: I/U intensiv so'rovlari yuqori disk faolligi bilan bog'liqligini tasdiqlang.
7.3 Boshqa vositalar bilan integratsiya
Faoliyat monitori mustaqil yechim sifatida emas, balki kengroq asboblar to'plamining bir qismi sifatida yaxshi ishlaydi.
7.3.1 Bilan foydalanish SQL Server Profil
Faoliyat monitori va SQL Server Profiler bir-birini yaxshi to'ldiradi. Faoliyat monitorida muammoli seansni aniqlaganingizda, uni o'ng tugmasini bosing va tanlang Jarayonni kuzatish SQL Server Profil.
Bu faqat shu seansning faolligini yozib olish uchun allaqachon sozlangan filtrli Profilerni ishga tushiradi. Siz bajarilgan bayonotlarning to'liq ketma-ketligini, vaqt haqida ma'lumotni va xato xabarlarini ko'rasiz - Faoliyat monitori taqdim etmaydigan tafsilot.
haqida qo'shimcha ma'lumot olish uchun SQL Server Profiler imkoniyatlari va ilg'or kuzatuv texnikasi, bizning qarang keng qamrovli SQL Server Profiler uchun qo'llanma.
7.3.2 Kengaytirilgan hodisalar bilan to'ldirish
Kengaytirilgan hodisalar Faoliyat monitori oʻtkazib yuborilgan maʼlumotlarni toʻplaydigan past xarajatlarni, batafsil monitoringni taklif qiladi. Tugallanishlar, uzoq davom etayotgan so‘rovlar yoki ortiqcha qayta kompilyatsiyalar kabi muayyan voqealarni kuzatish uchun kengaytirilgan tadbir seanslarini yarating.
Darhol tekshirish uchun Faoliyat monitoridan va doimiy monitoring va tarixiy tahlil uchun kengaytirilgan hodisalardan foydalaning. Ikki vosita turli xil ehtiyojlarga javob beradi.
haqida qo'shimcha ma'lumot olish uchun SQL Server Kengaytirilgan Voqealar imkoniyatlari va ilg'or monitoring usullari, bizning qarang keng qamrovli SQL Server Kengaytirilgan voqealar qo'llanmasi.
7.3.3 Uchinchi tomon monitoringi yechimlari
SolarWinds ma'lumotlar bazasi ishlash tahlilchisi, Redgate SQL Monitor va Quest Spotlight kabi tijorat vositalari Activity Monitorda yo'q xususiyatlarni taqdim etadi: ogohlantirish, tarixiy trendlar, sig'imni rejalashtirish va avtomatlashtirilgan diagnostika.
Ushbu vositalar Faoliyat Monitoriga qimmatli qo'shimchalar bo'lib, almashtirish emas. Faoliyat monitori murakkab monitoring vositalari mavjud bo'lganda ham tezkor tekshirish va tekshirish uchun foydali bo'lib qoladi.
Qochish kerak bo'lgan 7.4 ta keng tarqalgan xato
Faoliyat monitorining keng tarqalgan xatolarini tushunish undan samaraliroq foydalanishga yordam beradi.
7.4.1 Harakat monitorining uzluksiz ishlashini tark etish
Eng keng tarqalgan xato - bu Activity Monitor-ni ochish va uni noma'lum vaqt davomida ishga tushirish. Bu server resurslarini isrof qiladi va siz faol ravishda kuzatmayotganingiz uchun unchalik foydali emas.
Faollik monitoridan faol foydalanmayotganingizda uni yoping. Agar sizga doimiy monitoring kerak bo'lsa, uning o'rniga rejalashtirilgan ma'lumotlarni yig'ish bilan to'g'ri monitoring yechimini qo'llang.
7.4.2 Faqatgina faoliyat monitoriga haddan tashqari tayanish
Faoliyat monitori server sog'lig'i haqida bir nuqtai nazarni taqdim etadi. Faqat bunga ishonmang. OS darajasidagi ko'rsatkichlar uchun Windows ishlash monitori, batafsil kuzatish uchun kengaytirilgan hodisalar va so'rovlarni sozlash uchun ijro rejasi tahlili bilan to'ldiring.
Faoliyat monitori muammolarni aniqlashga yordam beradi, lekin ularni hal qilish ko'pincha qo'shimcha vositalar va chuqurroq tahlilni talab qiladi.
haqida batafsil ma'lumot SQL Server ishlash monitorimiz to'liq ko'rsatma.
7.4.3 Tarixiy tendentsiyalarga e'tibor bermaslik
Faoliyat monitori joriy holatni ko'rsatadi, lekin ishlash muammolari ko'pincha vaqt o'tishi bilan ko'rinadigan naqshlarga ega. Joriy koʻrsatkichlarni asosiy koʻrsatkichlar bilan solishtirish va tendentsiyalarni aniqlash uchun tarixiy maʼlumotlar yigʻishni amalga oshiring.
Tarixiy kontekstsiz, bugungi “oddiy” protsessordan foydalanish o‘tgan oydagi asosiy ko‘rsatkichdan 30% ga yuqori ekanligini anglamasligingiz mumkin, bu esa asta-sekin pasayishdan dalolat beradi.
8. Faoliyat monitoridagi muammolarni bartaraf etish
Faoliyat monitorining o'zi ba'zida muammolarga duch keladi. Ushbu muammolarni qanday hal qilishni bilish umidsizlikni oldini oladi.
8.1 Faoliyat monitori ochilmaydi yoki hech qanday ma'lumotni ko'rsatmaydi
Faoliyat monitori ochilganda, lekin bo'sh panellarni ko'rsatsa yoki umuman ochilmasa, bir nechta omillar sabab bo'lishi mumkin.
8.1.1 Ruxsat berish muammolari
Activity Monitor bilan bog'liq muammolarning eng keng tarqalgan sababi bu yetarli bo'lmagan ruxsatnomalardir. Tekshirish va hal qilish uchun:
- Server darajasidagi ruxsatlaringizni tekshiring:
SELECT * FROM fn_my_permissions(NULL, 'SERVER') WHERE permission_name = 'VIEW SERVER STATE'; - Hech qanday satr qaytmasa, sizda SERVER STATE KO'RISHiga ruxsatingiz yo'q.
- Server administratoridan ruxsat berishini so'rang:
USE master; GRANT VIEW SERVER STATE TO [YourLogin]; - Ruxsat berilgandan keyin Faoliyat monitorini yoping va qayta oching.
8.1.2 Versiyaning muvofiqligi muammolari
ning eski versiyasidan foydalanish SQL Server Yangisiga ulanish uchun Management Studio SQL Server versiyasi Faoliyat monitorining ishlamay qolishiga olib kelishi mumkin. Asbob yangi kutish turlarini yoki tizim ko'rinishi ustunlarini tushunmasligi mumkin.
Har doim sizga mos keladigan yoki undan yangiroq SSMS versiyasidan foydalaning SQL Server versiya. Microsoft eng so'nggi SSMS-ni bepul yuklab olish sifatida taqdim etadi SQL Server o'zi.
8.1.3 Xavfsizlik devori va tarmoq muammolari
Faoliyat monitori ulanishni talab qiladi SQL Server standart portlardagi misol (sukut bo'yicha 1433). Agar Object Explorer orqali ulanishingiz mumkin bo'lsa, lekin Faoliyat monitori muvaffaqiyatsiz bo'lsa, xavfsizlik devori qoidalari muayyan ulanishlarni bloklashi mumkin.
Mijozning kirishiga ishonch hosil qiling SQL Server barcha kerakli portlarda mashina. Windows xavfsizlik devori va mijoz va server o'rtasidagi har qanday tarmoq xavfsizlik devorini tekshiring.
8.2 Faoliyat monitori doimiy ravishda to'xtatildi
Umumiy muammo, ayniqsa SQL Server 2019 yil, Faoliyat monitori pauza holatida ochiladi va davom etishdan bosh tortadi.
8.2.1 Pauza holatini tushunish
Faoliyat monitori to'xtatilganda, barcha panellar ishlamasligi mumkin bo'lgan davom etish tugmasi bilan "To'xtatilgan" holatini ko'rsatadi. Bu har qanday server faoliyatini ko'rishdan saqlaydi.
To'xtatilgan holat odatda ataylab to'xtatib turish harakati emas, balki ruxsat berish muammolari, masofaviy ulanish cheklovlari yoki SSMS versiyasidagi xatolar tufayli yuzaga keladi.
8.2.2 Umumiy sabablar
Faoliyat monitori quyidagi sabablarga ko'ra doimiy pauza holatiga kirishi mumkin:
- Yaqinda qoʻshilgan yangi panellarda SERVER STATE KOʻRISHiga ruxsat yoʻq SQL Server versiyalari
- Masofaviy ulanishlar o'chirilgan SQL Server misol
- Muayyan tizim so'rovlari uchun autentifikatsiya xatosi
- Muayyan SSMS tuzilmalaridagi xatolar, xususan 18.0 dan 18.3 gacha
- Mijoz va server o'rtasidagi ulanish muammolari
8.2.3 Rezolyutsiya bosqichlari
Faoliyat monitorining to'xtatilgan holati bilan bog'liq muammolarni hal qilish uchun:
- SSMSni yangilash: Eng so'nggi versiyasini yuklab oling va o'rnating SQL Server Microsoft veb-saytidan Management Studio versiyasi. Ko'pgina pauza qilingan holatdagi xatolar keyingi versiyalarda tuzatildi.
- Ruxsatlarni tekshirish: SERVER DAVLATINI KOʻRISH va HAR QANDAY TA’NIFINI KOʻRISH ruxsatnomalari mavjudligiga ishonch hosil qiling.
- Masofaviy ulanishlarni tekshiring: Ekanligini tasdiqlang SQL Server misol masofaviy ulanishlarga ruxsat beradi:
EXEC sp_configure 'remote access';Agar qiymat 0 bo'lsa, administratordan uni yoqishini so'rang.
- SSMSni qayta ishga tushiring: Ba'zan shunchaki barcha oynalarni yopib, qayta ishga tushirish kerak SQL Server Management Studio muammoni hal qiladi.
- Windows autentifikatsiyasi bilan ulaning: Agar SQL autentifikatsiyasidan foydalansangiz, uning o'rniga Windows autentifikatsiyasini sinab ko'ring, chunki u ba'zan autentifikatsiya bilan bog'liq pauza muammolarini chetlab o'tadi.
8.3 Faoliyat monitoridan foydalanishda ishlash muammolari
Faoliyat monitorining o'zi sekinlashsa yoki server ish faoliyatini yomonlashtirsa, sozlash kerak.
8.3.1 Monitoring qo'shimcha xarajatlarini kamaytirish
Faoliyat monitorining ta'sirini minimallashtirish uchun:
- Yangilash oralig'ini 30 soniya yoki 1 daqiqaga oshiring.
- Yigʻish tugmasini bosish orqali siz faol foydalanmayotgan panellarni yoping.
- Panellar yopilganda, Activity Monitor ular uchun ma'lumotlarni so'ramaydi.
- Bir vaqtning o'zida bir nechta Activity Monitor misollarini ishga tushirishdan saqlaning.
- Muammolarni faol ravishda o'rganmasangiz, Faoliyat monitorini butunlay yoping.
8.3.2 Yengil vaznli monitoringning alternativ usullari
Agar faoliyat monitori sizning muhitingiz uchun juda ko'p resurs talab qiladigan bo'lsa, alternativalarni ko'rib chiqing:
- DMVlarni to'g'ridan-to'g'ri so'rang: Faqat kerakli ma'lumotlarni oladigan maxsus T-SQL so'rovlarini yozing.
- sp_WhoIsActive dan foydalaning: Ushbu saqlangan protsedura yuqori darajada optimallashtirilgan va odatda Faoliyat monitoriga qaraganda kamroq qo'shimcha xarajatlarga ega.
- Namuna olishni amalga oshirish: Vaqti-vaqti bilan DMV ma'lumotlarining suratlarini oladigan, natijalarni keyinchalik tahlil qilish uchun jadvallarda saqlaydigan SQL Agent ishlarini rejalashtirish.
- Ikkilamchi replikalarni kuzatish: In Doim yoqilgan mavjudlik guruhlari, Activity Monitorni birlamchi emas, balki o'qilishi mumkin bo'lgan ikkilamchi bilan ishga tushiring.
8.4 Noto'g'ri yoki etishmayotgan ma'lumotlar
Ba'zida Faoliyat monitori noto'g'ri yoki to'liq bo'lmagan ma'lumotlarni ko'rsatadi.
8.4.1 DMVlar bilan ma'lumotlarni tekshirish
Faoliyat monitorining natijalari shubhali boʻlib koʻrinsa, ularni toʻgʻridan-toʻgʻri asosiy DMVlarni soʻrash orqali tekshiring. Masalan, agar “Jarayonlar” panelida blokirovka bo‘lmasa, lekin foydalanuvchilar bu haqda xabar bersa, so‘rang:
SELECT
blocking_session_id,
session_id,
wait_type,
wait_time,
wait_resource
FROM sys.dm_exec_requests
WHERE blocking_session_id != 0;
Agar bu soʻrovda faollik monitori bloklanishi oʻtkazib yuborilganligini koʻrsatsa, siz displey muammosini tasdiqladingiz.
8.4.2 Ma'lumotlarni yangilash vaqtini tushunish
Faoliyat monitori oniy tasvirlarni ko'rsatishini unutmang. Yangilash oraliqlari orasida bajarilgan so‘rov, agar ijro rejasi keshda qolmasa, Oxirgi qimmat so‘rovlarda ko‘rinmaydi.
Xuddi shunday, Resurs kutishlari panelidagi kutish statistikasi oxirgi suratdan keyingi to‘planishni aks ettiradi. Tez o'zgaruvchan ish yuklari har bir yangilashda turli naqshlarni ko'rsatishi mumkin.
9. Faoliyatni kuzatishning ilg'or usullari
Tajribali ma'lumotlar bazasi ma'murlari maksimal diagnostika qiymatini olish uchun Activity Monitor-dan murakkab usullarda foydalanadilar.
9.1 Ildiz sabablarini tahlil qilish uchun bir nechta panellarni birlashtirish
Faoliyat monitorining haqiqiy kuchi murakkab ishlash muammolarini tushunish uchun bir nechta panellar bo'ylab ma'lumotlarni o'zaro bog'laganingizda paydo bo'ladi.
9.1.1 Kutishlarni jarayonlar bilan bog'lash
Resurs kutishlari paneli toifadagi yuqori kutish vaqtlarini ko‘rsatsa, bu kutishlar qaysi seanslarda yuz berayotganini aniqlash uchun Jarayonlar panelidan foydalaning:
- Yuqori jami kutish vaqtiga ega kutish toifasiga e'tibor bering (masalan, "Qulflash").
- Jarayonlar paneliga o'ting.
- Saralash turi Kutish turi Seanslarni hozirgi kutishlari bo'yicha guruhlash.
- Muammoli toifadagi kutish turlarini ko'rsatadigan seanslarni qidiring.
- Ushbu sessiyalar uchun ni ko'rib chiqing Resursni kuting qaysi ma'lumotlar bazasi ob'ektlari ishtirok etishini ko'rish uchun ustun.
- O'ng tugmasini bosing va tanlang Tafsilotlar so'rov matnini ko'rish uchun.
Bu korrelyatsiya “bizda qulfni kutishimiz bor”dan “bu maxsus soʻrov ushbu jadvalda qulflarni kutmoqda”ga oʻtishga yordam beradi.
9.1.2 Qimmat so'rovlarni kiritish/chiqarish masalalariga bog'lash
Ma'lumotlar fayli kiritish-chiqarish paneli ma'lum bir ma'lumotlar bazasida yuqori disk faolligini ko'rsatsa:
- Qaysi ma'lumotlar bazasi fayllari yuqori MB/sek o'qish yoki yozish tezligiga ega ekanligiga e'tibor bering.
- Oxirgi qimmat so'rovlarga o'ting.
- Saralash turi Jismoniy o'qishlar/sek diskdan og'ir o'qiladigan so'rovlarni aniqlash uchun.
- Yuqori kiritish/chiqarish bilan maʼlumotlar bazasiga qarshi ishlaydigan soʻrovlarni filtrlang yoki vizual tarzda aniqlang.
- Jadvalni skanerlash yoki haddan tashqari kiritish-chiqarishni keltirib chiqaradigan etishmayotgan indekslar uchun ushbu so'rovlarni bajarish rejalarini ko'rib chiqing.
Ushbu ko'p panelli tahlil simptomlarni (yuqori diskdagi I/U) sabablar (aniq samarasiz so'rovlar) bilan bog'laydi.
9.2 Imkoniyatlarni rejalashtirish uchun faoliyat monitoridan foydalanish
Faoliyat monitori tarixiy ma'lumotlarni saqlamasa-da, siz undan imkoniyatlarni rejalashtirish kuzatuvlari uchun strategik jihatdan foydalanishingiz mumkin.
9.2.1 Eng yuqori foydalanish namunalarini aniqlash
Foydalanish usullarini aniqlash uchun kunning turli vaqtlarida server faoliyatini kuzatib boring:
- Ma'lum bo'lgan eng yuqori ish soatlarida Faoliyat monitorini oching.
- % Protsessor vaqti grafigining eng yuqori qiymatlariga e'tibor bering.
- Maksimal kutish vazifalari sonini yozib oling.
- Ommaviy so'rovlarga rioya qiling/sek.
- Jarayonlar panelida eng band ma'lumotlar bazalarini hujjatlashtiring.
- Taqqoslash uchun pik soatlarda takrorlang.
Agar protsessorning eng yuqori soatlik vaqti doimiy ravishda 80% dan oshsa, siz protsessor sig'im chegaralariga yaqinlashasiz. Shunga o'xshab, kutish soni ortib borayotgani manbalar nizosining kuchayishini ko'rsatadi.
9.2.2 Resurs tendentsiyasini tahlil qilish
Faoliyat monitori joriy holatni ko'rsatsa-da, vaqt o'tishi bilan asosiy ko'rsatkichlarni yozib olish orqali trendni aniqlash uchun foydalanishingiz mumkin:
- Har kuni bir vaqtning o'zida Umumiy ko'rish panelining skrinshotlarini oling
- Har bir grafikdan eng yuqori qiymatlarni yozib oling
- O'sish tendentsiyalarini aniqlash uchun haftadan haftaga solishtiring
- O'rtacha protsessor vaqti yoki kirish/chiqarish tezligining asta-sekin o'sishiga e'tibor bering
Ushbu qo'llanma trendi yanada murakkab monitoring echimlarini to'ldiradi va imkoniyatlarni kengaytirishni asoslashga yordam beradi.
9.3 Ishlashning asosiy ko'rsatkichlarini hujjatlashtirish
Asosiy samaradorlik ko'rsatkichlarini o'rnatish unumdorlik qachon pasayganini aniqlashga yordam beradi.
9.3.1 Asosiy ko'rsatkichlarni olish
Ma'lum yaxshi ko'rsatkichlar davrida Faoliyat Monitori ko'rsatkichlarini hujjatlashtiring:
- Oddiy biznes operatsiyalari paytida Faoliyat monitorini oching (cho'qqi yoki yuqori emas).
- Yozuvlarni ko'rib chiqish paneli qiymatlari:
- Odatda % Protsessor vaqti diapazoni
- O'rtacha kutish vazifalari soni
- Oddiy ma'lumotlar bazasi kirish/chiqarish tezligi
- Odatdagi ommaviy so'rovlar/sek
- Eslatma Resurs kutishlari panelidagi eng ko'p kutish vaqtini ko'rsatadigan toifalar.
- Odatda Jarayonlar panelida faol jarayonlar sonini hujjatlang.
- Oxirgi qimmat soʻrovlardan vakili soʻrovlar bajarilishi koʻrsatkichlarini yozib oling.
Ishlash muammolarini tekshirishda ushbu asosiy hujjatlarni kelajakda foydalanish uchun saqlang.
9.3.2 Hozirgi va asosiy ko'rsatkichlarni solishtirish
Ishlash bilan bog'liq muammolar yuzaga kelganda, joriy Faoliyat monitori ko'rsatkichlarini hujjatlashtirilgan asosiy ko'rsatkich bilan solishtiring:
- Protsessor vaqti asosiy vaqtdan ancha yuqorimi? Protsessor talab qiladigan so'rovlarga e'tibor qarating.
- Kutish vazifalari 2-3x boshlang'ich darajadami? Resurs kutishlarini o'rganing.
- I/U sezilarli darajada yuqorimi? Ma'lumotlar fayli kirish/chiqarish panelini va qimmat so'rovlarni tekshiring.
- Ommaviy so'rovlar eng yuqori soatlarda boshlang'ich qiymatdan pastmi? Bloklash yoki ulanish bilan bog'liq muammolarni qidiring.
Ushbu taqqoslash sizga nima o'zgarganligini aniqlashga va muammolarni bartaraf etishga qaratilgan harakatlarni to'g'ri yo'naltirishga yordam beradi.
9.4 Maxsus monitoring ish oqimlarini yaratish
To'liq, takrorlanadigan tahlilni ta'minlash uchun umumiy tergov stsenariylari uchun tizimli ish oqimlarini ishlab chiqing.
9.4.1 Bosqichma-bosqich tekshirish jarayoni
Foydalanuvchilar ishlash muammolari haqida xabar berganda, izchil ish jarayoniga rioya qiling:
- Tez tibbiy tekshiruv: Faoliyat monitorini oching va aniq anomaliyalar uchun Umumiy ko'rish paneli grafiklarini skanerlang.
- Bloklashni tekshiring: Jarayonlar panelini kengaytiring, Bloklangan ustundagi bo'sh bo'lmaganlar uchun filtr.
- Resurs ziddiyatini aniqlang: Resursni ko‘rib chiqish kutishlar paneli kutish vaqti bo‘yicha tartiblangan.
- Qimmatbaho so'rovlarni toping: CPU bo'yicha tartiblangan so'nggi qimmat so'rovlarni ko'rib chiqing, keyin bajarilishlar, keyin o'qiladi.
- I/U naqshlarini o'zaro bog'lash: Ma'lumotlar fayli kiritish-chiqarish paneli faolligi bilan o'zaro mos yozuvlar qimmat so'rovlar.
- Hujjat natijalari: Skrinshot oling va tegishli seans identifikatorlarini, kutish turlarini va so'rov tafsilotlarini yozib oling.
- Chuqur sho'ng'in: Aniqlangan muammolarni batafsil tekshirish uchun Profiler izlari, ijro rejasi tahlili va DMV so'rovlaridan foydalaning.
9.4.2 Eskalatsiya mezonlari
Tergovni davom ettirish bilan bog'liq muammolarni qachon kuchaytirish kerakligi mezonlarini belgilang:
- Darhol oshiring: 5 daqiqadan ortiq davom etadigan zanjirlarni blokirovka qilish, >2 daqiqa davomida 100% protsessor vaqti, TO'XTIRISH holatini ko'rsatadigan muhim tizim jarayonlari.
- Tahlil bilan oshirish: 50% protsessorni iste'mol qiladigan takrorlanadigan qimmat so'rovlar, doimiy yuqori kiritish-chiqarish javob vaqtlari > 50ms, xotira grantlari qayta-qayta ishlamay qoladi.
- Batafsil o'rganing: Vaqtinchalik kutishlar bir necha daqiqa ichida hal bo'ldi, rejalar optimal emas, lekin maqbul ishlashga ega so'rovlar, kichik blokirovka <30 soniya davom etdi.
10. Turli xildagi faoliyat monitori SQL Server versiyalari
Faoliyat monitori keng tarqaldi SQL Server versiyalar, har bir nashrda yaxshilanishlar va vaqti-vaqti bilan yangi muammolar mavjud.
10.1 Faoliyat monitori SQL Server 2008 va undan keyingi versiyalar
SQL Server 2008 yilda bugungi kunda deyarli o'zgarmagan zamonaviy Activity Monitor dizayni taqdim etildi.
10.1.1 ta yangi xususiyat kiritilgan SQL Server 2008
The SQL Server 2008 Faoliyat monitorining qayta dizayni sezilarli yaxshilanishlarni olib keldi:
- Umumiy ko'rinish panelida real vaqt jadvallari bilan grafik asboblar paneli
- Eski faqat tarmoq ko'rinishini almashtiradigan kengaytiriladigan/yiqiladigan panel interfeysi
- Umumiy so'rovlar samaradorligi ma'lumotlarini ko'rsatadigan oxirgi qimmat so'rovlar paneli
- Har bir fayl disk faoliyatini nazorat qilish uchun ma'lumotlar fayli kiritish/chiqarish paneli
- Kutish toifalari bilan kengaytirilgan Resurs Kutishlar paneli
- Seanslarni o'chirish va Profilerni ishga tushirish kabi jarayonlar uchun kontekst menyusini o'ng tugmasini bosing
- 1 soniyadan 1 soatgacha sozlanishi mumkin bo'lgan yangilash intervallari
Ushbu o'zgarishlar Faoliyat monitorini oddiy jarayonlar ro'yxatidan keng qamrovli monitoring paneliga aylantirdi.
10.1.2 dan o'zgarishlar SQL Server 2005
SQL Server 2005 yildagi faoliyat monitori ancha cheklangan edi:
- Asboblar paneli emas, balki Object Explorer-dagi Boshqaruv papkasi orqali kirish mumkin
- Asosiy ma'lumotlarga ega jarayonlar ro'yxatini ko'rsatadigan yagona panjara
- Grafik diagrammalar yoki bir nechta panellar yo'q
- Qimmatbaho so'rovlar yoki I/U monitoringi yo'q
- Cheklangan kutish statistikasi ma'lumotlari
2008 yilgi qayta loyihalash bosqichma-bosqich takomillashtirish emas, balki to'liq qayta ko'rib chiqishni ifodaladi.
10.2 Faoliyat monitori SQL Server 2014/2016
SQL Server 2014 va 2016-yillarda Activity Monitor-ning asosiy ma'lumotlar to'plamida qo'shimcha yaxshilanishlar amalga oshirildi, ammo vizual o'zgarishlar kam.
10.2.1 Yaxshilash va takomillashtirish
Ushbu versiyalardagi asosiy yaxshilanishlarga quyidagilar kiradi:
- Minglab keshlangan rejalar bilan serverlarni kuzatishda yaxshi ishlash
- Jarayonlar panelida yaxshilangan filtrlash imkoniyatlari
- Kutish statistikasini jamlashning aniqligi yaxshilandi
- Katta natijalar to'plami bilan ustunlarni saralash va filtrlashni yaxshiroq boshqarish
- Monitoring xarajatlarini kamaytiradigan samaraliroq DMV so'rovlari
Asosiy interfeys bilan izchil bo'lib qoldi SQL Server 2008, ma'murlar uchun tanishlikni saqlab qolish.
10.3 Faoliyat monitori SQL Server 2019/2022
yaqindagi SQL Server versiyalari ishlash va barqarorlikka e'tibor qaratgan holda Activity Monitor evolyutsiyasini davom ettiradi.
10.3.1 Eng so'nggi xususiyatlar va imkoniyatlar
SQL Server 2019 va 2022 Faoliyat monitoriga quyidagilar kiradi:
- Ushbu versiyalarda taqdim etilgan yangi kutish turlarini qo'llab-quvvatlash
- WPF texnologiyasidan foydalangan holda SSMSda renderlash samaradorligi yaxshilandi
- Ko'p sonli faol seanslarni yaxshiroq boshqarish
- Bulutli SQL platformalari bilan yaxshilangan muvofiqlik
- Aniqroq protsessor va kiritish-chiqarish ko'rsatkichlari
10.3.2 So'nggi versiyalardagi ma'lum muammolar
SQL Server 2019-yilda Faoliyat monitorining bir nechta xatolari joriy etildi:
- Doimiy pauza holati: Faoliyat monitori tez-tez pauza holatiga kiradi va davom etmaydi, ayniqsa SSMS 18.0-18.3 da. SSMSning keyingi versiyalarida tuzatildi.
- Masofaviy ulanishda nosozliklar: Ba'zi konfiguratsiyalar Faoliyat monitorining masofaviy nusxalarda ochilishiga to'sqinlik qiladi. Vaqtinchalik echimlar ma'lum kuzatuv bayroqlarini yoqish yoki yangi SSMS tuzilmalaridan foydalanishni o'z ichiga oladi.
- Ruxsat muammolari: Yangi tizim koʻrinishlari aniq hujjatlashtirilmagan qoʻshimcha ruxsatlarni talab qiladi, bu esa hatto VIEW SERVER STATE da boʻsh displeylarni keltirib chiqaradi.
U bilan ishlashda har doim eng so'nggi SSMS versiyasidan foydalaning SQL Server Ushbu muammolarni oldini olish uchun 2019 va 2022.
11. Amaliy foydalanish holatlari va misollar
Haqiqiy misollar muammoni hal qilishning keng tarqalgan stsenariylarida Activity Monitorni qanday samarali qo'llashni ko'rsatadi.
11.1 Case Study: sekin veb-ilovani diagnostikasi
Dasturchilar guruhining xabar berishicha, ularning veb-ilovasi qabul qilib bo'lmaydigan darajada sekinlashdi, sahifa yuklanishi odatdagi 2-3 soniya o'rniga 20-30 soniyani oladi.
11.1.1 Umumiy ko'rinish paneli bilan dastlabki tergov
Faoliyat monitorini oching va Umumiy ko'rinish panelini ko'rib chiqing:
- % Protsessor vaqti grafigi 85-95% protsessordan foydalanishni ko'rsatadi, bu oddiy 30-40% boshlang'ich qiymatdan sezilarli darajada yuqori.
- Kutish vazifalari 10-20 ta vazifa orasida oʻzgarib turadi, oddiy boshlangʻich 0-3.
- Ma'lumotlar bazasi kiritish/chiqarish 50 MB/s atrofida o'rtacha faollikni ko'rsatadi.
- Ommaviy soʻrovlar/sek. ish soatlaridagi odatdagi 300-400/sek.ga nisbatan 100/sek tezlikda kutilganidan pastroq.
Ushbu naqsh protsessorning tor bo'yida resurs ixtilofi tufayli o'tkazish qobiliyatining pasayishiga olib keladi. Server qattiq ishlayapti, lekin ko'p so'rovlarni bajarmayapti.
11.1.2 Muammoli so'rovni aniqlash
Oxirgi qimmat so'rovlar panelini kengaytiring va ijrolar/daqiqa bo'yicha tartiblang:
- Yuqori so'rov daqiqada 15 000 ta ijroni ko'rsatadi.
- O'ng tugmasini bosing va tanlang So'rov matnini tahrirlash so'rovni tekshirish uchun.
- So'rov bitta foydalanuvchi yozuvini oladigan oddiy SELECT bayonotidir:
SELECT * FROM Users WHERE UserId = @UserId. - Oddiy dasturdan foydalanish uchun bu so'rov daqiqada 15 000 marta bajarilmasligi kerak.
So'rovni o'ng tugmasini bosing va tanlang Amalga oshirish rejasini ko'rsatish. Rejada UserId ustunida etishmayotgan indeks haqida ogohlantirish bilan Foydalanuvchilar jadvalidagi jadvalni skanerlash ko'rsatilgan.
Faqat veb-ilovaning ulanishlarini ko'rsatish uchun Jarayonlar panelini Ilova bo'yicha filtrlang. Bir nechta seanslar bir xil so'rovning takroriy ishlashini ko'rsatadi.
11.1.3 Rezolyutsiya va tekshirish
Muammo ikkita muammodan kelib chiqadi: so'rovlarning haddan tashqari bajarilishi va etishmayotgan indeks. Yechim bosqichlari:
- Yo'qolgan indeksni yarating:
CREATE NONCLUSTERED INDEX IX_Users_UserId ON Users (UserId); - Rivojlanish guruhiga murojaat qiling haddan tashqari qatl qilish haqida. Tekshiruv dastur kodida N+1 so'rov muammosini aniqladi, bunda tsikl ro'yxatdagi har bir element uchun foydalanuvchi ma'lumotlarini oladi.
- Ilovani o'zgartiring IN bandi yoki jadval qiymatli parametr yordamida foydalanuvchi qidiruvlarini bitta so'rovga to'plash uchun.
- Tuzatishni tasdiqlang joylashtirishdan keyin Faoliyat monitorini kuzatish orqali. Protsessordan foydalanish 35-40% gacha kamayadi, daqiqada bajarilishlar 200-300 gacha kamayadi va ilovalarga javob berish vaqtlari normal holatga qaytadi.
11.2 Vaziyatni o'rganish: Bloklash muammosini hal qilish
Foydalanuvchilarning xabar berishicha, buyurtmani kiritish tizimi normal ishlashni davom ettirishdan oldin vaqti-vaqti bilan 30-60 soniya davomida muzlaydi.
11.2.1 Bloklash zanjirini aniqlash
Ushbu muzlatish hodisalaridan birida Faoliyat monitorini oching va Jarayonlar panelini kengaytiring:
- Saralash turi Seans identifikatori tashkil etilgan barcha sessiyalarni ko'rish uchun.
- Bir nechta seanslar qiymatlarni ko'rsatadi Bloklangan ustun, barchasi sessiya ID 73 ga ishora qiladi.
- 73-sessiyada "1" ko'rsatilgan Bosh bloker ustun, bu asosiy sabab ekanligini tasdiqlaydi.
- The Kutish turi bloklangan seanslar uchun LCK_M_X ni ko'rsatadi, bu ular eksklyuziv qulflarni kutishlarini bildiradi.
- The Resursni kuting ustun Buyurtmalar jadvalida blokirovka ekanligini ko'rsatadi.
11.2.2 Sababni tahlil qilish
73-sessiyani o'ng tugmasini bosing va tanlang Tafsilotlar buyruqni ko'rish uchun:
UPDATE Orders
SET Status = 'Processing',
LastModified = GETDATE()
WHERE OrderId IN (SELECT OrderId FROM #TempOrders);
Ushbu yangilanish har soatda ishlaydigan ommaviy ishlov berish ishining bir qismidir. Tekshirish Kirish ustuni seansning ommaviy ishlov berish xizmati hisobiga tegishli ekanligini tasdiqlaydi.
So'rov minglab buyurtmalarni qayta ishlash paytida Buyurtmalar jadvalida qulflarni ushlab turadi. The Vaqtni kuting bloklangan seanslar doimiy ravishda oshib bormoqda, bu uzoq davom etadigan operatsiya muammo ekanligini tasdiqlaydi.
11.2.3 Tuzatishni amalga oshirish
Qisqa muddatli yechim:
- Hujjat sessiyasi 73 tafsilotlari, shu jumladan so'rov matni va davomiyligi.
- Yangilanishning tabiiy ravishda tugallanishiga ruxsat bering, chunki u qonuniy ommaviy qayta ishlanadi.
- Tugatgandan so'ng, bloklangan seanslar tozalanganligini va normal operatsiyalar davom etishini tekshiring.
Amalga oshirilgan uzoq muddatli yechimlar:
- To'plam ishini qayta rejalashtirish gavjum bo'lmagan soatlarda (ish vaqti o'rniga 2-4 soat) ishlash uchun.
- Ommaviy ishlov berishni o'zgartiring bir vaqtning o'zida 100 ta yozuvdan iborat kichikroq partiyalarda buyurtmalarni yangilash, partiyalar orasidagi qulflarni bo'shatish.
- Indeks qo'shing yangilash jarayonini tezlashtirish uchun OrderId ustunida.
- SNAPSHOT izolyatsiyasini ko'rib chiqing blokirovka ta'sirini kamaytirish uchun o'qish operatsiyalari uchun.
11.3 Case Study: Haddan tashqari so'rovlar bajarilishini aniqlash
Ma'lumotlar bazasi monitoringi shuni ko'rsatadiki, o'tgan oy davomida protsessordan foydalanish asta-sekin o'sib bormoqda, ammo dastur kodida aniq o'zgarishlar yuz bermagan.
11.3.1 Anormal bajarilish sonlarini aniqlash
Faoliyat monitorini oching va so'nggi qimmat so'rovlar panelini ko'rib chiqing:
- Saralash turi Qatl etishlar/min eng tez-tez bajariladigan so'rovlarni ko'rish uchun.
- Yuqori so'rov daqiqada 37 000 ta bajarilishni ko'rsatadi - bu boshqa so'rovlardan ancha yuqori.
- O'ng tugmasini bosing va tanlang So'rov matnini tahrirlash.
- So'rov mahsulot toifasi haqidagi ma'lumotlarni oladi:
SELECT CategoryId, CategoryName FROM ProductCategories WHERE CategoryId = @CategoryId; - Ushbu oddiy so'rov tez va keshlangan bo'lishi kerak, lekin u daqiqada o'n minglab marta bajariladi.
11.3.2 Ilova kodini kuzatish
Jarayonlar panelida ushbu so'rovni bajaruvchi seanslarni toping:
- Eslatma ariza ustunda "ProductCatalogService" ko'rsatilgan.
- Ushbu seanslardan birini o'ng tugmasini bosing va tanlang Jarayonni kuzatish SQL Server Profil.
- SQL Profiler so'rovning turli CategoryId qiymatlari bilan ketma-ket ketma-ket bajarilishini ko'rsatadi.
- Kodni ko'rib chiqish uchun ProductCatalogService boshqaruvchi ishlab chiqish guruhi bilan bog'laning.
Kodni ko'rib chiqish muammoni ochib beradi: so'nggi o'zgartirish toifalar bilan mahsulot ro'yxatini oladi. Natijalar to'plamidagi har bir mahsulot uchun (ko'pincha 1,000 dan ortiq mahsulot) kod kategoriya ma'lumotlarini olish uchun alohida ma'lumotlar bazasi chaqiruvini amalga oshiradi - klassik N+1 so'rov muammosi.
11.3.3 Ilovani optimallashtirish
To'g'ri tuzatishni amalga oshiring:
- Ilova so'rovini o'zgartiring yagona ma'lumotlar bazasi chaqiruvida JOIN olish mahsulotlari va ularning toifalaridan foydalanish uchun:
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; - Yangilangan kodni joylashtiring va Faoliyat monitorini kuzatib boring.
- Tuzatishni tekshiring: Turkum so'rovi bo'yicha daqiqada bajarilish soni 37 000 dan 100 gacha kamayadi va umumiy protsessordan foydalanish 40% ga kamayadi.
- O'rganilgan darsni hujjatlashtiring va kelajakdagi kod o'zgarishlarida shunga o'xshash muammolarni oldini olish uchun ishlab chiqish guruhi bilan baham ko'ring.
12. Ma'lumotlar bazasining potentsial buzilishini aniqlash
Faoliyat monitori ma'lumotlar bazasining buzilishini aniqlash uchun maxsus ishlab chiqilmagan bo'lsa-da, uning ekranidagi ayrim naqshlar qo'shimcha tekshirishni talab qiladigan asosiy korruptsiya muammolarini ko'rsatishi mumkin.
12.1 Ma'lumotlar bazasining potentsial buzilishining belgilari
Agar ma'lumotlar bazasi buzilgan bo'lsa va unga kirish imkoni bo'lsa, vaqti-vaqti bilan quyidagilarni ko'rishingiz mumkin:
1. Jarayonlar panelida:
- Seanslar noodatiy kutish turlari bilan toʻxtatilgan holatda qoldi
- Xato holatlarini ko'rsatadigan jarayonlar
- So'rovlar qayta-qayta bajarilmaydi
2. Resurs kutish panelida:
- Diskdagi muammolarni ko'rsatishi mumkin bo'lgan kiritish-chiqarish bilan bog'liq noodatiy kutish turlari (garchi bu mantiqiy buzilishdan ko'ra apparat muammolarini ko'rsatishi mumkin)
3. Oxirgi qimmat so'rovlarda:
- Agar ular qayta-qayta buzilgan sahifalarni o'qishga urinayotgan bo'lsa, g'ayritabiiy darajada yuqori jismoniy o'qishga ega so'rovlar
12.2 DBCC CHECKDB bilan keyingi tekshirish
Faoliyat monitori potentsial korruptsiyani ko'rsatadigan alomatlarni ko'rsatsa, ma'lumotlar bazasi yaxlitligini tekshirish uchun darhol DBCC CHECKDB dasturini ishga tushirishingiz kerak. Ushbu buyruq barcha ma'lumotlar bazasi sahifalarini skanerlaydi, nazorat summalarini tasdiqlaydi va mantiqiy izchillik xatolarini tekshiradi.
Ma'lumotlar bazasidagi buzilishlarni tekshirish va tuzatish uchun DBCC CHECKDB dan qanday foydalanish haqida ko'proq ma'lumot olish uchun bizning sahifamizga qarang DBCC CHECKDB bo'yicha keng qamrovli qo'llanma.
12.3 Professional asboblar bilan ta'mirlash
Agar DBCC CHECKDB ma'lumotlar bazasi buzilganligini tasdiqlasa, sizda tuzatish uchun bir nechta variant mavjud:
- Ma'lum bo'lgan yaxshi zaxiradan tiklash afzalroq yondashuv. Qarang zaxira nusxasini yaratish va tiklash bo'yicha keng qamrovli qo'llanmamiz SQL Server Ma'lumotlar bazalari.
- Kichik buzilishlar uchun REPAIR_REBUILD bilan DBCC CHECKDB muammolarni hal qilishi mumkin.
- So'nggi zaxira nusxalarisiz muhim ma'lumotlar bazalari uchun professional SQL tiklash dasturi va xizmatlar ko'pincha o'rnatilgan ta'mirlash opsiyalari qila olmaydigan ma'lumotlarni qayta tiklashi mumkin.
13. Xulosa
SQL Server Faoliyat monitori ma'lumotlar bazasi ma'murlari uchun bebaho vosita bo'lib, server ishlashi haqida darhol ma'lumot beradi va muammolarni tez va samarali diagnostika qilishga yordam beradi.
13.1 Asosiy fikrlarning qisqacha mazmuni
Ushbu qo'llanma davomida biz Faoliyat monitori sizga qanday qilib muammolarni tushunish va bartaraf etishda yordam berishini o'rganib chiqdik SQL Server ishlash:
- Faoliyat monitori uyushgan grafik interfeys orqali jarayonlar, kutishlar, so'rovlar va kiritish-chiqarishning real vaqt rejimida ko'rinishini ta'minlaydi.
- Beshta panel - Umumiy ko'rinish, Jarayonlar, Resurs kutishlari, Ma'lumotlar fayli kiritish-chiqarish va so'nggi qimmat so'rovlar - har biri server faoliyatining o'ziga xos istiqbollarini taklif qiladi.
- Haddan tashqari so'rovlarni bajarish, zanjirlarni blokirovka qilish va yuqori protsessordan foydalanish kabi muammolarni bartaraf etishning umumiy stsenariylarini tizimli Faoliyat monitori tekshiruvi bilan boshqarish mumkin bo'ladi.
- Kuchli bo'lishiga qaramay, Activity Monitor qo'llanilishiga ta'sir qiluvchi tarixiy ma'lumotlarning yo'qligi, kutish turlarini guruhlash va monitoring qilishning qo'shimcha xarajatlari kabi cheklovlarga ega.
- Faoliyat monitorini DMV so'rovlari, sp_WhoIsActive, kengaytirilgan hodisalar va potentsial uchinchi tomon vositalari bilan to'ldirish keng qamrovli monitoring strategiyasini yaratadi.
- Yangilash intervallari bo'yicha eng yaxshi amaliyotlarga rioya qilish, foydalanilmayotganda Faoliyat monitorini yopish va korrelyatsiya uchun bir nechta panellarni birlashtirish uning qiymatini maksimal darajada oshiradi va ta'sirni kamaytiradi.
13.2 Faoliyat monitori asboblar to'plamining bir qismi sifatida
Faoliyat monitori sizning yagona vositangiz emas, balki ishlashni tekshirish uchun birinchi javob vositangiz bo'lishi kerak. Uning kuchi faol nosozliklarni bartaraf etishda darhol ko‘rinishni ta’minlashda, ma’lumotlar bazasining muammoli yoki yo‘qligini tezda aniqlashga va qaysi aniq jihatlarni chuqurroq o‘rganish kerakligini aniqlashga yordam beradi.
Faoliyat monitorini avtomobilingizdagi asboblar paneliga o'xshash deb o'ylab ko'ring - u biror narsa noto'g'ri bo'lsa, darhol sizga xabar beradi va tashvishlanishning umumiy sohasini aniqlashga yordam beradi. Avtomobilingizning asboblar panelida tekshirish dvigateli chirog‘i nima uchun yonayotganini aniq ko‘rsatmaganidek, Faoliyat monitori ham har doim ularning asosiy sababini ko‘rsatmasdan, sizni muammolarga yo‘naltiradi. Bunday chuqurroq tahlil qo'shimcha vositalar va tajribani talab qiladi.
Faoliyat monitorini ijro rejasini tahlil qilish, kutish statistikasini kuzatish, tarixiy monitoring yechimlari va ishlashning eng yaxshi amaliyotlarini o'z ichiga olgan kengroq asboblar to'plamiga integratsiyalash. Uni to'g'ri indekslash strategiyalari, so'rovlarni optimallashtirish usullari va imkoniyatlarni rejalashtirish bilan birgalikda foydalaning.
13.3 O'quv sayohatingizni davom ettirish
Faoliyat monitorini o'zlashtirish samarali ma'lumotlar bazasi ma'muri bo'lishning bir qadamidir. O'z mahoratingizni oshirishda davom eting:
- Ijro rejalarini sharhlashni va samarasiz operatsiyalarni aniqlashni o'rganish
- tushunadigan SQL Server kutish statistikasi va ularning oqibatlari
- Indekslarni loyihalash va optimallashtirish usullarini o'rganish
- Izlanish SQL Serverning arxitekturasi va so'rovlarni qanday qayta ishlashi
- Tizimli muammolarni bartaraf etish usullarini qo'llash
- Batafsil kuzatuv uchun kengaytirilgan hodisalar bilan tajriba yaratish
- Tranzaksiya izolyatsiyasi darajalari va ularning ishlashga ta'sirini tushunish
Faoliyat monitori yordamida har bir ish faoliyatini tekshirish sizga qanday qilib yangi narsalarni o'rgatadi SQL Server ishlaydi va ilovalar ma'lumotlar bazalari bilan qanday o'zaro ta'sir qiladi. Topilmalaringizni hujjatlashtiring, bilimlaringizni hamkasblar bilan baham ko'ring va keng tarqalgan muammolar uchun yechimlar kutubxonasini yarating.
13.4 Qo'shimcha manbalar
Ushbu qimmatli manbalar bilan bilimingizni kengaytiring:
- Faoliyat monitorini oching SQL Server Management Studio (SSMS)
: rasmiy SQL Server Faoliyat monitorini qanday ochish kerakligi haqidagi hujjatlar SQL Server Menejment studiyasi (SSMS).
- Faoliyat monitoringi
: Rasmiy SQL Server Faoliyat monitoridan qanday foydalanish haqida hujjat.
14. Tez-tez so'raladigan savollar (FAQ)
Savol: Bu nima? SQL Server Faoliyat monitori?
A: SQL Server Faoliyat monitori o'rnatilgan vositadir SQL Server a da ishlaydigan jarayonlar haqida real vaqtda ma'lumotlarni ko'rsatadigan Management Studio SQL Server misol va ularning server resurslariga ta'siri. U server faoliyatining turli jihatlarini, jumladan protsessordan foydalanish, kutish vazifalari, kiritish/chiqarish tezligi, faol seanslar va qimmat so‘rovlarni ko‘rsatadigan besh panelli grafik asboblar panelini taqdim etadi.
Savol: SSMS da Faoliyat monitorini qanday ochish mumkin?
Javob: Faoliyat monitorini to‘rtta usul yordamida ochishingiz mumkin: (1) SSMS asboblar panelidagi Faoliyat monitori belgisini bosing, (2) o‘ng tugmasini bosing. SQL Server Object Explorer-da misol nomini tanlang va tanlang Faoliyat monitoringi, (3) bosing Ctrl + Alt + A, yoki (4) orqali avtomatik ravishda ishga tushirish uchun SSMS ni sozlang Asboblar -> Options -> Atrof-muhit -> Startup.
Savol: Faoliyat monitoridan foydalanish uchun qanday ruxsatlar kerak?
Javob: Sizga kerak SERVER HOLATINI KO‘RISH Faoliyat monitorining aksariyat ma'lumotlarini ko'rish uchun ruxsat. Ma'lumotlar fayli kirish/chiqish paneli uchun sizga quyidagilar ham kerak: Ma'lumotlar bazasini yaratish, HAR QANDAY MA'LUMOT BAZASINI O'ZGARTIRINGyoki HAR QANDAY TA'RIFNI KO'RISH ruxsatlar. Ushbu ruxsatlarsiz Faoliyat monitori ochilishi mumkin, ammo bo'sh panellarni ko'rsatishi mumkin.
Savol: Nima uchun Faoliyat monitorim to‘xtatildi yoki ishlamayapti?
Javob: Faoliyat monitori odatda ruxsat berish muammolari, eskirgan SSMS versiyalari yoki o‘chirilgan masofaviy ulanishlar tufayli pauza qiladi. Yechish uchun: (1) SSMSning soʻnggi versiyasiga yangilang, (2) SERVER STATE KOʻRISHiga ruxsatingiz borligini tekshiring, (3) masofaviy ulanishlar yoqilganligini tekshiring. SQL Server misol, (4) SSMSni qayta ishga tushiring va (5) Agar mavjud bo'lsa, SQL autentifikatsiyasi o'rniga Windows autentifikatsiyasi bilan ulanishni sinab ko'ring.
Savol: Activity Monitor va sp_WhoIsActive o'rtasidagi farq nima?
Javob: Faoliyat monitori - bu SSMS-ga o'rnatilgan grafik vosita bo'lib, turli monitoring jihatlari uchun uyushgan panellarni taqdim etadi. sp_WhoIsActive - bu hamjamiyat tomonidan yaratilgan bepul saqlanadigan protsedura bo'lib, u faollik monitoriga qaraganda aniqroq kutish turlari, bloklash tafsilotlari va sozlash opsiyalari bilan bitta natijalar to'plamida batafsil sessiya ma'lumotlarini qaytaradi. Faoliyat monitori vizual tadqiqotlar uchun yaxshiroqdir, sp_WhoIsActive esa skriptli monitoringda ustunlik qiladi va batafsil ma'lumot beradi.
Savol: Faoliyat monitori server ishiga ta'sir qiladimi?
Javob: Ha, Faoliyat monitorida oʻlchash mumkin boʻlgan qoʻshimcha xarajatlar bor, chunki u har bir yangilash oraligʻida tizim DMVlarini soʻraydi. Ta'sir pastroq yangilanish tezligi bilan ortadi - Microsoft 10 soniyadan past bo'lgan intervallar server ishlashiga ta'sir qilishi mumkinligi haqida ogohlantiradi. Faol foydalanmayotganda har doim Faoliyat monitorini yoping va og'ir yuk ostida ishlab chiqarish serverlarida 30-60 soniya yangilanish oralig'ini hisobga oling.
Savol: T-SQL yordamida Faoliyat monitori ma'lumotlarini olsam bo'ladimi?
Javob: Ha, Faoliyat monitori sys.dm_exec_requests, sys.dm_exec_sessions, sys.dm_os_wait_stats va sys.dm_exec_query_stats kabi tizim dinamik boshqaruv ko‘rinishlarini so‘raydi. Siz ushbu DMV-larni T-SQL yordamida to'g'ridan-to'g'ri so'rashingiz mumkin, bu esa maxsus monitoring skriptlarini va avtomatlashtirilgan ma'lumotlarni yig'ish imkonini beradi.
Savol: Standart yangilanish oralig'i nima?
Javob: Standart yangilash oralig'i 10 soniya. Buni Umumiy koʻrish panelidagi istalgan joyni oʻng tugmasini bosib, tanlash orqali oʻzgartirishingiz mumkin Intervalni yangilash, va oldindan belgilangan variantlardan tanlash: 1 soniya, 5 soniya, 10 soniya, 30 soniya, 1 daqiqa yoki 1 soat. Pastroq intervallar real vaqt rejimida ko'proq ko'rish imkonini beradi, lekin monitoring xarajatlarini oshiradi.
Savol: SSMS ishga tushirilganda Activity Monitorni avtomatik ravishda qanday ochishim mumkin?
Javob: SSMS opsiyalari orqali avtomatik ishga tushirishni sozlang: Quyidagiga o‘ting Asboblar -> Options -> Atrof-muhit -> Startupni tanlang, so'ng tanlang Ob'ekt Explorer va Faoliyat monitorini oching dan Ishga tushirishda ochiladigan ro'yxat. Faoliyat monitori har safar SSMS serveriga ulanganingizda avtomatik ravishda ochiladi.
Savol: Faoliyat monitorining cheklovlari qanday?
Javob: Asosiy cheklovlarga quyidagilar kiradi: (1) Tarixiy maʼlumotlarni saqlash yoki trendga chiqish imkoniyatlari yoʻq, (2) Kutish turlari maxsus koʻrsatilgandan koʻra toifalarga boʻlingan, (3) CXPACKET kabi baʼzi kutish turlari koʻrinmasligi mumkin, (4) Vaqtinchalik oniy suratlar vaqtinchalik muammolarni oʻtkazib yuborishi mumkin, (5) Monitoring garovi band serverlarga taʼsir qilishi mumkin, (6) Bir nechta maʼlumotlarni nazorat qilish va ogohlantirish mexanizmi yoʻq. SQL Server holatlar. Ushbu ehtiyojlar uchun Faoliyat monitorini kengaytirilgan hodisalar, ma'lumotlar yig'ish to'plamlari yoki uchinchi tomon monitoring vositalari bilan to'ldiring.
Muallif haqida
Yuan Sheng 10 yildan ortiq tajribaga ega bo'lgan katta ma'lumotlar bazasi administratori (DBA). SQL Server muhitlar va korporativ ma'lumotlar bazasini boshqarish. U moliyaviy xizmatlar, sog'liqni saqlash va ishlab chiqarish tashkilotlarida ma'lumotlar bazasini tiklashning yuzlab stsenariylarini muvaffaqiyatli hal qildi.
Yuan ixtisoslashgan SQL Server ma'lumotlar bazasini tiklash, yuqori darajadagi mavjudlik yechimlariva samaradorlikni optimallashtirish. Uning keng amaliy tajribasi ko'p terabaytli ma'lumotlar bazalarini boshqarish, doimo mavjud bo'lgan mavjudlik guruhlarini joriy etish va muhim biznes tizimlari uchun avtomatlashtirilgan zaxiralash va tiklash strategiyalarini ishlab chiqishni o'z ichiga oladi.
Yuan o'zining texnik tajribasi va amaliy yondashuvi orqali ma'lumotlar bazasi ma'murlari va IT mutaxassislariga murakkab muammolarni hal qilishga yordam beradigan keng qamrovli qo'llanmalarni yaratishga e'tibor qaratadi. SQL Server muammolarni samarali hal qiladi. U eng so'nggi yangiliklardan xabardor bo'lib qoladi SQL Server relizlar va Microsoft-ning rivojlanayotgan ma'lumotlar bazasi texnologiyalari, uning tavsiyalari haqiqiy dunyodagi eng yaxshi amaliyotlarni aks ettirishini ta'minlash uchun tiklash stsenariylarini muntazam ravishda sinab ko'radi.
haqida savollaringiz bor SQL Server tiklash yoki ma'lumotlar bazasi muammolarini bartaraf etish bo'yicha qo'shimcha yo'riqnoma kerakmi? Yuan tabriklaydi mulohazalar va takliflar ushbu texnik resurslarni yaxshilash uchun.


















