Përmbajtje fsheh

1. Paraqitje

1.1 Çfarë është SQL Server Aktiviteti Monitor?

SQL Server Monitori i Aktivitetit është një mjet diagnostikues i integruar brenda SQL Server Studio e Menaxhimit që shfaq informacion rreth SQL Server proceset dhe efekti i tyre në performancën e serverit. Ju lejon të gjurmoni SQL Server proceset, monitoroni pritjet e burimeve, analizoni pyetjet e kushtueshme dhe vëzhgoni modelet I/O - të gjitha nga një ndërfaqe e vetme.

SQL Server Monitorimi i Aktivitetit

1.2 Pse të përdoret SQL Server Aktiviteti Monitor?

Monitori i Aktivitetit shërben si linja juaj e parë e mbrojtjes kur zgjidhni problemet e performancës. Ai ofron pamje të menjëhershme të asaj që po ndodh në kompjuterin tuaj. SQL Server shembull pa kërkuar pyetje komplekse T-SQL ose mjete të palëve të treta.

Mjeti është i shkëlqyer në ndihmën për të identifikuar shpejt problemet e zakonshme, të tilla si bllokimi i seancave, pyetjet që kërkojnë shumë punë nga CPU-ja, ekzekutimet e tepërta të pyetjeve dhe pengesat I/O. Kur përdoruesit raportojnë se një aplikacion është i ngadaltë ose nuk përgjigjet, Activity Monitor ju ndihmon të përcaktoni nëse serveri i bazës së të dhënave është fajtori.

Për administratorët e bazës së të dhënave që nuk punojnë me SQL Server Çdo ditë, Activity Monitor ofron një pikë hyrjeje të arritshme për të kuptuar aktivitetin e serverit. Edhe DBA-të me përvojë e përdorin atë si pikënisje për hetimet e performancës.

1.3 Monitori i Aktivitetit kundrejt Mjeteve të Tjera të Monitorimit

Ndërsa Monitori i Aktivitetit është i vlefshëm, është e rëndësishme të kuptoni se si krahasohet me opsionet e tjera të monitorimit:

Monitori i Aktivitetit kundrejt sp_WhoIsActive: Monitori i Aktivitetit ofron një ndërfaqe grafike me panele të shumëfishta, ndërsa sp_WhoIsActive është një procedurë gjithëpërfshirëse e ruajtur që ofron informacion më të detajuar në një grup të vetëm rezultatesh. sp_WhoIsActive tregon lloje specifike pritjeje që Monitori i Aktivitetit i grupon së bashku dhe ofron informacion më të detajuar bllokimi.

Monitori i Aktivitetit kundrejt sp_who2: Komanda tradicionale sp_who2 tregon informacionin bazë të sesionit, por Activity Monitor shkon më tej duke shfaqur statistikat e pritjes, pyetjet e kushtueshme dhe metrikat I/O në një format të organizuar dhe vizual.

Monitori i Aktivitetit kundrejt Mjeteve të Palëve të Treta: Zgjidhjet komerciale të monitorimit si SolarWinds Database Performance Analyzer ofrojnë gjurmim historik, njoftime dhe analiza të përparuara që i mungojnë Activity Monitor. Megjithatë, Activity Monitor nuk kërkon kosto ose instalim shtesë.

1.4 Përfitimet kryesore për administratorët e bazës së të dhënave

Monitori i Aktivitetit ofron disa përparësi që e bëjnë atë një mjet thelbësor të DBA-së:

  • Kosto zero: Si një i integruar SQL Server Funksioni i Management Studio, nuk kërkohet tarifë licencimi ose përpjekje për vendosje.
  • Monitorimi në kohë reale: Shikoni aktivitetin aktual të serverit ndërsa ndodh, me intervale të konfigurueshme të rifreskimit nga 1 sekondë në 1 orë.
  • Veprime të Integruara: Klikoni me të djathtën mbi proceset për të mbyllur seancat, për të parë detajet e pyetjeve ose për të nisur SQL Server Gjurmët e profilizuesit—të gjitha nga brenda mjetit.
  • Perspektiva të shumëfishta: Shikoni gjendjen e serverit nga këndvështrime të ndryshme përmes pesë paneleve të specializuara, secili prej të cilëve përqendrohet në aspekte specifike të performancës.
  • Zgjidhja e shpejtë e problemeve: Identifikoni problemet më të zakonshme të performancës brenda disa minutash, duke përshpejtuar kohën mesatare për zgjidhjen e tyre.
  • Barriera e ulët për hyrje: Nuk kërkohen njohuri të avancuara për të filluar përdorimin e mjetit në mënyrë efektive, megjithëse më të thella SQL Server Ekspertiza ndihmon me interpretimin.

2. Fillimi me Monitorin e Aktivitetit

Para se të mund ta përdorni në mënyrë efektive Monitorin e Aktivitetit, duhet të kuptoni parakushtet, lejet e kërkuara dhe metodat e ndryshme për nisjen e mjetit.

2.1 Parakushtet dhe Kërkesat e Sistemit

Për të përdorur SQL Server Monitori i Aktivitetit, ju nevojitet SQL Server Management Studio (SSMS) i instaluar në makinën tuaj lokale ose në një server të shpejtë. Mjeti i Monitorimit të Aktivitetit u ridizajnua ndjeshëm në SQL Server 2008, kështu që informacioni në këtë udhëzues vlen për SQL Server 2008 dhe versionet e mëvonshme.

Duhet të keni lidhje rrjeti me SQL Server instanca që dëshironi të monitoroni. Për bazat e të dhënave të hostuara në cloud, zakonisht do t'ju duhet një lidhje VPN ose rregulla të firewall-it të konfiguruara siç duhet për të aksesuar instancën.

Monitori i Aktivitetit funksionon me të gjitha botimet e SQL Server, duke përfshirë Express, Standard dhe Enterprise. Vetë mjeti funksionon në makinën tuaj të klientit brenda SSMS, kështu që burimet e serverit ndikohen vetëm nga pyetjet e monitorimit që ai ekzekuton.

2.2 Lejet e Kërkuara

Lejet e duhura janë thelbësore që Monitori i Aktivitetit të funksionojë siç duhet. Pa të drejtat e duhura, mund të shihni një ekran bosh ose të merrni gabime "qasja e mohuar".

2.2.1 Leja për PAMJEN E GJENDJES SË SERVERIT

La SHIKO GJENDJEN E SERVERIT Leja është kërkesa kryesore për përdorimin e Monitorit të Aktivitetit. Kjo leje në nivel serveri ju lejon të shihni të gjitha proceset aktive dhe metrikat e tyre përkatëse.

Për të dhënë këtë leje, një administrator i serverit mund të ekzekutojë:

GRANT VIEW SERVER STATE TO [YourLoginName];

Pa VIEW SERVER STATE, Activity Monitor mund të hapet, por të mos shfaqë të dhëna në asnjë nga panelet e tij.

2.2.2 Lejet në Nivel Baze të Dhënash

Për të parë informacionin në panelin Hyrje/Dalje të Skedarit të të Dhënave, ju nevojiten leje shtesë. Në mënyrë specifike, duhet të keni një nga kombinimet e mëposhtme:

  • KRIJO BAZ T DHATNAVE leje, ose
  • NDRYSHO ÇDO BAZË TË TË DHËNASH leje, ose
  • SHIKO ÇDO PËRKUFIZIM leje

Këto leje duhet të kombinohen me SHIKO GJENDJEN E SERVERIT për funksionalitetin e plotë të Monitorit të Aktivitetit.

2.2.3 Zgjidhja e problemeve të lejeve

Nëse Monitori i Aktivitetit hapet, por nuk tregon të dhëna, lejet janë shkaku më i zakonshëm. Kontrolloni që identifikimi juaj në nivel serveri të ketë VIEW SERVER STATE të dhënë. Mund të verifikoni lejet tuaja duke ekzekutuar:

SELECT * FROM fn_my_permissions(NULL, 'SERVER');

Kërko për 'SHIKO GJENDJEN E SERVERIT' në kolonën permission_name. Nëse mungon, kontakto administratorin e bazës së të dhënave për ta miratuar.

2.3 Si të hapni Monitorin e Aktivitetit në SSMS

SQL Server Management Studio ofron katër metoda të ndryshme për të nisur Activity Monitor, duke ju dhënë fleksibilitet bazuar në preferencat tuaja të rrjedhës së punës.

2.3.1 Metoda 1: Nga Shiriti i Veglave

Mënyra më e shpejtë për të hapur Monitorin e Aktivitetit është duke përdorur ikonën e shiritit të veglave:

  1. Lidhu me tuajin SQL Server shembull në SQL Server Studio e Menaxhimit.
  2. Gjeni ikonën e Monitorit të Aktivitetit në shiritin standard të veglave (i ngjan një grafiku me shtylla me një buton të gjelbër luajtjeje).
  3. Klikoni ikonën për të hapur Monitorin e Aktivitetit.

fillim SQL Server Monitori i Aktivitetit nga ikona e shiritit të too-ve në SQL Server Studio e Menaxhimit.

Kjo metodë është më e shpejta kur tashmë punoni në SSMS dhe duhet të kontrolloni shpejt aktivitetin e serverit.

2.3.2 Metoda 2: Nga Eksploruesi i Objekteve

Gjithashtu mund ta hapni Monitorin e Aktivitetit direkt nga Eksploruesi i Objekteve:

  1. Në Object Explorer, gjeni SQL Server shembullin që dëshironi të monitoroni.
  2. Klikoni me të djathtën mbi emrin e instancës.
  3. zgjedh Monitorimi i Aktivitetit nga menyja e kontekstit.

fillim SQL Server Monitoroni Aktivitetin duke klikuar me të djathtën mbi instancën në Object Explorer në SQL Server Studio e Menaxhimit.

Kjo metodë është e dobishme kur lidheni me shumë servera, pasi siguron që po monitoroni instancën e saktë.

2.3.3 Metoda 3: Përdorimi i shkurtores së tastierës

Për përdoruesit e fokusuar në tastierë, SQL Server Management Studio ofron një shkurtore të dedikuar:

  1. Sigurohuni që SSMS është dritarja aktive dhe që jeni i lidhur me një instancë.
  2. shtyp Ctrl + Ndalet + A.
  3. Monitori i Aktivitetit do të hapet për instancën e zgjedhur aktualisht në Eksploruesin e Objekteve.

Vini re se Monitori i Aktivitetit do të lidhet me cilëndo instancë të serverit që keni zgjedhur në Eksploruesin e Objekteve, prandaj sigurohuni që keni zgjedhur instancën e saktë përpara se të përdorni këtë shkurtore.

2.3.4 Metoda 4: Nga Menyja e Opsioneve (Konfigurimi i Nisjes)

Nëse përdorni shpesh Activity Monitor, mund ta konfiguroni SSMS që ta nisë automatikisht sa herë që nisni aplikacionin:

  1. In SQL Server Studio e Menaxhimit, shkoni te Tools -> Opcionet.
  2. Në kutinë e dialogut Opsione, zgjeroni mjedis, Dhe pastaj zgjidhni Startup.
  3. Nga Në fillim listën rënëse, zgjidhni Hapni Eksploruesin e Objekteve dhe Monitorin e Aktivitetit.
  4. zgjedh OK.

Vendos konfigurimin e nisjes për SQL Server Monitori i Aktivitetit në SQL Server Studio e Menaxhimit.

Herën tjetër që hapni SSMS dhe lidheni me një server, Activity Monitor do të hapet automatikisht së bashku me Object Explorer.

3. Kuptimi i Paneleve të Monitorimit të Aktivitetit

Monitori i Aktivitetit organizon informacionin në pesë panele të zgjerueshme, secili prej të cilëve ofron një perspektivë të ndryshme mbi aktivitetin e serverit. Të kuptuarit e asaj që shfaq secili panel është thelbësore për zgjidhjen efektive të problemeve.

3.1 Paneli i Përmbledhjes

Paneli i Përmbledhjes paraqet katër grafikë në kohë reale që ju japin një pamje të shpejtë të gjendjes suaj SQL Server shembull. Këto grafikë përditësohen në një interval të konfigurueshëm dhe ju ndihmojnë të identifikoni modelet anormale me një shikim.

Paneli i Përmbledhjes në SQL Server Monitori i Aktivitetit.

3.1.1 % Koha e Procesorit

Ky grafik tregon përqindjen e kohës që procesori shpenzon duke ekzekutuar fije jo-idle për SQL Server instancë në të gjitha CPU-të. Vlera përfaqëson SQL Servershfrytëzimi i procesorit, jo përdorimi i tërë i CPU-së së serverit.

Nëse shihni vazhdimisht kohën e procesorit në ose afër 100%, serveri juaj është i lidhur me CPU-në. Kjo mund të tregojë pyetje joefikase, indekse që mungojnë ose kapacitet të pamjaftueshëm të harduerit. Përdorni panelin Pyetjet e Fundit të Shtrenjta për të identifikuar se cilat pyetje po konsumojnë më shumë CPU.

3.1.2 Detyrat në pritje

Kjo metrikë tregon numrin e detyrave që presin që burimet të lirohen përpara se të mund të vazhdojnë. Detyrat mund të presin për CPU, I/O, memorie ose bllokime.

Një numër vazhdimisht i lartë detyrash në pritje tregon mosmarrëveshje në burime. Paneli i Pritjeve të Burimeve ofron më shumë detaje rreth llojeve të burimeve që po shkaktojnë pritje.

3.1.3 Hyrje/Dalje në Bazën e të Dhënave (MB/s)

Ky grafik tregon shkallën e transferimit të të dhënave midis memories dhe diskut. Ai kombinon leximin dhe shkrimin, të matur në megabajt për sekondë.

Rritja e shpejtësisë në hyrje/dalje në bazën e të dhënave mund të tregojë pyetje që kryejnë skanime të mëdha tabelash, aktivitet të tepërt regjistrimi ose operacione në pikat e kontrollit. Paneli i hyrje/daljes në skedarin e të dhënave ndan aktivitetin e hyrje-daljes sipas bazës së të dhënave dhe skedarit.

3.1.4 Kërkesat në grup/sek

Kjo metrikë përfaqëson numrin e SQL Server grupe të marra nga instanca për sekondë. Një grup mund të jetë një deklaratë e vetme ose disa deklarata të paraqitura së bashku.

Kjo vlerë ju jep një ide të aktivitetit të përgjithshëm të serverit. Rëniet e papritura të kërkesave në grup gjatë orarit normal të punës mund të tregojnë probleme me lidhjen e aplikacionit ose probleme me përdoruesin.

3.1.5 Vendosja e Intervaleve të Rifreskimit

Mund të personalizoni se sa shpesh i përditëson të dhënat e Monitorit të Aktivitetit:

  1. Klikoni me të djathtën kudo në panelin Përmbledhje.
  2. zgjedh Intervali i rifreskimit.
  3. Zgjidhni një interval nga vlerat e paracaktuara: 1 sekondë, 5 sekonda, 10 sekonda (parazgjedhur), 30 sekonda, 1 minutë ose 1 orë.

Vendos intervalin e rifreskimit në SQL Server Paneli i përgjithshëm i Monitorit të Aktivitetit.

Vendosja e intervaleve të rifreskimit nën 10 sekonda rrit mbingarkesën e monitorimit në serverin tuaj. Për sistemet e prodhimit nën ngarkesë të lartë, merrni në konsideratë përdorimin e intervaleve 30 sekonda ose më të gjata për të minimizuar ndikimin.

3.2 Paneli i Proceseve

Paneli i Proceseve shfaq informacion në lidhje me seancat që janë duke u zhvilluar aktualisht në pajisjen tuaj. SQL Server shembull. Ky panel është thelbësor për të identifikuar se kush po bën çfarë dhe për të dalluar problemet bllokuese.

Paneli i Proceseve në SQL Server Monitori i Aktivitetit.

3.2.1 Kuptimi i Informacionit të Procesit

Çdo rresht në panelin Proceset përfaqëson një sesion aktiv në server. Paneli tregon sesionet nga të gjitha bazat e të dhënave dhe të gjithë përdoruesit, duke ju dhënë një pamje gjithëpërfshirëse të aktivitetit të serverit.

Informacioni i shfaqur përfshin emrin e hyrjes, emrin e aplikacionit, emrin e hostit, bazën e të dhënave që po qaseni dhe komandën aktuale. Kjo ju ndihmon të lidhni aktivitetin e bazës së të dhënave me përdorues ose aplikacione specifike.

3.2.2 Shpjegimi i Kolonave Kryesore

Të kuptuarit e kolonave kryesore ju ndihmon të interpretoni informacionin e procesit në mënyrë efektive:

  • ID-ja e sesionit: Një identifikues unik për secilën lidhje. Proceset e sistemit përdorin ID negative të sesionit.
  • Procesi i përdoruesit: Tregon nëse kjo është një seancë përdoruesi (Po) apo një proces sistemi (Jo).
  • Identifikohuni: La SQL Server hyrjen ose llogarinë e Windows të lidhur me sesionin.
  • Baza e të dhënave: Konteksti aktual i bazës së të dhënave për sesionin.
  • Gjendja e detyrës: Tregon se çfarë po bën seanca aktualisht (DUKE VRAPUAR, PUSHUAR, GJUAR, etj.).
  • Command: Lloji i komandës që po ekzekutohet (SELECT, INSERT, UPDATE, etj.).
  • Aplikacion: Emri i aplikacionit që krijoi lidhjen.
  • Koha e pritjes: Sa kohë (në milisekonda) ka pritur seanca për burime.
  • Lloji i pritjes: Lloji specifik i burimit që po pret seanca.
  • Koha e CPU-së: Koha totale e CPU-së e konsumuar nga kjo seancë që kur është lidhur.
  • Përdorimi i kujtesës: Sasia e memories (në KB) e ndarë aktualisht për sesionin.

3.2.3 Proceset e Filtrimit dhe Renditjes

Paneli i Proceseve përfshin aftësi të fuqishme filtrimi për t'ju ndihmuar të përqendroheni në seancat përkatëse:

  1. Klikoni shigjetën zbritëse në çdo kokë kolone.
  2. Filtri tregon vlerat e disponueshme për atë kolonë, duke përfshirë të gjithë, boshllëqetdhe Jo-Blanks.
  3. Zgjidhni vlera specifike për të filtruar shfaqjen vetëm në ato seanca.

Filtroni proceset në SQL Server Monitori i Aktivitetit.

Për shembull, mund të filtroni Shteti i detyrës për të shfaqur vetëm seancat NË KONKURS, ose filtroni Baza e të dhënave për të parë aktivitetin kundrejt një baze të dhënash specifike.

Gjithashtu mund të renditësh sipas çdo kolone duke klikuar kokën e saj. Klikoni një herë për rend rritës, dy herë për rend zbritës.

Rendit proceset në SQL Server Monitori i Aktivitetit.

3.2.4 Identifikimi i seancave bllokuese dhe të bllokuara

Paneli i Proceseve ju ndihmon të identifikoni skenarët bllokues ku një seancë i pengon të tjerat të vazhdojnë:

  • Bllokuar nga: Tregon ID-në e Sesionit të sesionit që po e bllokon këtë sesion. Nëse kjo kolonë përmban një vlerë, sesioni është duke pritur për një bllokim të mbajtur nga një sesion tjetër.
  • Bllokues koke: Shfaq '1' nëse kjo seancë bllokon të tjerat, por vetë nuk është e bllokuar. Ky është shkaku rrënjësor i një zinxhiri bllokues.

Shfaq bllokimin dhe proceset e bllokuara në SQL Server Monitori i Aktivitetit.

Për të hetuar një problem bllokimi, së pari identifikoni bllokuesin kryesor (sesioni i shënuar me '1' në kolonën Bllokuesi i Kryes), pastaj shqyrtoni se çfarë po bën dhe vendosni nëse do ta lini ta përfundojë apo do ta ndërpresni atë.

3.2.5 Veprimet e procesit (Vdekja, Detajet, Gjurmimi)

Monitori i Aktivitetit ju lejon të ndërmerrni veprime në seanca individuale:

  1. Klikoni me të djathtën në çdo sesion në panelin Proceset.
  2. Do të shihni disa opsione:
    • Details: Tregon komandën e fundit të ekzekutuar nga kjo seancë.
    • Procesi i vrasjes: Përfundon seancën (përdoret me kujdes).
    • Procesi i gjurmimit në SQL Server Profiluesi: Nis SQL Server Profiler dhe filtron automatikisht për të shfaqur vetëm aktivitetin nga kjo seancë.

Kryeni veprime mbi proceset në SQL Server Monitori i Aktivitetit.

Opsioni Detajet ju tregon tekstin e komandës, por vini re se ky është i fundit komanda u ekzekutua—mund të mos jetë ende duke u ekzekutuar. Opsioni Gjurmim është veçanërisht i dobishëm kur duhet të shihni sekuencën e plotë të komandave që po ekzekuton një seancë.

3.3 Paneli i Pritjeve të Burimeve

Paneli i Pritjeve të Burimeve përmbledh statistikat e pritjes, duke treguar se cilat lloje burimesh presin më shpesh seancat. Ky informacion është thelbësor për diagnostikimin e pengesave të performancës.

Paneli i Pritjeve të Burimeve në SQL Server Monitori i Aktivitetit.

3.3.1 Kuptimi i Statistikave të Pritjes

Kur SQL Server Nëse nuk mund të japë menjëherë një kërkesë për burime (siç është një bllokim, koha e CPU-së ose memoria), detyra kërkuese hyn në një gjendje pritjeje. Statistikat e pritjes i ndjekin këto periudha pritjeje dhe ju ndihmojnë të kuptoni se ku po kalon kohë serveri duke pritur në vend që të punojë.

Paneli i Pritjeve të Burimeve mbledh të dhëna nga pamjet e menaxhimit dinamik të sistemit si sys.dm_os_wait_stats dhe sys.dm_exec_requests. Në çdo interval rifreskimi, ai llogarit ndryshimin midis pamjes aktuale dhe asaj të mëparshme, duke ju treguar shkallën e akumulimit për secilin lloj pritjeje.

3.3.2 Kategoritë e Pritjes

Monitori i Aktivitetit grupon qindra lloje individuale pritjeje në kategori më të gjera për të thjeshtuar interpretimin:

  • CPU: Detyrat po presin që koha e CPU-së të bëhet e disponueshme.
  • Buffer Latch: Pret për objekte të sinkronizimit afatshkurtër që mbrojnë aksesin në faqet e të dhënave në memorie. Kjo kategori përfshin pritjet e mbylljes së faqes (PAGELATCH_*).
  • Lock: Pritjet e shkaktuara nga seancat që mbajnë bllokime që u nevojiten seancave të tjera.
  • Memory: Pret për grantet e memories të nevojshme nga operacione si renditja dhe heshimi.
  • Hyrje/Dalje në Rrjet: Pret dërgimin e të dhënave te klientët ose marrjen e të dhënave nga ata.
  • CLR në SQL: Pritjet që lidhen me ekzekutimin e Common Language Runtime.

Ndërkohë që ky grupim e thjeshton pamjen, ai gjithashtu errëson detaje të rëndësishme. Për shembull, “Buffer Latch” mund të grupojë së bashku pritjet PAGELATCH_SH, PAGELATCH_UP dhe PAGELATCH_EX, të cilat kanë implikime të ndryshme për performancën.

3.3.3 Interpretimi i Kohës së Pritjes dhe Detyrave të Pritjes

Paneli "Pritjet e Burimeve" shfaq dy metrika kryesore për secilën kategori pritjeje:

  • Koha Kumulative e Pritjes (ms): Totali i milisekondave të akumuluara gjatë intervalit aktual të rifreskimit për këtë kategori pritjeje.
  • Detyrat e pritjes: Numri i detyrave që aktualisht presin për burime në këtë kategori.

Vlera e kohës së pritjes është veçanërisht interesante. Nëse keni një interval rifreskimi prej 10 sekondash dhe shihni 20,000ms kohë pritjeje për një kategori, kjo tregon pritje të shumëfishta të njëkohshme (20,000ms / 10,000ms = mesatarja e 2 pritjeve të njëkohshme gjatë intervalit).

3.3.4 Identifikimi i pengesave të performancës

Përdorni panelin Pritje të Burimeve për të identifikuar se ku serveri juaj po kalon më shumë kohë duke pritur:

  1. Zgjero panelin Pritjet e Burimeve.
  2. Vëzhgoni kategoritë e pritjes që grumbullojnë kohët më të larta të pritjes.
  3. Ndaj sipas Koha Kumulative e Pritjes për të parë se cilat burime janë më të kufizuara.

Rendit sipas Kohës Kumulative të Pritjes në Panelin e Pritjeve të Burimeve për të gjetur pengesën e performancës.

Pritjet e Latch me Buffer të Lartë shpesh tregojnë mosmarrëveshje për faqet e të dhënave në memorie, gjë që mund të sugjerojë bllokime I/O ose mosmarrëveshje tempdb. Pritjet e Lock të Lartë tregojnë probleme bllokimi. Pritjet e larta të Memories sugjerojnë dhënie memorie të pamjaftueshme për operacionet e pyetjeve.

3.4 Paneli Hyrje/Dalje i Skedarëve të të Dhënave

Paneli I/O i Skedarit të të Dhënave tregon aktivitetin e diskut për secilin skedar të bazës së të dhënave në serverin tuaj, duke ju ndihmuar të identifikoni pengesat I/O dhe të kuptoni modelet e përdorimit të diskut.

Paneli I/O i Skedarit të të Dhënave në SQL Server Monitori i Aktivitetit.

3.4.1 Kuptimi i Metrikave I/O

Paneli i Hyrjes/Daljes së Skedarit të të Dhënave shfaq disa metrika për secilin skedar të bazës së të dhënave:

  • Baza e të dhënave: Emri i bazës së të dhënave.
  • Lloji i skedarit: Ose të Dhëna (duke përfshirë tabelat dhe indekset) ose Log (log transaksionesh).
  • Emri Logjik: Emri logjik i skedarit siç përcaktohet në SQL Server.
  • MB/sek Lexim: Shpejtësia e leximit të të dhënave nga ky skedar.
  • MB/sek Shkruar: Shpejtësia e shkrimit të të dhënave në këtë skedar.
  • Koha e përgjigjes (ms): Koha mesatare e përgjigjes për operacionet I/O në këtë skedar.

Këto metrika rifreskohen në të njëjtin interval si paneli i Përmbledhjes, duke ju dhënë shikueshmëri në kohë reale të aktivitetit të diskut.

3.4.2 Identifikimi i pengesave të hyrjes/daljes

Kushtojini vëmendje këtyre modeleve që tregojnë probleme me performancën e I/O-së:

  • Koha e lartë e përgjigjes: Kohët e reagimit mbi 15-20ms sugjerojnë nënsisteme të ngadalta të diskut. Kohët e reagimit mbi 50ms tregojnë pengesa serioze të hyrjes/daljes.
  • Ngarkesa e pabalancuar: Nëse një skedar të dhënash tregon shpejtësi hyrje-daljeje dukshëm më të larta se të tjerët në të njëjtën bazë të dhënash, mund të përfitoni nga shtimi i skedarëve shtesë për të shpërndarë ngarkesën.
  • Aktiviteti i tepërt i Tempdb: Shkalla e lartë e hyrjeve/daljeve në skedarët tempdb shpesh tregon se pyetjet krijojnë grupe të mëdha rezultatesh të ndërmjetme ose përdorin plane ekzekutimi joefikase.

3.4.3 Analiza e skedarëve të bazës së të dhënave

Përdorni panelin I/O të Skedarit të të Dhënave për të kuptuar se si i përdorin bazat e të dhënave burimet e diskut:

  1. Zgjero panelin I/O të Skedarit të të Dhënave.
  2. Ndaj sipas MB/sek Lexim or MB/sek Shkruar për të identifikuar skedarët më aktivë.
  3. Vini re çdo skedar me aktivitet vazhdimisht të lartë ose kohë të gjatë përgjigjeje.
  4. Krahasoni këtë informacion me panelin Pyetjet e fundit të shtrenjta për të identifikuar se cilat pyetje po nxisin ngarkesën I/O.

Rendit sipas Leximit ose Shkrimit për të identifikuar skedarët më aktivë në Panelin e Hyrjes/Daljes së Skedarëve të të Dhënave.

3.5 Paneli i Pyetjeve të Kohëve të Fundit të Shtrenjtë

Paneli "Kërkesat e fundit të shtrenjta" është shpesh paneli më i vlefshëm për zgjidhjen e problemeve të performancës së aplikacioneve. Ai tregon pyetjet që konsumojnë burime të konsiderueshme të serverit, duke ju ndihmuar të identifikoni mundësitë e optimizimit.

Paneli i Pyetjeve të Shtrenjtë të Kohëve të Fundit në SQL Server Monitori i Aktivitetit.

3.5.1 Kuptimi i Metrikave të Pyetjeve

Monitori i Aktivitetit shfaq disa metrika për secilën pyetje të kushtueshme:

  • Ekzekutime/min: Sa herë është ekzekutuar pyetja gjatë minutës së fundit.
  • CPU (ms/sek): Koha e CPU-së e konsumuar nga kjo pyetje për sekondë.
  • Lexime fizike/sek: Numri i leximeve të diskut fizik për sekondë për këtë pyetje.
  • Shkrime Logjike/sek: Numri i shkrimeve logjike (në memorjen e përkohshme të bufferit) për sekondë.
  • Lexime Logjike/sek: Numri i leximeve logjike (nga memoria e përkohshme e bufferit) për sekondë.
  • Kohëzgjatja mesatare (ms): Koha mesatare e ekzekutimit për këtë pyetje.
  • Numri i planeve: Numri i planeve të ekzekutimit në memorien e përkohshme për këtë pyetje.

Këto metrika ju ndihmojnë të kuptoni jo vetëm se cilat pyetje janë të kushtueshme, por pse janë të shtrenjta dhe sa shpesh funksionojnë.

3.5.2 Opsionet e Renditjes

Mund ta renditësh panelin "Kërkesat e fundit të shtrenjta" sipas metrikave të ndryshme për të gjetur lloje të ndryshme problemesh:

  1. Klikoni në çdo kokë kolone për të renditur sipas asaj metrike.
  2. Strategjitë e zakonshme të renditjes përfshijnë:
    • Rendit sipas CPU-së: Gjeni pyetjet që konsumojnë më shumë kohë të procesorit.
    • Rendit sipas Ekzekutimeve/min: Identifikoni pyetjet që ekzekutohen tepër shpesh.
    • Rendit sipas Leximeve Fizike: Gjej pyetjet që shkaktojnë numrin më të madh të hyrjeve/daljeve në disk.
    • Rendit sipas Kohëzgjatjes Mesatare: Gjeni pyetje që ekzekutohen për një kohë të gjatë.

Kur zgjidhni një problem të performancës, provoni të renditni sipas kolonave të shumëfishta për të marrë perspektiva të ndryshme. Një pyetje me përdorim të moderuar të CPU-së, por ekzekutime jashtëzakonisht të larta për minutë, mund të jetë problemi juaj i vërtetë.

3.5.3 Shikimi i Tekstit të Kërkesës

Për të parë deklaratën aktuale SQL pas një pyetjeje të shtrenjtë:

  1. Klikoni me të djathtën mbi rreshtin e pyetjeve në panelin Pyetjet e fundit të shtrenjta.
  2. zgjedh Redakto Tekstin e Pyetjes.
    Modifikoni Tekstin e Pyetjes në Panelin e Pyetjeve të Kohëve të Fundit të Çmuara.
  3. Hapet një dritare e re pyetjesh që shfaq deklaratën e plotë SQL.
    Dritare e re pyetjesh pas zgjedhjes së "Redakto tekstin e pyetjes" në panelin e pyetjeve të fundit të shtrenjta.

Kjo ju lejon të shqyrtoni logjikën e pyetjes dhe të identifikoni mundësitë e mundshme të optimizimit. Më pas mund ta kopjoni tekstin e pyetjes për të testuar versionet e modifikuara.

3.5.4 Analizimi i Planeve të Ekzekutimit

Planet e ekzekutimit ju tregojnë se si SQL Server Ekzekuton një pyetje, duke zbuluar joefikasitete si indekse që mungojnë ose lloje bashkimi të papërshtatshme:

  1. Klikoni me të djathtën mbi rreshtin e pyetjeve në panelin Pyetjet e fundit të shtrenjta.
  2. zgjedh Shfaq Planin e Ekzekutimit.
    Shfaq Planin e Ekzekutimit në Panelin e Pyetjeve të Shpejta të Djeshme.
  3. SQL Server Management Studio shfaq një paraqitje grafike të mënyrës se si ekzekutohet pyetja.
    Plani i ekzekutimit të pyetjes në një dritare të re.

Kërkoni operacione që konsumojnë përqindje të mëdha të kostos së pyetjes, paralajmërime për statistika ose indekse që mungojnë dhe operacione të papritura të skanimit të tabelave. Këto shpesh tregojnë se ku duhet të përqendrohen përpjekjet e optimizimit.

3.5.5 Identifikimi i Pyetjeve Problematike

Kushtojini vëmendje këtyre modeleve në panelin "Kërkesat e fundit të shtrenjta":

  • Ekzekutime të tepërta: Një pyetje që ekzekutohet mijëra herë në minutë mund të tregojë një problem me pyetje N+1 ku kodi i aplikacionit thërret bazën e të dhënave brenda një cikli.
  • Lexime të larta fizike: Pyetjet me shpejtësi të lartë leximi fizik po e godasin diskun shpesh, duke sugjeruar indekse që mungojnë ose pyetje të shkruara dobët.
  • CPU i lartë me kohëzgjatje të ulët: Shumë pyetje të shpejta që konsumojnë shumë CPU në total mund të ndikojnë në performancën e serverit po aq sa disa pyetje të ngadalta.
  • Numërime të shumëfishta planesh: Pyetjet me shumë plane ekzekutimi mund të vuajnë nga probleme me nuhatjen e parametrave ose pyetje të paparametruara që shkaktojnë mbingarkesë të memories së përkohshme të planit.

4. Përdorimi i Monitorit të Aktivitetit për Zgjidhjen e Problemeve të Performancës

Monitori i Aktivitetit shkëlqen vërtet kur e përdorni sistematikisht për të diagnostikuar dhe zgjidhur problemet e performancës. Ky seksion mbulon skenarët e zakonshëm të zgjidhjes së problemeve dhe si t'i qaseni atyre.

4.1 Diagnostikimi i Ekzekutimeve të Tepërta të Pyetjeve

Një nga problemet më të zakonshme të performancës është ekzekutimi i pyetjeve shumë më shpesh seç është e nevojshme, shpesh për shkak të problemeve të dizajnit të aplikacionit.

4.1.1 Identifikimi i pyetjeve të përsëritura

Për të dalluar pyetjet që ekzekutohen shumë shpesh:

  1. Hapni Monitorin e Aktivitetit dhe zgjeroni Pyetje të fundit të shtrenjta bukë.
  2. Ndaj sipas Ekzekutime/min (ekzekutime për minutë).
  3. Kërkoni për pyetje në krye me numër ekzekutimi që duken tepër të larta.
  4. Klikoni me të djathtën mbi pyetjen e dyshuar dhe zgjidhni Redakto Tekstin e Pyetjes për të shqyrtuar deklaratën SQL.

Për shembull, nëse shihni një deklaratë të thjeshtë SELECT që ekzekutohet 37,000 herë në minutë, pyesni nëse aplikacioni ka nevojë vërtet ta thërrasë këtë pyetje kaq shpesh. Shumica e pyetjeve që ekzekutohen më shumë se disa mijëra herë në minutë kërkojnë hetim.

4.1.2 Analiza e Shkakut Rrënjësor

Ekzekutimet e tepërta të pyetjeve zakonisht rrjedhin nga këto probleme:

  • Problemi i Pyetjes N+1: Kodi i aplikacionit merr një listë artikujsh, pastaj ekzekuton një pyetje të veçantë për secilin artikull për të marrë të dhëna përkatëse. Kjo krijon N pyetje shtesë ku N është numri i artikujve.
  • Mungon ruajtja në memorje: Aplikacioni pyet bazën e të dhënave për të dhëna që rrallë ndryshojnë, në vend që t'i ruajë ato në memorien e aplikacionit.
  • Unazat e sondazhit: Kodi i kërkon vazhdimisht bazës së të dhënave të kontrollojë për ndryshime të gjendjes në vend që të përdorë njoftime për ndryshime ose radhë mesazhesh.
  • Joefikasiteti i ORM-së: Entity Framework dhe mjete të ngjashme ndonjëherë gjenerojnë modele joefikase të pyetjeve kur zhvilluesit nuk e kuptojnë se si kodi i tyre përkthehet në SQL.

Për të përcaktuar shkakun rrënjësor, gjurmoni pyetjen deri te kodi i aplikacionit. Vini re Aplikacion Login kolonat në panelin Proceset kur ekzekutohet pyetja. Gjithashtu mund të klikoni me të djathtën mbi procesin dhe të zgjidhni Procesi i gjurmimit në SQL Server Profiler për të parë modelin e thirrjes.

4.1.3 Zgjidhjet dhe praktikat më të mira

Pasi të keni identifikuar ekzekutimet e tepërta të pyetjeve, merrni në konsideratë këto zgjidhje:

  • Përpunimi në grup: Modifikoni kodin e aplikacionit për të marrë artikuj të shumtë në një pyetje të vetme duke përdorur bashkime ose klauzola IN në vend që të ekzekutoni pyetje të ndara në një lak.
  • Ruajtja në memorien e përkohshme e rezultateve: Memoria e përkohshme aksesohet shpesh, duke ndryshuar rrallë të dhënat në memorien e aplikacionit me kohë skadimi të përshtatshme.
  • Ngarkim i etur: Konfiguroni ORM-të për të përdorur strategji ngarkimi të etur që marrin të dhëna të lidhura në më pak pyetje dhe më efikase.
  • Parametratizimi i pyetjes: Sigurohuni që pyetjet të përdorin parametra në vend që të bashkojnë vlerat, gjë që përmirëson ripërdorimin e memorjes së përkohshme të planit dhe zvogëlon mbingarkesën e përpilimit.

4.2 Hetimi i Çështjeve të Bllokimit

Bllokimi ndodh kur një seancë mban bllokime që pengojnë vazhdimin e seancave të tjera. Kjo manifestohet si kohë e ngadaltë reagimi e aplikacionit dhe përdorues të frustruar.

4.2.1 Identifikimi i Zinxhirëve Bllokues

Për të zbuluar dhe analizuar bllokimin:

  1. Hapni Monitorin e Aktivitetit dhe zgjeroni proceset bukë.
  2. Kërko për seanca me vlera në Bllokuar nga kolonë—këto janë duke pritur për bllokime të mbajtura nga seanca të tjera.
  3. Gjej seanca me '1' në Bllokues koke kolona—këto janë shkaku rrënjësor i bllokimit të zinxhirëve.
  4. Vini re ID e sesionit të bllokuesit të kokës.
  5. Klikoni me të djathtën mbi sesionin e bllokuesit të kokës dhe zgjidhni Detaje për të parë se çfarë komande po ekzekuton.

Të kuptuarit e zinxhirit të bllokimit është thelbësore. Bllokuesi kryesor është seanca që duhet të hetoni, jo seancat e bllokuara më poshtë.

4.2.2 Kuptimi i Llojeve të Kyçjeve

La Lloji i pritjes Kolona në panelin Proceset tregon se çfarë lloj bllokimi po presin seancat e bllokuara:

  • LCK_M_X: Pritje ekskluzive e bllokimit, zakonisht e shkaktuar nga operacionet UPDATE, DELETE ose INSERT.
  • LCK_M_S: Pritja e kyçit të përbashkët, zakonisht deklaratat SELECT presin që kyçet ekskluzive të lirohen.
  • LCK_M_U: Pritja e bllokimit të përditësimit, një lloj bllokimi i ndërmjetëm që përdoret gjatë përditësimeve.
  • LCK_M_IX: Pritje e qëllimshme për kyçje ekskluzive, që tregon kundërshtim për kyçje në nivel faqeje ose rreshti.

La Burimi i Pritjes Kolona tregon se cili objekt i bazës së të dhënave po bllokohet, duke ju ndihmuar të kuptoni se cila tabelë ose indeks është i përfshirë në mosmarrëveshje.

4.2.3 Zgjidhja e problemeve të bllokimit

Pasi të keni identifikuar seancën bllokuese dhe çfarë po bën ajo, keni disa mundësi:

  1. Prisni për përfundimin: Nëse bllokuesi kryesor po ekzekuton një pyetje të ligjshme që do të përfundojë së shpejti, mund të jetë më mirë ta lini të përfundojë natyrshëm.
  2. Mbyll seancën: Nëse bllokuesi i kokës është i bllokuar ose po ekzekuton një pyetje që duhet të anulohet:
    • Klikoni me të djathtën mbi sesionin në panelin Proceset.
    • zgjedh Procesi i Vrasjes.
    • Konfirmoni veprimin në kutinë e dialogut.
  3. Optimizoni pyetjet: Nëse bllokimi përsëritet me të njëjtat pyetje, optimizojini ato për të zvogëluar kohëzgjatjen e bllokimit të tyre.
  4. Rregulloni nivelet e izolimit: Konsideroni përdorimin e READ COMMITTED SNAPSHOT ISOLATION për të zvogëluar bllokimin në ngarkesat e punës me shumë lexim.
  5. Rregullimi i indeksit: Shtoni indekse për të shpejtuar pyetjet, duke zvogëluar kohëzgjatjen e mbajtjes së kyçjeve.

4.3 Analizimi i Përdorimit të Lartë të CPU-së

Kur paneli Përmbledhje tregon vazhdimisht kohën e procesorit në ose afër 100%, duhet të identifikoni se cilat pyetje janë përgjegjëse dhe të përcaktoni nëse ato mund të optimizohen.

4.3.1 Identifikimi i pyetjeve që kërkojnë shumë punë nga CPU-ja

Për të gjetur pyetje që konsumojnë shumë CPU:

  1. Hapur Pyetje të fundit të shtrenjta bukë.
  2. Ndaj sipas CPU (ms/sek) për të shfaqur pyetjet që përdorin kohën më të madhe të CPU-së.
  3. Shqyrtoni pyetjet kryesore në listë.
  4. Klikoni me të djathtën mbi pyetjet me CPU të lartë dhe zgjidhni Redakto Tekstin e Pyetjes për të parë deklaratën SQL.
  5. zgjedh Shfaq Planin e Ekzekutimit për të kuptuar se si ekzekutohet pyetja.

Kushtojini vëmendje jo vetëm përdorimit të CPU-së nga pyetjet individuale, por edhe Ekzekutime/min Një pyetje që përdor një CPU të moderuar për ekzekutim, por që ekzekutohet mijëra herë në minutë, mund të jetë konsumatori më i madh i CPU-së.

4.3.2 Teknikat e Optimizimit të Pyetjeve

Qasjet e zakonshme për të zvogëluar konsumin e CPU-së përfshijnë:

  • Shto Indekset që Mungojnë: Indeksi kërkon të përdorë shumë më pak CPU sesa skanimet e tabelave. Kërkoni rekomandimet e indeksit që mungojnë në planet e ekzekutimit.
  • Rishkruani Pyetje Joefikase: Zëvendësoni kursorët me operacione të bazuara në bashkësi, eliminoni funksionet e panevojshme në klauzolat WHERE dhe hiqni bashkimet e tepërta.
  • Përditësoni Statistikat: Statistikat e vjetruara shkaktojnë SQL Server për të zgjedhur plane ekzekutimi joefikase. Ekzekutoni UPDATE STATISTICS në tabelat e prekura.
  • Zvogëloni vëllimin e të dhënave: Shtoni klauzolat WHERE për të filtruar të dhënat më herët, përdorni TOP ose OFFSET/FETCH për faqosjen dhe shmangni SELECT *.
  • Rregullimi i Nuhatjes së Parametrave: Përdorni OPTION (RECOMPILE), këshilla për pyetjet ose udhëzues plani kur nuhatja e parametrave shkakton probleme.

4.4 Hetimi i Çështjeve të Kujtesës

Presioni i memories mund të shkaktojë derdhjen e pyetjeve në disk, duke ulur ndjeshëm performancën. Monitori i Aktivitetit ju ndihmon të identifikoni operacionet që kërkojnë shumë memorie.

4.4.1 Kuptimi i Metrikave të Kujtesës

La Përdorimi i kujtesës Kolona në panelin Proceset tregon memorien e ndarë për secilën seancë në kilobajt. Përdorimi i lartë i memories nga një seancë e vetme shpesh tregon:

  • Operacione të mëdha renditjeje ose hash që nuk mund të futeshin në kujtesën e dhënë fillimisht
  • Pyetje që marrin grupe të mëdha rezultatesh
  • Paralelizmi i tepërt krijon shumë kopje të operatorëve të planit të ekzekutimit
  • Rrjedhje të memories në procedurat ose funksionet e ruajtura në CLR

Paneli i Pritjeve të Burimeve mund të shfaqë pritjet e Memories kur pyetjet nuk mund të marrin grante të mjaftueshme memorieje dhe duhet të presin që memoria të bëhet e disponueshme.

4.4.2 Identifikimi i pyetjeve që kërkojnë shumë memorie

Për të gjetur pyetje që shkaktojnë presion në kujtesë:

  1. proceset panel, rendit sipas Përdorimi i kujtesës për të parë seancat që konsumojnë më shumë memorie.
  2. Klikoni me të djathtën në seancat me përdorim të lartë të memories dhe zgjidhni Detaje për të parë pyetjet e tyre.
  3. Pyetje të fundit të shtrenjta panel, kërkoni për pyetje me të lartë Lexime Logjike or Shkrime Logjike, pasi këto shpesh lidhen me përdorimin e memories.
  4. Shqyrtoni planet e ekzekutimit për operatorët Sort dhe Hash Match, të cilët përdorin grante memorieje.

Pyetjet që shfaqin paralajmërime "Memory Grant" në planet e ekzekutimit ose paralajmërime për derdhje tregojnë probleme me presionin e memories.

4.5 Zbulimi i Problemeve të Performancës së Aplikacionit

Kur përdoruesit raportojnë kohë të ngadalta reagimi të aplikacioneve, Activity Monitor ju ndihmon të përcaktoni nëse baza e të dhënave është problemi.

4.5.1 Ndërlidhja e Monitorit të Aktivitetit me Problemet e Aplikacionit

Për të hetuar ngadalësinë e aplikacionit:

  1. Vini re kohën e saktë kur përdoruesit raportojnë problemet dhe aplikacionet e prekura.
  2. Hapni Monitorin e Aktivitetit dhe kontrolloni Përmbledhje paneli për rritjet e burimeve në atë kohë.
  3. proceset panel, filtro sipas Aplikacion për të shfaqur vetëm lidhjet nga aplikacioni i prekur.
  4. Kërko për të lartë Koha e pritjes vlera, të cilat tregojnë vonesa në bazën e të dhënave.
  5. Kontrollo Pyetje të fundit të shtrenjta panel për pyetjet nga ai aplikacion që konsumon burime të konsiderueshme.

Nëse baza e të dhënave nuk tregon aktivitet të pazakontë ndërsa përdoruesit përjetojnë ngadalësi, problemi ka të ngjarë të qëndrojë në kodin e aplikacionit, vonesën e rrjetit ose performancën në anën e klientit.

4.5.2 Identifikimi i modeleve joefikase të aplikimit

Monitori i Aktivitetit zbulon disa anti-modele në dizajnin e aplikacioneve:

  • Aplikacionet Chatty: Shumë pyetje të vogla në vend të më pak pyetjeve, më efikase. Identifikuar nga numri i lartë i lidhjeve dhe pyetjet e shumta të thjeshta në Pyetjet e Shtrenjtë të Kohëve të Fundit.
  • Pyetje N+1: Një pyetje e ndjekur nga N pyetje shtesë për të dhëna të lidhura. Shfaqet si një pyetje e thjeshtë me ekzekutime jashtëzakonisht të larta për minutë.
  • Sete të mëdha rezultatesh: Aplikacionet që marrin shumë më tepër të dhëna sesa nevojiten. Kërkoni për të dhëna të larta. Lexime Logjike i kombinuar me pyetje të thjeshta SELECT *.
  • Mungojnë afatet kohore: Aplikacionet që nuk caktojnë afate kohore të komandave mund t'i lënë lidhjet të hapura për një kohë të pacaktuar, të dukshme si seanca që funksionojnë gjatë në panelin Proceset.

5. Metoda alternative: Marrja e të dhënave të monitorit të aktivitetit nëpërmjet T-SQL

Ndërkohë që Monitori i Aktivitetit ofron një ndërfaqe grafike të përshtatshme, ndonjëherë ju duhet të merrni informacione ekuivalente në mënyrë programore ose të krijoni zgjidhje monitorimi të personalizuara.

5.1 Përdorimi i Pamjeve të Menaxhimit Dinamik (DMV)

SQL Server ekspozon informacionin e aktivitetit përmes pamjeve dinamike të menaxhimit, të cilat Monitori i Aktivitetit i pyet prapa skenave.

5.1.1 DMV-të kryesore për monitorimin e aktivitetit

DMV-të më të rëndësishme për replikimin e funksionalitetit të Monitorit të Aktivitetit përfshijnë:

  • sys.dm_exec_requests: Tregon kërkesat që aktualisht ekzekutohen me CPU, I/O dhe informacion pritjeje.
  • sys.dm_exec_sessions: Përmban informacione në nivel sesioni, si emri i hyrjes, emri i hostit dhe emri i programit.
  • sys.dm_os_wait_stats: Ofron statistika kumulative të pritjes për të gjithë instancën.
  • sys.dm_exec_query_stats: Përmban statistika të përgjithshme të performancës për pyetjet e ruajtura në memorien e përkohshme.
  • sys.dm_io_virtual_file_stats: Kthen statistikat e I/O për të dhënat dhe skedarët e regjistrit.
  • sys.dm_exec_sql_text: Rimerr tekstin SQL për një sql_handle ose plan_handle të dhënë.
  • sys.dm_exec_query_plan: Kthen planin e ekzekutimit për një pyetje të ruajtur në memorien e përkohshme.

5.1.2 Shembuj pyetjesh për informacionin e procesit

Për të replikuar funksionalitetin e panelit të Proceseve, mund të kërkoni:

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 Shembuj pyetjesh për statistikat e pritjes

Për të parë statistikat e pritjes të ngjashme me panelin e Pritjeve të Burimeve:

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 Përdorimi i sp_WhoIsActive

sp_WhoIsActive është një procedurë e fuqishme e ruajtur e krijuar nga komuniteti që ofron informacion më të detajuar sesa Activity Monitor në një grup të vetëm rezultatesh.

5.2.1 Instalimi i sp_WhoIsActive

Për të instaluar sp_WhoIsActive:

  1. Shkarkoni versionin më të fundit nga http://whoisactive.com.
  2. Shkarkimi është një skript SQL që përmban përkufizimin e procedurës.
  3. Hap skriptin në SQL Server Studio e Menaxhimit.
  4. Lidhu me tuajin SQL Server e shkallës.
  5. Ekzekutoni skriptin për të krijuar procedurën në bazën e të dhënave kryesore.
  6. Jepni leje ekzekutimi përdoruesve të duhur.

Meqenëse sp_WhoIsActive është instaluar në skedarin kryesor, ai është i arritshëm nga çdo kontekst i bazës së të dhënave.

5.2.2 Shembuj të Përdorimit Bazë

Mënyra më e thjeshtë për të përdorur sp_WhoIsActive është:

EXEC sp_WhoIsActive;

Kjo kthen një grup rezultatesh që tregon të gjitha seancat aktive me pyetjet e tyre, llojet e pritjes, informacionin e bllokimit dhe përdorimin e burimeve.

Për një mostër 10-sekondëshe që tregon aktivitetin gjatë asaj periudhe:

EXEC sp_WhoIsActive @delta_interval = 10;

Kjo llogarit deltat për metrika si CPU dhe leximet, duke treguar se çfarë ka ndodhur gjatë atyre 10 sekondave.

5.2.3 Parametrat e Avancuar

sp_WhoIsActive mbështet parametra të shumtë për personalizim:

  • @filtër: Filtroni rezultatet në sesione, baza të dhënash ose hyrje specifike.
  • @lloji_i_filterit: Specifikoni se për çfarë zbatohet filtri (sesion, bazë të dhënash, hyrje, etj.).
  • @get_plans: Përfshi planet e ekzekutimit në rezultate (vendosur në 1).
  • @get_locks: Shfaq informacion të detajuar të kyçjes (vendosur në 1).
  • @get_transaction_info: Shfaq detajet e transaksionit (vendosur në 1).
  • @sort_order: Rendit rezultatet sipas metrikave të ndryshme (CPU, leximet, kohëzgjatja, etj.).
  • @destination_table: Vendosni rezultatet në një tabelë për ndjekjen historike.

Shembull që tregon planet e renditura sipas CPU-së:

EXEC sp_WhoIsActive 
    @get_plans = 1,
    @sort_order = '[CPU] DESC';

5.3 Përdorimi i Procedurave të Ruajtura në Sistem

SQL Server përfshin procedurat tradicionale të ruajtura për monitorimin e aktivitetit, megjithëse ato ofrojnë më pak informacion sesa DMV-të ose Monitori i Aktivitetit.

5.3.1 sp_who dhe sp_who2

Procedura sp_who tregon informacionin bazë të sesionit:

EXEC sp_who;

Procedura sp_who2 ofron pak më shumë detaje:

EXEC sp_who2;

Të dyja procedurat tregojnë ID-të e sesioneve, emrat e hyrjes, kohën e CPU-së dhe informacionin e bllokimit. Megjithatë, atyre u mungon detajet e pasura të disponueshme përmes DMV-ve ose Monitorit të Aktivitetit. Ato janë më të dobishme për kontrolle të shpejta kur ju nevojiten informacione minimale shpejt.

5.3.2 Procedura të tjera të dobishme të sistemit

Procedurat shtesë të sistemit për monitorim përfshijnë:

  • sp_lock: Shfaq informacionin e kyçjes (i vjetruar; përdor në vend të saj sys.dm_tran_locks).
  • sp_monitor: Shfaq statistikat rreth SQL Server Aktiviteti.
  • sp_help: Tregon përkufizimet dhe metadatat e objekteve.
  • DBCC SQLPERF: Shfaq përdorimin e hapësirës së regjistrit të transaksioneve dhe statistikat e pritjes.

5.4 Krijimi i Skripteve të Monitorimit të Personalizuara

Për mjediset që kërkojnë monitorim specifik përtej asaj që ofron Activity Monitor, mund të ndërtoni zgjidhje të personalizuara duke përdorur DMV-të.

5.4.1 Skript i plotë ekuivalent i monitorit të aktivitetit

Ja një skript gjithëpërfshirës që përsërit shumicën e funksionaliteteve të Monitorit të Aktivitetit:

-- 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 Automatizimi i Monitorimit me Punët e SQL Agent

Mund të planifikoni skripte monitorimi të personalizuara duke përdorur SQL Server Agjenti:

  1. Krijoni një tabelë për të ruajtur rezultatet e monitorimit.
  2. Modifikoni skriptin tuaj të monitorimit për të futur rezultatet në këtë tabelë.
  3. In SQL Server Studio Menaxhimi, zgjero SQL Server Agjent në Eksploruesin e Objekteve.
  4. Djathtas-klikoni Punë dhe përzgjidhni Punë e re.
  5. Konfiguroni punën për të ekzekutuar skriptin e monitorimit në intervale të rregullta.
  6. Vendosni alarme ose raporte bazuar në të dhënat e mbledhura.

Kjo qasje mundëson ndjekjen historike dhe analizën e trendeve që Monitori i Aktivitetit nuk e ofron.

6. Kufizimet dhe Konsideratat e Monitorit të Aktivitetit

Ndërsa Monitori i Aktivitetit është i vlefshëm, të kuptuarit e kufizimeve të tij ju ndihmon ta përdorni atë në mënyrë të përshtatshme dhe ta plotësoni atë me mjete të tjera kur është e nevojshme.

6.1 Kuptimi i Shpenzimeve të Monitorit të Aktivitetit

Monitori i Aktivitetit nuk është falas—ai konsumon burime të serverit për të mbledhur dhe shfaqur informacion. Të kuptuarit e këtij mbingarkese ju ndihmon ta përdorni atë në mënyrë të përgjegjshme.

6.1.1 Ndikimi në Burimet e Serverit

Monitori i Aktivitetit ekzekuton pyetje kundër DMV-ve të sistemit sa herë që rifreskohet. Këto pyetje konsumojnë CPU-në, gjenerojnë lexime logjike dhe mund të mbajnë bllokime për një kohë të shkurtër në tabelat e sistemit. Në serverat e ngarkuar, kjo mbingarkesë mund të ndikojë në performancë.

Panelet Proceset dhe Pyetjet e Fundit të Çmuara janë veçanërisht të shtrenjta, pasi ato duhet të skanojnë DMV-të dhe tabelat e memories së përkohshme që potencialisht janë të mëdha. Në serverat me mijëra plane pyetjesh të ruajtura në memorien e përkohshme, rifreskimi i Pyetjeve të Fundit të Çmuara mund të zgjasë disa sekonda.

Dokumentacioni i Microsoft paralajmëron se intervalet e rifreskimit nën 10 sekonda mund të ndikojnë dukshëm në performancën e serverit, veçanërisht në sistemet e ngarkuara tashmë.

6.1.2 Praktikat më të Mira të Intervalit të Rifreskimit

Zgjidhni intervalet e rifreskimit të përshtatshme për situatën tuaj:

  • 1-5 sekonda: Vetëm për zgjidhjen e menjëhershme të problemeve kritike në servera pak të ngarkuar. Mos e lini Monitorin e Aktivitetit të aktivizuar në këto intervale.
  • 10 sekonda (parazgjedhur): E arsyeshme për shumicën e skenarëve të zgjidhjes së problemeve dhe monitorimin e përgjithshëm.
  • 30-60 sekonda: Zgjedhje më e mirë për serverat e prodhimit nën ngarkesë të lartë ose kur monitorohen për periudha të gjata.
  • Vetëm rifreskim manual: Për situata kur dëshironi të kontrolloni gjendjen aktuale herë pas here pa anketime të vazhdueshme.

Mbylleni gjithmonë Monitorin e Aktivitetit kur të keni mbaruar hetimin. Mos e lini të funksionojë vazhdimisht, veçanërisht me raste të shumta nga përdorues të ndryshëm.

6.2 Probleme me grupimin e tipit të pritjes

Qasja e Activity Monitor për kategorizimin e pritjeve, ndërkohë që thjeshton pamjen, mund të errësojë informacionin e rëndësishëm diagnostikues.

6.2.1 Si presin grupet e monitorimit të aktivitetit

SQL Server gjurmon qindra lloje të dallueshme pritjeje, secila prej të cilave tregon një burim ose gjendje specifike. Monitori i Aktivitetit i grupon këto në kategori të gjera si “Buffer Latch”, “Bllok” dhe “Memorie”.

Për shembull, kategoria “Buffer Latch” përfshin PAGELATCH_SH, PAGELATCH_UP, PAGELATCH_EX dhe disa lloje të tjera specifike pritjeje. Ndërsa të gjitha lidhen me aksesin në faqe, ato kanë shkaqe dhe zgjidhje të ndryshme.

Microsoft nuk dokumenton saktësisht se cilat lloje pritjesh lidhen me cilat kategori, duke e bërë të vështirë të kuptoni se çfarë po shihni në të vërtetë.

6.2.2 Llojet e Pritjes që Mungojnë

Monitori i Aktivitetit nuk i tregon të gjitha llojet e pritjes. Më e rëndësishmja, shpesh nuk i përfshin pritjet CXPACKET, të cilat tregojnë ekzekutim paralel të pyetjeve. Pritjet CXPACKET janë të zakonshme dhe zakonisht nuk janë problematike, por të dish që janë të pranishme të ndihmon të kuptosh karakteristikat e ngarkesës së punës.

Kur Activity Monitor tregon "Buffer Latch" si pritjen tuaj kryesore, por mjetet e tjera tregojnë se CXPACKET dominon, mospërputhja vjen nga logjika e filtrimit dhe grupimit të Activity Monitor.

6.2.3 Pse kanë rëndësi llojet specifike të pritjes

Njohja e llojit specifik të pritjes ka rëndësi për zgjidhjen e problemeve:

  • PAGELATCH_EX: Shpesh tregon kundërshtime për tempdb në faqet e alokimit. Zgjidhja përfshin shtimin e më shumë skedarëve të të dhënave tempdb.
  • PAGELATCH_SH: Mund të tregojë faqe të nxehta në tabelat e përdoruesve. Zgjidhja përfshin ndarjen ose riorganizimin e indeksit.
  • PAGELATCH_UP: E zakonshme gjatë përditësimeve. Mund të tregojë funksionim normal dhe jo problem.

Monitori i Aktivitetit i grupon të gjitha këto nën “Buffer Latch”, duke e bërë diagnostikimin më të vështirë. Mjete si sp_WhoIsActive dhe pyetjet DMV tregojnë lloje specifike pritjeje.

6.3 Saktësia dhe Afati i Përditësimit të të Dhënave

Monitori i Aktivitetit ofron një pamje pothuajse në kohë reale, por fjala kyçe është "afër". Të kuptuarit e metodës së mbledhjes së të dhënave ju ndihmon të interpretoni rezultatet në mënyrë korrekte.

6.3.1 Pamje e shpejtë kundrejt monitorimit të vazhdueshëm

Monitori i Aktivitetit tregon pamje të çastit të marra në çdo interval rifreskimi. Ngjarjet që ndodhin midis pamjeve të çastit nuk kapen. Nëse një pyetje ekzekutohet për 2 sekonda dhe ju e rifreskoni çdo 10 sekonda, mund ta shihni një herë ose aspak, varësisht nga koha.

Kjo do të thotë që Monitori i Aktivitetit shkëlqen në gjetjen e problemeve të vazhdueshme (minuta bllokimi që zgjasin, CPU vazhdimisht e lartë), por mund të mos i vërejë problemet kalimtare (bllokime të shkurtra, rritje të herëpashershme të pyetjeve).

6.3.2 Agregimi dhe Marrja e Mostrave

Paneli "Pyetje të Fundit të Shtrenjtë" tregon të dhënat e agreguara që kur planet e pyetjeve kanë hyrë në memorien e përkohshme. Dy pyetje identike me vlera të ndryshme parametrash shfaqen si një rresht i vetëm nëse ndajnë të njëjtin plan. Ky agregim mund të maskojë problemet me kombinime specifike parametrash (probleme me nuhatjen e parametrave).

Paneli i Pritjeve të Burimeve llogarit normat duke krahasuar pamjet e çastit. Nëse statistikat e pritjes rivendosen midis pamjeve të çastit (e rrallë por e mundur), normat e llogaritura mund të jenë të pasakta.

6.4 Kur NUK duhet të përdoret Monitori i Aktivitetit

Monitori i Aktivitetit nuk është i përshtatshëm për çdo skenar monitorimi. Njihni kur mjetet alternative janë zgjedhje më të mira.

6.4.1 Kërkesat e Analizës Historike

Monitori i Aktivitetit tregon vetëm aktivitetin aktual ose të kohëve të fundit. Ai nuk ruan të dhëna historike. Nëse keni nevojë të analizoni trendet gjatë ditëve ose javëve, të krahasoni performancën aktuale me nivelet bazë ose të gjeneroni raporte mbi modelet e performancës, Monitori i Aktivitetit nuk është i mjaftueshëm.

Për analizën historike, përdorni SQL ServerPaneli i Performancës i integruar, Ngjarjet e Zgjeruara me objektiva skedarësh ose zgjidhjet e monitorimit të palëve të treta.

6.4.2 Nevojat për Statistikat e Detajuara të Pritjes

Kur ju nevojitet informacion i saktë i llojit të pritjes për akordim të avancuar, grupimi dhe filtrimi i Activity Monitor e bëjnë atë të pamjaftueshëm. Përdorni pyetjet DMV direkt ose sp_WhoIsActive në vend të kësaj.

Për një analizë gjithëpërfshirëse të statistikave të pritjes, drejtoni një pyetje direkt te sys.dm_os_wait_stats dhe filtroni manualisht pritjet beninje.

6.4.3 Konsideratat e Serverit të Prodhimit

Në serverat e prodhimit me ngarkesë të lartë, mbingarkesa e Activity Monitor mund të jetë problematike. Administratorët e shumë bazave të të dhënave nuk duhet ta ekzekutojnë Activity Monitor njëkohësisht në të njëjtin server.

Për monitorimin e prodhimit, merrni në konsideratë alternativa më të lehta si pamjet e planifikuara të DMV-së të ruajtura në një bazë të dhënash monitorimi ose përdorni rrugëzimin vetëm për lexim për të monitoruar kopjet dytësore në konfigurimet Always On.

7. Praktikat më të mira për përdorimin e Monitorit të Aktivitetit

Ndjekja e praktikave më të mira siguron që të merrni vlerën maksimale nga Activity Monitor, duke minimizuar ndikimet negative në serverat tuaj.

7.1 Kur duhet të përdoret Monitori i Aktivitetit

Monitori i Aktivitetit shkëlqen në skenarë specifikë. Përdoreni kur pikat e forta të tij përputhen me nevojat tuaja.

7.1.1 Probleme me Performancën në Kohë Reale

Monitori i Aktivitetit është ideal kur përdoruesit po përjetojnë probleme dhe ju duhet ta diagnostikoni problemin menjëherë. Pamja në kohë reale ju ndihmon të shihni se çfarë po ndodh tani.

Kur merrni një telefonatë që thotë se "aplikacioni është i ngadaltë", hapja e Monitorit të Aktivitetit duhet të jetë një nga hapat tuaj të parë. Mund të përcaktoni shpejt nëse baza e të dhënave është e zënë, e bllokuar ose joaktive.

7.1.2 Hetimi i Ngadalësimit të Aplikacionit

Kur një aplikacion specifik nuk përgjigjet, Monitori i Aktivitetit ju ndihmon të përcaktoni nëse shkaku janë problemet e bazës së të dhënave. Filtroni panelin Proceset sipas emrit të aplikacionit për të parë vetëm aktivitetin e bazës së të dhënave të atij aplikacioni.

Nëse aplikacioni nuk tregon aktivitet në bazën e të dhënave ndërsa përdoruesit raportojnë probleme, problemi qëndron diku tjetër në stack. Nëse shihni bllokime të shumta ose pyetje të kushtueshme, e keni gjetur fajtorin.

7.1.3 Kontrolle të Shpejta Shëndetësore

Monitori i Aktivitetit ofron një panel të shkëlqyer për kontrolle të shpejta të gjendjes gjatë administrimit rutinë. Hapeni atë, shikoni grafikët e Përmbledhjes dhe verifikoni që asgjë nuk duket anormale.

Ky kontroll i përciptë zgjat vetëm disa sekonda dhe mund të zbulojë problemet përpara se ato të bëhen kritike. Bëjeni pjesë të rutinës suaj të përditshme.

7.2 Cilësimet optimale të konfigurimit

Konfigurimi i duhur i Activity Monitor përmirëson si dobinë e tij ashtu edhe gjurmën e burimeve të tij.

7.2.1 Intervalet e rekomanduara të rifreskimit

Përputhni intervalin e rifreskimit me qëllimin tuaj:

  • Zgjidhja aktive e problemeve: 10 sekonda siguron reagim të mirë me një kosto të arsyeshme.
  • Monitorim i zgjeruar: 30-60 sekonda zvogëlon ndikimin e serverit gjatë periudhave më të gjata të vëzhgimit.
  • Diagnoza e problemeve kritike: 5 sekonda jep detaje të larta kur çdo sekondë ka rëndësi, por përdoreni shkurtimisht.
  • Kontrollet e rregullta shëndetësore: Rifreskim manual (interval 1 orësh) kur nuk jeni duke shikuar në mënyrë aktive.

Mos harroni ta mbyllni Monitorin e Aktivitetit kur të keni mbaruar. Vendosja e tij në një interval të gjatë dhe harresa e tij harxhon burimet e serverit.

7.2.2 Strategjitë e Filtrimit

Përdorni filtra për t'u përqendruar në informacionin përkatës dhe për të zvogëluar ngarkesën njohëse:

  • Filtro proceset sipas Baza e të dhënave për të parë vetëm aktivitetin kundër bazave të të dhënave specifike.
  • Filtro sipas Login për të ndjekur aktivitetin e një përdoruesi specifik.
  • Filtro sipas Shteti i detyrës = NË EKZEKUTIM për të fshehur sesionet joaktive.
  • Filtro sipas Aplikacion për të izoluar trafikun nga programe specifike.
  • Shfaq vetëm Jo-Blanks në Bllokuar nga për të parë vetëm situatat bllokuese.

7.2.3 Përzgjedhja dhe Renditja e Kolonave

Zhvilloni një qasje sistematike për shqyrtimin e të dhënave të Monitorit të Aktivitetit:

  1. Filloni me Përmbledhjen: Kontrolloni grafikët për rritje ose anomali të dukshme.
  2. Kontrolloni proceset për bllokim: Rendit sipas ID-së së Sesionit, pastaj kërko vlerat e Bllokuara nga.
  3. Pritjet e Burimeve të Rishikimit: Rendit sipas Kohës Kumulative të Pritjes për të identifikuar pengesat në burime.
  4. Analizoni Pyetjet e Shtrenjtë: Rendit sipas metrikave të ndryshme (CPU, ekzekutime, lexime) për të gjetur lloje të ndryshme problemesh.
  5. Verifiko me Panelin I/O: Konfirmo nëse pyetjet me intensitet të lartë I/O lidhen me aktivitetin e lartë të diskut.

7.3 Integrimi me mjete të tjera

Monitori i Aktivitetit funksionon më mirë si pjesë e një grupi më të gjerë mjetesh sesa si një zgjidhje e pavarur.

7.3.1 Përdorimi me SQL Server Profiler

Monitori i Aktivitetit dhe SQL Server Profilizuesit plotësojnë mirë njëri-tjetrin. Kur identifikoni një seancë problematike në Monitorin e Aktivitetit, klikoni me të djathtën mbi të dhe zgjidhni Procesi i gjurmimit në SQL Server Profiler.

Kjo hap Profiler me filtra të konfiguruar tashmë për të kapur vetëm aktivitetin e atij sesioni. Ju shihni sekuencën e plotë të deklaratave të ekzekutuara, informacionin e kohës dhe mesazhet e gabimit - detaje që Monitori i Aktivitetit nuk i ofron.

Për të mësuar më shumë rreth SQL Server Aftësitë e profilizuesit dhe teknikat e avancuara të gjurmimit, shihni tonën gjithëpërfshirës SQL Server Udhëzuesi i profiluesit.

7.3.2 Plotësimi me Ngjarje të Zgjeruara

Ngjarjet e Zgjeruara ofrojnë monitorim të detajuar dhe me kosto të ulët që kap informacionin që Monitori i Aktivitetit humbet. Krijoni seanca të Ngjarjeve të Zgjeruara për të ndjekur ngjarje specifike si bllokime, pyetje afatgjata ose rikompilime të tepërta.

Përdorni Monitorin e Aktivitetit për hetim të menjëhershëm dhe Ngjarjet e Zgjeruara për monitorim të vazhdueshëm dhe analizë historike. Të dy mjetet adresojnë nevoja të ndryshme.

Për të mësuar më shumë rreth SQL Server Kapacitete të zgjeruara të ngjarjeve dhe teknika të avancuara të monitorimit, shihni tonën gjithëpërfshirës SQL Server Udhëzues i Zgjeruar për Ngjarjet.

7.3.3 Zgjidhje Monitorimi nga Palët e Treta

Mjete komerciale si SolarWinds Database Performance Analyzer, Redgate SQL Monitor dhe Quest Spotlight ofrojnë veçori që i mungojnë Activity Monitor: alarmim, trend historik, planifikim kapaciteti dhe diagnostikim automatik.

Këto mjete janë shtesa të vlefshme për Monitorin e Aktivitetit, jo zëvendësime. Monitori i Aktivitetit mbetet i dobishëm për kontrolle dhe hetime të shpejta edhe kur janë në dispozicion mjete të sofistikuara monitorimi.

7.4 gabime të zakonshme që duhen shmangur

Të kuptuarit e gabimeve të zakonshme të Monitorit të Aktivitetit ju ndihmon ta përdorni atë në mënyrë më efektive.

7.4.1 Lënia e Monitorit të Aktivitetit në Punë të Vazhdueshme

Gabimi më i zakonshëm është hapja e Activity Monitor dhe lënia e tij në punë për një kohë të pacaktuar. Kjo harxhon burimet e serverit dhe ofron pak vlerë pasi nuk po shikoni në mënyrë aktive.

Mbylleni Monitorin e Aktivitetit kur nuk e përdorni në mënyrë aktive. Nëse keni nevojë për monitorim të vazhdueshëm, zbatoni një zgjidhje të duhur monitorimi me mbledhje të planifikuar të të dhënave.

7.4.2 Mbështetja e tepërt vetëm te Monitori i Aktivitetit

Monitori i Aktivitetit ofron një perspektivë mbi gjendjen e serverit. Mos u mbështetni vetëm tek ai. Plotësojeni me Monitorin e Performancës së Windows për metrika në nivel sistemi operativ, Ngjarjet e Zgjeruara për ndjekje të detajuar dhe analizën e planit të ekzekutimit për rregullimin e pyetjeve.

Monitori i Aktivitetit ju ndihmon të identifikoni problemet, por zgjidhja e tyre shpesh kërkon mjete shtesë dhe analiza më të thella.

Mësoni më shumë për SQL Server monitor i performancës në tonën udhëzues i plotë.

7.4.3 Injorimi i Trendeve Historike

Monitori i Aktivitetit tregon gjendjen aktuale, por problemet e performancës shpesh kanë modele të dukshme vetëm me kalimin e kohës. Zbatoni mbledhjen e të dhënave historike në mënyrë që të krahasoni metrikat aktuale me ato bazë dhe të identifikoni trendet.

Pa kontekst historik, mund të mos e kuptoni që përdorimi "normal" i CPU-së sot është 30% më i lartë se niveli bazë i muajit të kaluar, duke treguar një degradim gradual.

8. Zgjidhja e problemeve të monitorit të aktivitetit

Vetë Monitori i Aktivitetit ndonjëherë has probleme. Njohja e mënyrës së zgjidhjes së këtyre problemeve parandalon zhgënjimin.

8.1 Monitori i Aktivitetit Nuk Hapet ose Nuk Shfaq të Dhëna

Kur Monitori i Aktivitetit hapet, por shfaq panele bosh ose nuk hapet fare, mund të jenë disa faktorë përgjegjës.

8.1.1 Probleme me lejet

Shkaku më i zakonshëm i problemeve me Monitorin e Aktivitetit është mungesa e lejeve. Për të verifikuar dhe zgjidhur:

  1. Kontrolloni lejet tuaja në nivelin e serverit:
    SELECT * FROM fn_my_permissions(NULL, 'SERVER')
    WHERE permission_name = 'VIEW SERVER STATE';
    
  2. Nëse nuk kthehen rreshta, nuk ju mungon leja VIEW SERVER STATE.
  3. Kërkoji një administratori të serverit ta japë atë:
    USE master;
    GRANT VIEW SERVER STATE TO [YourLogin];
    
  4. Mbylle dhe rihap Monitorin e Aktivitetit pasi të jenë dhënë lejet.

8.1.2 Probleme me Përputhshmërinë e Versioneve

Duke përdorur një version të vjetër të SQL Server Studio e Menaxhimit për t'u lidhur me një më të ri SQL Server versioni mund të shkaktojë dështime të Monitorit të Aktivitetit. Mjeti mund të mos i kuptojë llojet e reja të pritjes ose kolonat e pamjes së sistemit.

Përdorni gjithmonë versionin SSMS që përputhet ose është më i ri se versioni juaj SQL Server version. Microsoft ofron SSMS-në më të fundit si shkarkim falas të veçantë nga SQL Server vetë.

8.1.3 Probleme me Firewall-in dhe Rrjetin

Monitori i Aktivitetit kërkon lidhje me SQL Server instancë në portat standarde (1433 si parazgjedhje). Nëse mund të lidheni nëpërmjet Object Explorer, por Activity Monitor dështon, rregullat e firewall-it mund të jenë duke bllokuar lidhje specifike.

Verifikoni që klienti juaj mund të arrijë te SQL Server makinën në të gjitha portat e nevojshme. Kontrolloni si Firewall-in e Windows-it ashtu edhe çdo firewall të rrjetit midis klientit dhe serverit tuaj.

8.2 Monitori i Aktivitetit i Pauzuar Përgjithmonë

Një problem i zakonshëm, veçanërisht në SQL Server 2019, po hapet Monitori i Aktivitetit në një gjendje të ndaluar dhe refuzon të rifillojë.

8.2.1 Kuptimi i Gjendjes së Pauzës

Kur Monitori i Aktivitetit ndalet, të gjitha panelet shfaqin statusin "Ndalua" me një buton rifillimi që mund të mos funksionojë. Kjo ju pengon të shihni ndonjë aktivitet të serverit.

Gjendja e pauzës zakonisht ndodh për shkak të problemeve me lejet, kufizimeve të lidhjes në distancë ose gabimeve në versionin SSMS, në vend të një veprimi të qëllimshëm pauze.

8.2.2 Shkaqe të Zakonshme

Monitori i Aktivitetit mund të hyjë në gjendje të ndërprerë përgjithmonë për shkak të:

  • Mungon leja VIEW SERVER STATE në panelet më të reja të shtuara së fundmi SQL Server Versione
  • Lidhjet në distancë janë çaktivizuar në SQL Server shembull
  • Dështime të vërtetimit për pyetje specifike të sistemit
  • Gabime në versione specifike të SSMS, veçanërisht nga 18.0 deri në 18.3
  • Probleme me lidhjen midis klientit dhe serverit

8.2.3 Hapat e zgjidhjes

Për të zgjidhur problemet e gjendjes së pezulluar të Monitorit të Aktivitetit:

  1. Përditëso SSMS-në: Shkarkoni dhe instaloni më të fundit SQL Server Versioni i Management Studio nga faqja e internetit e Microsoft. Shumë gabime të gjendjes së pezulluar u rregulluan në versionet e mëvonshme.
  2. Verifikoni lejet: Sigurohuni që keni lejet VIEW SERVER STATE dhe VIEW ANY DEFINITION.
  3. Kontrolloni lidhjet në distancë: Verifikoni që SQL Server Instanca lejon lidhje në distancë:
    EXEC sp_configure 'remote access';
    

    Nëse vlera është 0, kërkoni një administratori ta aktivizojë atë.

  4. Rinisni SSMS-në: Ndonjëherë thjesht mbyll të gjitha dritaret dhe rinis kompjuterin. SQL Server Studio e Menaxhimit e zgjidh problemin.
  5. Lidhu me Autentifikimin e Windows: Nëse përdorni autentifikim SQL, provoni autentifikimin e Windows, pasi ndonjëherë anashkalon problemet e ndalimit që lidhen me autentifikimin.

8.3 Probleme me Performancën gjatë Përdorimit të Monitorit të Aktivitetit

Nëse vetë Monitori i Aktivitetit ngadalësohet ose shkakton përkeqësim të performancës së serverit, nevojitet rregullim.

8.3.1 Zvogëlimi i Shpenzimeve të Monitorimit

Për të minimizuar ndikimin e Monitorit të Aktivitetit:

  1. Rritni intervalin e rifreskimit në 30 sekonda ose 1 minutë.
  2. Mbyllni panelet që nuk i përdorni në mënyrë aktive duke klikuar butonin e mbylljes.
  3. Kur panelet janë të palosur, Monitori i Aktivitetit nuk kërkon të dhëna për to.
  4. Shmangni ekzekutimin e shumë instancave të Monitorit të Aktivitetit njëkohësisht.
  5. Mbylleni plotësisht Activity Monitor kur nuk i hetoni në mënyrë aktive problemet.

8.3.2 Metodat alternative të monitorimit të peshës së lehtë

Nëse Monitori i Aktivitetit kërkon shumë burime për mjedisin tuaj, merrni në konsideratë alternativat:

  • Pyetni direkt DMV-të: Shkruani pyetje specifike T-SQL që marrin vetëm informacionin që ju nevojitet.
  • Përdorni sp_WhoIsActive: Kjo procedurë e ruajtur është shumë e optimizuar dhe zakonisht ka kosto më të ulët sesa Monitori i Aktivitetit.
  • Zbatoni marrjen e mostrave: Planifikoni punë të SQL Agent që kapin pamje të çastit të të dhënave DMV në intervale të rregullta, duke i ruajtur rezultatet në tabela për analiza të mëvonshme.
  • Monitoroni kopjet dytësore: In Grupet Gjithmonë të Disponueshme, ekzekutoni Monitorin e Aktivitetit kundrejt një konfigurimi dytësor të lexueshëm në vend të atij parësor.

8.4 Informacion i pasaktë ose i munguar

Ndonjëherë, Monitori i Aktivitetit shfaq informacione që duken të pasakta ose të paplota.

8.4.1 Verifikimi i të dhënave me DMV-të

Kur rezultatet e Monitorit të Aktivitetit duken të dyshimta, verifikojini ato duke pyetur drejtpërdrejt DMV-të themelore. Për shembull, nëse paneli i Proceseve nuk tregon bllokim, por përdoruesit e raportojnë atë, pyetni:

SELECT 
    blocking_session_id,
    session_id,
    wait_type,
    wait_time,
    wait_resource
FROM sys.dm_exec_requests
WHERE blocking_session_id != 0;

Nëse kjo pyetje tregon bllokim që nuk u arrit nga Monitori i Aktivitetit, keni konfirmuar një problem me ekranin.

8.4.2 Kuptimi i Kohës së Rifreskimit të të Dhënave

Mbani mend se Monitori i Aktivitetit tregon pamje të çastit. Një pyetje që ekzekutohet midis intervaleve të rifreskimit nuk do të shfaqet në Pyetjet e Fundit të Shtrenjtë përveç nëse plani i ekzekutimit të saj mbetet në memorien e përkohshme.

Në mënyrë të ngjashme, statistikat e pritjes në panelin Pritjet e Burimeve pasqyrojnë akumulimin që nga fotografia e fundit e çastit. Ngarkesat e punës që ndryshojnë me shpejtësi mund të tregojnë modele të ndryshme në çdo rifreskim.

9. Teknika të Avancuara të Monitorimit të Aktivitetit

Administratorët me përvojë të bazave të të dhënave përdorin Activity Monitor në mënyra të sofistikuara për të nxjerrë vlerën maksimale diagnostikuese.

9.1 Kombinimi i Paneleve të Shumëfishta për Analizën e Shkakut Rrënjësor

Fuqia e vërtetë e Monitorit të Aktivitetit del në pah kur ju lidhni informacionin nëpër panele të shumta për të kuptuar çështjet komplekse të performancës.

9.1.1 Korrelacioni i pritjeve me proceset

Kur paneli "Pritjet e Burimeve" tregon kohë të larta pritjeje në një kategori, përdorni panelin "Proceset" për të identifikuar se cilat seanca po përjetojnë ato pritje:

  1. Vini re kategorinë e pritjes me kohë të lartë pritjeje kumulative (p.sh., "Bllok").
  2. Kaloni te paneli Proceset.
  3. Ndaj sipas Lloji i pritjes për të grupuar seancat sipas pritjes së tyre aktuale.
  4. Kërko për seanca që tregojnë llojet e pritjes në kategorinë problematike.
  5. Për ato seanca, shqyrtoni Burimi i Pritjes kolonë për të parë se cilat objekte të bazës së të dhënave janë të përfshira.
  6. Klikoni me të djathtën dhe zgjidhni Detaje për të parë tekstin e kërkesës.

Ky korrelacion ju ndihmon të kaloni nga "kemi pritje për bllokime" në "kjo pyetje specifike po pret për bllokime në këtë tabelë".

9.1.2 Lidhja e pyetjeve të kushtueshme me problemet e hyrjes/daljes

Kur paneli i Hyrjes/Daljes së Skedarit të të Dhënave tregon aktivitet të lartë të diskut në një bazë të dhënash specifike:

  1. Vini re se cilët skedarë të bazës së të dhënave kanë shpejtësi të lartë leximi ose shkrimi MB/sek.
  2. Kaloni te Pyetjet e fundit të shtrenjta.
  3. Ndaj sipas Lexime fizike/sek për të identifikuar pyetjet që lexojnë shumë nga disku.
  4. Filtroni ose identifikoni vizualisht pyetjet që ekzekutohen në bazën e të dhënave me I/O të lartë.
  5. Shqyrtoni planet e ekzekutimit të këtyre pyetjeve për skanime tabelash ose indekse që mungojnë që shkaktojnë I/O të tepërta.

Kjo analizë me shumë panele lidh simptomat (hyrje/dalje të larta në disk) me shkaqet (pyetje specifike joefikase).

9.2 Përdorimi i Monitorit të Aktiviteteve për Planifikimin e Kapacitetit

Ndërsa Monitori i Aktivitetit nuk ruan të dhëna historike, mund ta përdorni strategjikisht për vëzhgime të planifikimit të kapacitetit.

9.2.1 Identifikimi i Modeleve të Përdorimit të Pikut

Monitoroni aktivitetin e serverit në kohë të ndryshme të ditës për të identifikuar modelet e përdorimit:

  1. Hapni Monitorin e Aktivitetit gjatë orarit të njohur të pikut të punës.
  2. Vini re vlerat maksimale të grafikut % të Kohës së Procesorit.
  3. Regjistro numrin maksimal të Detyrave në Pritje.
  4. Vëzhgoni Kërkesat në Grumbull/sek në orët e pikut.
  5. Dokumentoni bazat e të dhënave më të ngarkuara në panelin Proceset.
  6. Përsëriteni gjatë orëve jashtë orarit të pikut për krahasim.

Nëse koha e procesorit në orën e pikut tejkalon vazhdimisht 80%, po i afroheni limiteve të kapacitetit të CPU-së. Në mënyrë të ngjashme, rritja e numrit të pritjeve tregon rritjen e konkurrencës për burime.

9.2.2 Analiza e Trendit të Burimeve

Ndërkohë që Monitori i Aktivitetit tregon gjendjen aktuale, mund ta përdorni për të kontrolluar trendet e menjëhershme duke regjistruar metrika kryesore me kalimin e kohës:

  • Bëni pamje të ekranit të panelit "Përmbledhje" në të njëjtën kohë çdo ditë
  • Regjistro vlerat maksimale nga secili grafik
  • Krahasoni javë pas jave për të identifikuar trendet e rritjes
  • Kushtojini vëmendje rritjeve graduale të kohës mesatare të procesorit ose shpejtësive të hyrjes/daljes.

Ky trend manual plotëson zgjidhjet më të sofistikuara të monitorimit dhe ndihmon në justifikimin e zgjerimit të kapacitetit.

9.3 Dokumentimi i Bazave të Performancës

Përcaktimi i metrikave bazë të performancës ju ndihmon të dalloni kur performanca përkeqësohet.

9.3.1 Kapja e Metrikave Bazë

Gjatë periudhave të performancës së mirë të njohur, dokumentoni metrikat e Monitorit të Aktivitetit:

  1. Hapni Monitorin e Aktivitetit gjatë operacioneve normale të biznesit (jo në orarin e pikut ose jashtë orarit të pikut).
  2. Vlerat e panelit të Përmbledhjes së Regjistrimeve:
    • Diapazoni tipik i kohës së procesorit %
    • Numri mesatar i detyrave në pritje
    • Shpejtësia normale e hyrjes/daljes në bazën e të dhënave
    • Kërkesa tipike në seri/sek
  3. Vini re kategoritë e panelit "Pritjet e Burimeve" që tregojnë kohën më të madhe të pritjes.
  4. Dokumentoni numrin e proceseve aktive zakonisht në panelin Proceset.
  5. Regjistro metrika përfaqësuese të ekzekutimit të pyetjeve nga Pyetjet e Shpejta të Shtrenjtë.

Ruajeni këtë dokumentacion bazë për referencë në të ardhmen kur hetoni problemet e performancës.

9.3.2 Krahasimi i Performancës Aktuale me atë Bazë

Kur lindin probleme me performancën, krahasoni leximet aktuale të Monitorit të Aktivitetit me vlerat bazë të dokumentuara:

  • A është koha e procesorit dukshëm më e lartë se niveli bazë? Përqendrohuni në pyetjet që kërkojnë shumë punë nga CPU-ja.
  • A janë detyrat e pritjes 2-3 herë nivelet bazë? Hetoni pritjet e burimeve.
  • A është I/O dukshëm më i lartë? Kontrolloni panelin I/O të Skedarit të të Dhënave dhe pyetjet e kushtueshme.
  • A janë kërkesat në grup më të ulëta se niveli bazë gjatë orëve të pikut? Kërkoni probleme bllokimi ose lidhjeje.

Ky krahasim ju ndihmon të identifikoni se çfarë ka ndryshuar dhe të përqendroni përpjekjet për zgjidhjen e problemeve në mënyrë të përshtatshme.

9.4 Krijimi i Rrjedhave të Punës së Monitorimit të Personalizuar

Zhvilloni rrjedha pune sistematike për skenarë të zakonshëm hetimi për të siguruar një analizë të plotë dhe të përsëritshme.

9.4.1 Procesi i Hetimit Hap pas Hapi

Kur përdoruesit raportojnë probleme me performancën, ndiqni një rrjedhë pune të qëndrueshme:

  1. Kontroll i shpejtë shëndetësor: Hapni Monitorin e Aktivitetit dhe skanoni grafikët e panelit të Përmbledhjes për anomali të dukshme.
  2. Kontrolloni për bllokim: Zgjero panelin Proceset, filtro për Jo-Blanks në kolonën Blocked By.
  3. Identifikoni mosmarrëveshjen për burimet: Rishikoni panelin "Pritjet e Burimeve" të renditur sipas kohës së pritjes.
  4. Gjeni pyetje të shtrenjta: Shqyrtoni Pyetjet e Fundit të Shtrenjtë të renditura sipas CPU-së, pastaj ekzekutimeve dhe pastaj leximeve.
  5. Korreloni modelet I/O: Referoni pyetjet e shtrenjta me aktivitetin e panelit I/O të Skedarit të të Dhënave.
  6. Gjetjet e dokumentit: Bëni pamje të ekranit dhe regjistroni ID-të përkatëse të sesionit, llojet e pritjes dhe detajet e pyetjeve.
  7. Zhytje e thelle: Përdorni gjurmët e Profiler, analizën e planit të ekzekutimit dhe pyetjet e DMV për hetim të detajuar të problemeve të identifikuara.

9.4.2 Kriteret e Përshkallëzimit

Vendosni kritere për përshkallëzimin e çështjeve kundrejt vazhdimit të hetimit:

  • Përshkallëzoni menjëherë: Zinxhirë bllokues që zgjasin >5 minuta, koha e procesorit në 100% për >2 minuta, proceset kritike të sistemit tregojnë gjendje TË PEZULLUARA.
  • Përshkallëzoni me analizën: Pyetje të kushtueshme të përsëritura që konsumojnë >50% të CPU-së, kohë përgjigjeje të larta I/O >50ms, dhëniet e memories dështojnë në mënyrë të përsëritur.
  • Heto më tej: Pritje të përkohshme që zgjidhen brenda disa minutash, pyetje me plane jo optimale por me performancë të pranueshme, bllokime të vogla me kohëzgjatje <30 sekonda.

10. Monitori i Aktivitetit në të Ndryshme SQL Server Versione

Monitori i Aktivitetit ka evoluar në të gjithë SQL Server versione, me çdo lëshim që sjell përmirësime dhe herë pas here çështje të reja.

10.1 Monitori i Aktivitetit në SQL Server 2008 dhe më vonë

SQL Server Viti 2008 prezantoi dizajnin modern të Monitorit të Aktivitetit që mbetet kryesisht i pandryshuar sot.

10.1.1 Funksione të reja të prezantuara në SQL Server 2008

La SQL Server Ridizajnimi i Monitorit të Aktivitetit të vitit 2008 solli përmirësime të rëndësishme:

  • Panel grafik me grafikë në kohë reale në panelin Përmbledhje
  • Ndërfaqe paneli e zgjerueshme/e palosshme që zëvendëson pamjen e vjetër vetëm të rrjetës
  • Paneli "Kërkesat e fundit të shtrenjta" që tregon të dhënat e përgjithshme të performancës së pyetjeve
  • Paneli i Hyrjes/Daljes së Skedarit të të Dhënave për monitorimin e aktivitetit të diskut për çdo skedar
  • Paneli i Përmirësuar i Pritjeve të Burimeve me kategorizim pritjeje
  • Klikoni me të djathtën në menutë e kontekstit për veprimet e procesit si mbyllja e seancave dhe hapja e Profiler
  • Intervale të konfigurueshme të rifreskimit nga 1 sekondë në 1 orë

Këto ndryshime e transformuan Monitorin e Aktivitetit nga një listë e thjeshtë procesesh në një panel monitorimi gjithëpërfshirës.

10.1.2 Ndryshimet nga SQL Server 2005

SQL Server Monitori i Aktivitetit i vitit 2005 ishte shumë më i kufizuar:

  • Qasja bëhet përmes dosjes së Menaxhimit në Eksploruesin e Objekteve në vend të shiritit të veglave
  • Rrjetë e vetme që tregon listën e proceseve me informacion bazë
  • Pa grafikë ose panele të shumëfishta
  • Pa pyetje të kushtueshme ose monitorim të I/O-ve
  • Informacion mbi statistikat e pritjes së kufizuar

Ridizajnimi i vitit 2008 përfaqësonte një riimagjinim të plotë dhe jo një përmirësim gradual.

10.2 Monitori i Aktivitetit në SQL Server 2014/2016

SQL Server Vitet 2014 dhe 2016 bënë përmirësime graduale në mbledhjen e të dhënave themelore të Activity Monitor, por pak ndryshime vizuale.

10.2.1 Përmirësime dhe përmirësime

Përmirësimet kryesore në këto versione përfshinin:

  • Performancë më e mirë kur monitoroni serverat me mijëra plane të ruajtura në memorje
  • Aftësi të përmirësuara filtrimi në panelin Proceset
  • Përmirësimi i saktësisë së grumbullimit të statistikave të pritjes
  • Trajtim më i mirë i renditjes dhe filtrimit të kolonave me grupe të mëdha rezultatesh
  • Pyetje më efikase të DMV-së që zvogëlojnë mbingarkesën e monitorimit

Ndërfaqja kryesore mbeti në përputhje me SQL Server 2008, duke ruajtur njohuritë për administratorët.

10.3 Monitori i Aktivitetit në SQL Server 2019/2022

I fundit SQL Server Versionet vazhdojnë evolucionin e Activity Monitor me fokus në performancë dhe stabilitet.

10.3.1 Karakteristikat dhe Aftësitë më të Fundit

SQL Server Monitori i Aktivitetit 2019 dhe 2022 përfshin:

  • Mbështetje për llojet e reja të pritjes të prezantuara në këto versione
  • Performancë e përmirësuar e renderimit në SSMS duke përdorur teknologjinë WPF
  • Trajtimi më i mirë i një numri të madh seancash aktive
  • Përputhshmëri e përmirësuar me platformat cloud SQL
  • Metrika më të sakta të CPU-së dhe I/O-së

10.3.2 Probleme të njohura në versionet e fundit

SQL Server Viti 2019 prezantoi disa gabime në Monitorin e Aktivitetit:

  • Gjendja e përhershme e pauzës: Monitori i Aktivitetit shpesh hyn në gjendje pauze dhe nuk rifillon, veçanërisht në SSMS 18.0-18.3. Është rregulluar në versionet e mëvonshme të SSMS.
  • Dështimet e lidhjes në distancë: Disa konfigurime e pengojnë Activity Monitor të hapet në instancat e largëta. Zgjidhjet alternative përfshijnë aktivizimin e flamujve specifikë të gjurmimit ose përdorimin e ndërtimeve më të reja SSMS.
  • Çështjet e lejes: Pamjet e reja të sistemit kërkojnë leje shtesë që nuk dokumentohen qartë, duke shkaktuar ekrane bosh edhe me VIEW SERVER STATE.

Përdorni gjithmonë versionin më të fundit të SSMS kur punoni me SQL Server 2019 dhe 2022 për të shmangur këto probleme.

11. Raste dhe Shembuj Përdorimi Praktik

Shembuj nga bota reale demonstrojnë se si të aplikohet në mënyrë efektive Activity Monitor në skenarë të zakonshëm të zgjidhjes së problemeve.

11.1 Studimi i rastit: Diagnostikimi i një aplikacioni të ngadaltë në internet

Një ekip zhvilluesish raporton se aplikacioni i tyre në internet është bërë tepër i ngadaltë, me ngarkimin e faqeve që zgjat 20-30 sekonda në vend të 2-3 sekondave që duhen normalisht.

11.1.1 Hetimi Fillestar me Panelin e Përmbledhjes

Hapni Monitorin e Aktivitetit dhe shqyrtoni panelin Përmbledhje:

  1. Grafiku "% e Kohës së Procesorit" tregon 85-95% të përdorimit të CPU-së, dukshëm më i lartë se vlera normale bazë prej 30-40%.
  2. Detyrat në pritje luhaten midis 10-20 detyrave, kundrejt një niveli normal bazë prej 0-3.
  3. Hyrjet/Daljet e bazës së të dhënave tregojnë aktivitet të moderuar rreth 50 MB/s.
  4. Kërkesat në grup/sek janë më të ulëta se sa pritej në 100/sek, kundrejt një shkalle tipike prej 300-400/sek gjatë orarit të punës.

Ky model sugjeron një bllokim të CPU-së me vështirësi në burime që shkakton ulje të rendimentit. Serveri po punon shumë, por nuk përpunon shumë kërkesa.

11.1.2 Identifikimi i pyetjes problematike

Zgjero panelin Pyetjet e fundit të shtrenjta dhe rendit sipas Ekzekutimeve/min:

  1. Pyetja kryesore tregon 15,000 ekzekutime në minutë.
  2. Klikoni me të djathtën dhe zgjidhni Redakto Tekstin e Pyetjes për të shqyrtuar pyetjen.
  3. Pyetja është një deklaratë e thjeshtë SELECT që rikthen një të dhënë të vetme përdoruesi: SELECT * FROM Users WHERE UserId = @UserId.
  4. Ky pyetësor nuk duhet të ekzekutohet 15,000 herë në minutë për përdorim normal të aplikacionit.

Klikoni me të djathtën mbi pyetjen dhe zgjidhni Shfaq Planin e EkzekutimitPlani tregon një skanim tabele në tabelën Përdoruesit me një paralajmërim për një indeks që mungon në kolonën UserId.

Filtro panelin Proceset sipas Aplikacionit për të shfaqur vetëm lidhjet e aplikacionit web. Sesione të shumëfishta tregojnë se e njëjta pyetje ekzekutohet në mënyrë të përsëritur.

11.1.3 Zgjidhja dhe Verifikimi

Problemi rrjedh nga dy probleme: ekzekutime të tepërta të pyetjeve dhe një indeks që mungon. Hapat e zgjidhjes:

  1. Krijo indeksin që mungon:
    CREATE NONCLUSTERED INDEX IX_Users_UserId 
    ON Users (UserId);
    
  2. Kontaktoni ekipin e zhvillimit rreth ekzekutimeve të tepërta. Hetimi zbulon një problem me pyetje N+1 në kodin e aplikacionit ku një lak merr të dhënat e përdoruesit për secilin artikull në një listë.
  3. Modifiko aplikacionin për të grupuar kërkimet e përdoruesit në një pyetje të vetme duke përdorur një klauzolë IN ose një parametër me vlerë tabelare.
  4. Verifikoni rregullimin duke monitoruar Monitorin e Aktivitetit pas vendosjes. Përdorimi i CPU-së bie në 35-40%, ekzekutimet në minutë ulen në 200-300 dhe kohët e reagimit të aplikacionit kthehen në normale.

11.2 Studimi i Rastit: Zgjidhja e një Problemi Bllokimi

Përdoruesit raportojnë se sistemi i futjes së porosive ngrin periodikisht për 30-60 sekonda përpara se të rifillojë funksionimin normal.

11.2.1 Zbulimi i Zinxhirit të Bllokimit

Hapni Monitorin e Aktivitetit gjatë njërës prej këtyre ngjarjeve të ngrirjes dhe zgjeroni panelin e Proceseve:

  1. Ndaj sipas ID e sesionit për të parë të gjitha seancat e organizuara.
  2. Sesione të shumëfishta tregojnë vlera në Bllokuar nga kolonë, të gjitha që tregojnë për ID-në e Sesionit 73.
  3. Sesioni 73 tregon '1' në Bllokues koke kolonë, duke konfirmuar se është shkaku rrënjësor.
  4. La Lloji i pritjes për sesionet e bllokuara tregon LCK_M_X, që tregon se ato janë duke pritur për bllokime ekskluzive.
  5. La Burimi i Pritjes Kolona tregon se bllokimi është në tabelën e Porosive.

11.2.2 Analizimi i Shkakut

Klikoni me të djathtën mbi Sesionin 73 dhe zgjidhni Detaje për të parë komandën:

UPDATE Orders 
SET Status = 'Processing', 
    LastModified = GETDATE()
WHERE OrderId IN (SELECT OrderId FROM #TempOrders);

Ky përditësim është pjesë e një pune përpunimi në grup që kryhet çdo orë. Duke kontrolluar Login Kolona konfirmon që seanca i përket llogarisë së shërbimit të përpunimit në grup.

Pyetja po mban bllokime në tabelën e Porosive ndërsa përpunon mijëra porosi. Koha e pritjes për seancat e bllokuara rritet vazhdimisht, duke konfirmuar se ky operacion i gjatë është problemi.

11.2.3 Zbatimi i Rregullimit

Zgjidhje afatshkurtër:

  1. Dokumentoni detajet e Sesionit 73, duke përfshirë tekstin e pyetjes dhe kohëzgjatjen.
  2. Lejoni që përditësimi të përfundojë natyrshëm, meqenëse është përpunim legjitim në grup.
  3. Pas përfundimit, verifikoni që sesionet e bllokuara janë pastruar dhe që operacionet normale të rifillojnë.

Zgjidhjet afatgjata të zbatuara:

  1. Riplanifikoni punën në grup të funksionojë gjatë orëve jashtë orarit të pikut (2-4 të mëngjesit në vend të orarit të punës).
  2. Modifiko përpunimin në seri për të përditësuar porositë në grupe më të vogla prej 100 regjistrimesh në të njëjtën kohë, duke liruar bllokimet midis grupeve.
  3. Shto një indeks në kolonën OrderId për të shpejtuar operacionin e përditësimit.
  4. Konsideroni izolimin SNAPSHOT për operacionet e leximit për të zvogëluar ndikimin e bllokimit.

11.3 Studimi i Rastit: Identifikimi i Ekzekutimeve të Tepërta të Pyetjeve

Monitorimi i bazës së të dhënave tregon se përdorimi i CPU-së është rritur gradualisht gjatë muajit të kaluar, por nuk ka pasur ndryshime të dukshme në kodin e aplikacionit.

11.3.1 Vërejtja e Numërimeve Jonormale të Ekzekutimeve

Hapni Monitorin e Aktivitetit dhe shqyrtoni panelin Pyetjet e fundit të shtrenjta:

  1. Ndaj sipas Ekzekutime/min për të parë pyetjet e ekzekutuara më shpesh.
  2. Pyetja kryesore tregon 37,000 ekzekutime në minutë - shumë më e lartë se çdo pyetje tjetër.
  3. Klikoni me të djathtën dhe zgjidhni Redakto Tekstin e Pyetjes.
  4. Pyetja merr informacion mbi kategorinë e produktit:
    SELECT CategoryId, CategoryName 
    FROM ProductCategories 
    WHERE CategoryId = @CategoryId;
    
  5. Kjo pyetje e thjeshtë duhet të jetë e shpejtë dhe e ruajtshme në memorje, megjithatë ekzekutohet dhjetëra mijëra herë në minutë.

11.3.2 Gjurmimi i Kodit të Aplikacionit

Në panelin Proceset, gjeni sesionet që ekzekutojnë këtë pyetje:

  1. Vini re Aplikacion kolona tregon “ProductCatalogService”.
  2. Klikoni me të djathtën në njërën nga këto seanca dhe zgjidhni Procesi i gjurmimit në SQL Server Profiler.
  3. SQL Profiler zbulon se pyetja ekzekutohet në mënyrë të përsëritur në një vazhdimësi të shpejtë me vlera të ndryshme të CategoryId.
  4. Kontaktoni ekipin e zhvillimit që menaxhon ProductCatalogService për shqyrtimin e kodit.

Rishikimi i kodit zbulon problemin: një ndryshim i kohëve të fundit nxjerr listat e produkteve me kategori. Për secilin produkt në grupin e rezultateve (shpesh 1,000+ produkte), kodi bën një thirrje të veçantë në bazën e të dhënave për të marrë informacionin e kategorisë - një problem klasik i pyetjes N+1.

11.3.3 Optimizimi i Aplikacionit

Zbatoni një rregullim të duhur:

  1. Modifiko pyetjen e aplikacionit për të përdorur një JOIN që rikuperon produktet dhe kategoritë e tyre në një thirrje të vetme të bazës së të dhënave:
    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;
    
  2. Vendos kodin e përditësuar dhe monitoroni Monitorin e Aktivitetit.
  3. Verifikoni rregullimin: Ekzekutimet në minutë për pyetjen e kategorisë bien nga 37,000 në nën 100, dhe përdorimi i përgjithshëm i CPU-së zvogëlohet me 40%.
  4. Dokumentoni mësimin e nxjerrë dhe ndajeni me ekipin e zhvillimit për të parandaluar probleme të ngjashme në ndryshimet e ardhshme të kodit.

12. Zbuloni korruptimin e mundshëm të bazës së të dhënave

Ndërkohë që Monitori i Aktivitetit nuk është projektuar posaçërisht për të zbuluar korruptimin e bazës së të dhënave, disa modele në shfaqjen e tij mund të sugjerojnë probleme themelore të korruptimit që meritojnë hetime të mëtejshme.

12.1 Simptomat e Korrupsionit të Mundshëm të Bazës së të Dhënave

Nëse ekziston korruptim i bazës së të dhënave dhe nëse po aksesohet, herë pas here mund të shihni:

1. Në Panelin e Proceseve:

  • Sesionet ngecën në gjendjen SUSPENDED me lloje të pazakonta pritjeje
  • Proceset që tregojnë gjendje gabimi
  • Pyetjet dështojnë vazhdimisht

2. Në Panelin e Pritjeve të Burimeve:

  • Lloje të pazakonta pritjeje të lidhura me I/O që mund të tregojnë probleme me diskun (megjithëse kjo ka më shumë të ngjarë të tregojë probleme me harduerin sesa korruptim logjik)

3. Në Pyetjet e Kohëve të Fundit të Shtrenjtë:

  • Pyetje me lexime fizike jonormalisht të larta nëse ato përpiqen vazhdimisht të lexojnë faqe të dëmtuara

12.2 Kontroll i mëtejshëm me DBCC CHECKDB

Kur Monitori i Aktivitetit shfaq simptoma që sugjerojnë korruptim të mundshëm, duhet të ekzekutoni menjëherë DBCC CHECKDB për të verifikuar integritetin e bazës së të dhënave. Kjo komandë skanon të gjitha faqet e bazës së të dhënave, validon shumat e kontrollit dhe kontrollon për gabime të konsistencës logjike.

Për të mësuar më shumë rreth mënyrës së përdorimit të DBCC CHECKDB për të kontrolluar dhe rregulluar korruptimet e bazës së të dhënave, shihni faqen tonë të internetit. udhëzues gjithëpërfshirës i DBCC CHECKDB.

12.3 Riparimi me mjete profesionale

Nëse DBCC CHECKDB konfirmon korruptimin e bazës së të dhënave, keni disa mundësi për riparim:

13. Përfundim

SQL Server Monitori i Aktivitetit shërben si një mjet i paçmuar për administratorët e bazës së të dhënave, duke ofruar informacion të menjëhershëm mbi performancën e serverit dhe duke ndihmuar në diagnostikimin e problemeve shpejt dhe në mënyrë efektive.

13.1 Përmbledhje e pikave kyçe

Gjatë gjithë këtij udhëzuesi, kemi shqyrtuar se si Monitori i Aktivitetit ju ndihmon të kuptoni dhe zgjidhni problemet SQL Server performanca:

  • Monitori i Aktivitetit ofron dukshmëri në kohë reale të proceseve, pritjeve, pyetjeve dhe hyrjeve/daljeve përmes një ndërfaqeje grafike të organizuar.
  • Pesë panelet—Përmbledhje, Procese, Pritje Burimesh, Hyrje/Dalje të Skedarëve të të Dhënave dhe Pyetje të Shpejta të Shtrenjta—secili ofron perspektiva unike mbi aktivitetin e serverit.
  • Skenarët e zakonshëm të zgjidhjes së problemeve, si ekzekutimet e tepërta të pyetjeve, zinxhirët bllokues dhe përdorimi i lartë i CPU-së, bëhen të menaxhueshme me hetimin sistematik të Monitorit të Aktivitetit.
  • Edhe pse i fuqishëm, Activity Monitor ka kufizime duke përfshirë mungesën e të dhënave historike, grupimin e llojeve të pritjes dhe mbingarkesën e monitorimit që ndikojnë në zbatueshmërinë e tij.
  • Plotësimi i Activity Monitor me pyetje DMV, sp_WhoIsActive, Extended Events dhe mjete potencialisht të palëve të treta krijon një strategji gjithëpërfshirëse monitorimi.
  • Ndjekja e praktikave më të mira për intervalet e rifreskimit, mbyllja e Monitorit të Aktivitetit kur nuk është në përdorim dhe kombinimi i paneleve të shumëfishta për korrelacion maksimizon vlerën e tij duke minimizuar ndikimin.

13.2 Monitori i Aktivitetit si Pjesë e Setit Tuaj të Mjeteve

Monitori i Aktivitetit duhet të shërbejë si mjeti juaj i parë i reagimit për hetimet e performancës, jo mjeti juaj i vetëm. Forca e tij qëndron në ofrimin e dukshmërisë së menjëhershme gjatë zgjidhjes aktive të problemeve, duke ju ndihmuar të përcaktoni shpejt nëse baza e të dhënave është pengesa dhe të identifikoni se cilat aspekte specifike kanë nevojë për hetim më të thellë.

Mendojeni Monitorin e Aktivitetit si analog të një paneli kontrolli në makinën tuaj - ai ju tregon menjëherë nëse diçka nuk shkon dhe ju ndihmon të identifikoni zonën e përgjithshme shqetësuese. Ashtu si paneli i kontrollit të motorit të makinës suaj nuk ju tregon saktësisht pse ndizet drita e kontrollit të motorit, Monitori i Aktivitetit ju drejton drejt problemeve pa zbuluar gjithmonë shkakun e tyre të plotë rrënjësor. Kjo analizë më e thellë kërkon mjete dhe ekspertizë shtesë.

Integroni Activity Monitor në një set mjetesh më të gjerë që përfshin analizën e planit të ekzekutimit, ndjekjen e statistikave të pritjes, zgjidhjet historike të monitorimit dhe praktikat më të mira të performancës. Përdoreni atë në lidhje me strategjitë e duhura të indeksimit, teknikat e optimizimit të pyetjeve dhe planifikimin e kapacitetit.

13.3 Vazhdimi i udhëtimit tuaj të të nxënit

Zotërimi i Activity Monitor është vetëm një hap për t'u bërë një administrator efektiv i bazës së të dhënave. Vazhdoni të zhvilloni aftësitë tuaja duke:

  • Të mësuarit për të interpretuar planet e ekzekutimit dhe për të identifikuar operacionet joefikase
  • kuptim SQL Server Statistikat e pritjes dhe implikimet e tyre
  • Studimi i teknikave të dizajnit dhe optimizimit të indeksit
  • Eksplorimi SQL Serverarkitektura e saj dhe mënyra se si i përpunon pyetjet
  • Praktikimi i metodologjive sistematike të zgjidhjes së problemeve
  • Ndërtimi i përvojës me Ngjarjet e Zgjeruara për gjurmim të detajuar
  • Kuptimi i niveleve të izolimit të transaksioneve dhe ndikimi i tyre në performancë

Çdo hetim i performancës me Activity Monitor ju mëson diçka të re rreth mënyrës se si SQL Server Funksionon dhe si bashkëveprojnë aplikacionet me bazat e të dhënave. Dokumentoni gjetjet tuaja, ndani njohuritë me kolegët dhe ndërtoni një bibliotekë zgjidhjesh për problemet e zakonshme.

13.4 Burime shtesë

Zgjeroni njohuritë tuaja me këto burime të vlefshme:

14. Pyetjet e bëra më shpesh (FAQ)

P: isfarë është SQL Server Aktiviteti Monitor?

A: SQL Server Monitori i Aktivitetit është një mjet i integruar brenda SQL Server Studio Menaxhimi që shfaq informacion në kohë reale rreth proceseve që funksionojnë në një SQL Server instanca dhe ndikimi i tyre në burimet e serverit. Ai ofron një panel grafik me pesë panele që tregojnë aspekte të ndryshme të aktivitetit të serverit, duke përfshirë përdorimin e procesorit, detyrat e pritjes, shkallët e hyrjes/daljes, seancat aktive dhe pyetjet e kushtueshme.

P: Si e hap Monitorin e Aktivitetit në SSMS?

A: Mund ta hapni Monitorin e Aktivitetit duke përdorur katër metoda: (1) Klikoni ikonën e Monitorit të Aktivitetit në shiritin e veglave SSMS, (2) Klikoni me të djathtën SQL Server emri i instancës në Object Explorer dhe zgjidhni Monitorimi i Aktivitetit, (3) Shtypni Ctrl + Ndalet + A, ose (4) Konfiguroni SSMS për ta nisur automatikisht nëpërmjet Tools -> Opcionet -> mjedis -> Startup.

P: Çfarë lejesh më duhen për të përdorur Monitorin e Aktivitetit?

A: Ju keni nevojë për SHIKO GJENDJEN E SERVERIT leje për të parë shumicën e informacionit të Monitorit të Aktivitetit. Për panelin Hyrje/Dalje të Skedarit të të Dhënave, ju nevojitet gjithashtu ose KRIJO BAZ T DHATNAVE, NDRYSHO ÇDO BAZË TË TË DHËNASHose SHIKO ÇDO PËRKUFIZIM lejet. Pa këto leje, Monitori i Aktivitetit mund të hapet, por të shfaqë panele bosh.

P: Pse Monitori im i Aktivitetit është në pauzë ose nuk funksionon?

A: Monitori i Aktivitetit zakonisht ndalet për shkak të problemeve me lejet, versioneve të vjetruara të SSMS ose lidhjeve të largëta të çaktivizuara. Për ta zgjidhur: (1) Përditësoni në versionin më të fundit të SSMS, (2) Verifikoni që keni lejen VIEW SERVER STATE, (3) Kontrolloni që lidhjet e largëta janë të aktivizuara në SQL Server për shembull, (4) Rinisni SSMS-në dhe (5) Provoni të lidheni me autentifikimin e Windows-it në vend të autentifikimit SQL nëse është e aplikueshme.

P: Cili është ndryshimi midis Activity Monitor dhe sp_WhoIsActive?

A: Monitori i Aktivitetit është një mjet grafik i integruar në SSMS që ofron panele të organizuara për aspekte të ndryshme të monitorimit. sp_WhoIsActive është një procedurë e ruajtur falas e krijuar nga komuniteti që kthen informacion të detajuar të sesionit në një grup të vetëm rezultatesh me lloje pritjeje më specifike, detaje bllokimi dhe opsione personalizimi sesa Monitori i Aktivitetit. Monitori i Aktivitetit është më i mirë për eksplorim vizual, ndërsa sp_WhoIsActive shkëlqen në monitorimin e skriptuar dhe ofron informacion më të detajuar.

P: A ndikon Monitori i Aktivitetit në performancën e serverit?

A: Po, Monitori i Aktivitetit ka një kosto të matshme sepse u drejton pyetje DMV-ve të sistemit në çdo interval rifreskimi. Ndikimi rritet me shpejtësi më të ulëta rifreskimi - Microsoft paralajmëron se intervalet nën 10 sekonda mund të ndikojnë në performancën e serverit. Mbylleni gjithmonë Monitorin e Aktivitetit kur nuk e përdorni në mënyrë aktive dhe merrni në konsideratë intervale rifreskimi 30-60 sekondash në serverat e prodhimit nën ngarkesë të lartë.

P: A mund të marr të dhëna nga Activity Monitor duke përdorur T-SQL?

A: Po, Monitori i Aktivitetit pyet pamjet e menaxhimit dinamik të sistemit si sys.dm_exec_requests, sys.dm_exec_sessions, sys.dm_os_wait_stats dhe sys.dm_exec_query_stats. Ju mund t'u drejtoni pyetje këtyre DMV-ve direkt duke përdorur T-SQL për të marrë informacion ekuivalent në mënyrë programore, duke mundësuar skripte monitorimi të personalizuara dhe mbledhje të automatizuar të të dhënave.

P: Cili është intervali i parazgjedhur i rifreskimit?

A: Intervali i parazgjedhur i rifreskimit është 10 sekonda. Mund ta ndryshoni këtë duke klikuar me të djathtën kudo në panelin Përmbledhje, duke zgjedhur Intervali i rifreskimitdhe duke zgjedhur nga opsionet e paracaktuara: 1 sekondë, 5 sekonda, 10 sekonda, 30 sekonda, 1 minutë ose 1 orë. Intervalet më të ulëta ofrojnë më shumë pamje në kohë reale, por rrisin mbingarkesën e monitorimit.

P: Si mund ta hap automatikisht Monitorin e Aktivitetit në nisje të SSMS?

A: Konfiguroni nisjen automatike përmes opsioneve SSMS: Shkoni te Tools -> Opcionet -> mjedis -> Startup, Pastaj zgjidhni Hapni Eksploruesin e Objekteve dhe Monitorin e Aktivitetit nga Në fillim menyja zbritëse. Monitori i Aktivitetit do të hapet automatikisht sa herë që lidheni me një server në SSMS.

P: Cilat janë kufizimet e Monitorit të Aktivitetit?

A: Kufizimet kryesore përfshijnë: (1) Nuk ka mundësi ruajtjeje të të dhënave historike ose të ndjekjes së trendeve, (2) Llojet e pritjes grupohen në kategori dhe nuk shfaqen në mënyrë specifike, (3) Disa lloje pritjeje si CXPACKET mund të mos shfaqen, (4) Pamjet e çastit mund të mos i shohin problemet kalimtare, (5) Monitorimi i mbingarkesës mund të ndikojë në serverat e ngarkuar, (6) Nuk ka mekanizëm paralajmërimi për monitorim proaktiv dhe (7) Nuk mund të grumbullohen të dhënat në shumë servera. SQL Server raste. Për këto nevoja, plotësoni Monitorin e Aktivitetit me Ngjarje të Zgjeruara, grupe mbledhjeje të dhënash ose mjete monitorimi të palëve të treta.


Rreth Autorit

Yuan Sheng është një administrator i lartë i bazave të të dhënave (DBA) me mbi 10 vjet përvojë në SQL Server mjedise dhe menaxhim të bazave të të dhënave të ndërmarrjeve. Ai ka zgjidhur me sukses qindra skenarë të rikuperimit të bazave të të dhënave në të gjitha shërbimet financiare, kujdesin shëndetësor dhe organizatat prodhuese.

Yuan specializohet në SQL Server rikuperimi i bazës së të dhënave, zgjidhje me disponueshmëri të lartëdhe optimizimin e performancës. Përvoja e tij e gjerë praktike përfshin menaxhimin e bazave të të dhënave me shumë terabajt, zbatimin e Grupeve Gjithmonë të Disponueshme dhe zhvillimin e strategjive të automatizuara të kopjimit të rezervës dhe rikuperimit për sistemet e biznesit kritike për misionin.

Përmes ekspertizës së tij teknike dhe qasjes praktike, Yuan përqendrohet në krijimin e udhëzuesve gjithëpërfshirës që ndihmojnë administratorët e bazave të të dhënave dhe profesionistët e IT-së të zgjidhin probleme komplekse. SQL Server sfidat në mënyrë efikase. Ai qëndron i azhurnuar me të rejat SQL Server lëshimet dhe teknologjitë në zhvillim e sipër të bazës së të dhënave të Microsoft-it, duke testuar rregullisht skenarët e rikuperimit për të siguruar që rekomandimet e tij pasqyrojnë praktikat më të mira të botës reale.

Keni pyetje rreth SQL Server Rimëkëmbje ose keni nevojë për udhëzime shtesë për zgjidhjen e problemeve të bazës së të dhënave? Yuan mirëpret? Mirëpresim Yuanin. reagime dhe sugjerime për përmirësimin e këtyre burimeve teknike.