1. Hyrje në SQL Server Profiler
1.1 Çfarë është SQL Server Profiler dhe pse na duhet?
SQL Server Profiler është një mjet grafik i ndërfaqes së përdoruesit për monitorimin dhe kapjen e ngjarjeve që ndodhin brenda SQL ServerKy mjet i fuqishëm diagnostikues u lejon administratorëve dhe zhvilluesve të bazës së të dhënave të vëzhgojnë aktivitetin e motorit të bazës së të dhënave në kohë reale, duke ndihmuar në identifikimin e pengesave të performancës, zgjidhjen e problemeve të aplikacioneve dhe auditimin e ngjarjeve të sigurisë.
1.2 SQL Server Profiler në vitin 2025: Statusi aktual dhe alternativat
Microsoft i vjetruar SQL Server Profilizuesi fillon me SQL Server 2016, duke rekomanduar Ngjarje të zgjeruara si teknologji zëvendësuese. Megjithatë, mjeti mbetet i disponueshëm në momentin aktual SQL Server versione duke përfshirë SQL Server 2022 dhe përdoret ende gjerësisht nga profesionistët e bazave të të dhënave.
1.3 Kush duhet ta përdorë këtë udhëzues
- Ky udhëzues u shërben administratorëve të bazës së të dhënave që duhet të monitorojnë SQL Server instancat, diagnostikojnë problemet e performancës dhe sigurojnë besueshmërinë e sistemit. DBA-të do të gjejnë udhëzime praktike për kapjen e gjurmëve, analizimin e ngjarjeve dhe zbatimin e strategjive të monitorimit.
- Zhvilluesit e aplikacioneve përfitojnë nga të kuptuarit se si kodi i tyre bashkëvepron me SQL ServerSQL Profiler i ndihmon zhvilluesit të identifikojnë pyetje joefikase, të validojnë sjelljen e aplikacionit dhe të debugojnë gabimet që lidhen me bazën e të dhënave.
- Analistët dhe konsulentët e performancës do të zbulojnë teknika të avancuara për analizën e ngarkesës së punës, planifikimin e kapacitetit dhe optimizimin e sistemit. Mbulimi gjithëpërfshirës i konfigurimit të gjurmëve, filtrimit dhe analizës mundëson vlerësime të hollësishme të performancës së bazës së të dhënave.
2. kuptim SQL Server Bazat e Profiluesit
2.1 Si SQL Server Profiler Works
SQL Server Profiler funksionon si një aplikacion klient që lidhet me motorin SQL Trace që funksionon brenda SQL ServerKur krijoni një gjurmë, motori i bazës së të dhënave monitoron ngjarjet e specifikuara dhe i kap ato sipas konfigurimit tuaj. Motori i gjurmimit mbledh të dhëna ngjarjesh me ndikim minimal në performancën e serverit kur konfigurohet siç duhet.
Infrastruktura themelore SQL Trace përdor grepa ngjarjesh të lehta në të gjithë motorin e bazës së të dhënave. Kur ndodh një ngjarje që përputhet me përkufizimin tuaj të gjurmimit, motori kap informacionin përkatës dhe ose e dërgon atë në ndërfaqen Profiler ose e ruan atë në një skedar ose tabelë. Kjo arkitekturë lejon mbledhje fleksibile të të dhënave pa modifikuar kodin e aplikacionit.
2.2 Koncepte dhe Terminologji Kryesore
Ngjarje 2.2.1
Ngjarjet përfaqësojnë ngjarje specifike brenda SQL Server që motori i gjurmimit mund të kapë. Çdo ngjarje korrespondon me një operacion të caktuar të bazës së të dhënave ose aktivitet të sistemit. SQL Server Profiler i organizon ngjarjet në kategori logjike për konfigurim më të lehtë.
Kategoritë e zakonshme të ngjarjeve përfshijnë TSQL për ekzekutimin e pyetjeve, Procedurat e Ruajtura për thirrjet e procedurave, Bllokimet për monitorimin e njëkohshmërisë dhe Gabimet dhe Paralajmërimet për gjurmimin e përjashtimeve. Zgjedhja e ngjarjeve të përshtatshme përcakton se çfarë informacioni kap gjurma juaj dhe ndikon drejtpërdrejt në dobinë dhe performancën e gjurmimit.
Të kuptuarit e llojeve të ngjarjeve ju ndihmon të konfiguroni gjurmë efektive. Ngjarjet RPC:Completed kapin përfundimet e thirrjeve të procedurave në distancë, ngjarjet SQL:BatchCompleted gjurmojnë grupet e pyetjeve ad-hoc dhe ngjarjet Lock:Deadlock identifikojnë ngjarjet e bllokimit. Zgjidhni ngjarje që përputhen me objektivat tuaja specifike të zgjidhjes së problemeve ose monitorimit.
2.2.2 Kolonat e të dhënave
Kolonat e të dhënave përcaktojnë se çfarë informacioni kap gjurmimi për secilën ngjarje. Kolonat e zakonshme përfshijnë TextData për deklaratën aktuale SQL, Kohëzgjatjen për kohën e ekzekutimit, CPU-në për shfrytëzimin e procesorit, Leximet për leximet e diskut logjik dhe Shkrimet për shkrimet e diskut logjik.
Kolonat thelbësore ndryshojnë sipas rastit të përdorimit. Zgjidhja e problemeve të performancës zakonisht kërkon kolonat Kohëzgjatja, CPU, Leximet dhe Shkrimet. Auditimi i sigurisë ka nevojë për kolonat Emri i Hyrjes, Emri i Bazës së të Dhënave dhe Emri i Objektit. Korrigjimi i aplikacioneve përfiton nga kolonat Emri i Aplikacionit, SPID dhe Gabimi.
Zgjedhja vetëm e kolonave të nevojshme zvogëlon mbingarkesën e gjurmimit dhe thjeshton analizën. Shmangni kapjen e të gjitha kolonave të disponueshme përveç nëse është e nevojshme posaçërisht. Çdo kolonë shtesë rrit sasinë e të dhënave të mbledhura dhe të përpunuara, duke ndikuar potencialisht në performancën e serverit.
2.2.3 Filtrat
Filtrat kufizojnë se cilat ngjarje kap gjurmimi bazuar në kritere të specifikuara. Filtrat e konfiguruar siç duhet e zvogëlojnë ndjeshëm vëllimin e gjurmimit, duke e bërë analizën të menaxhueshme dhe duke minimizuar ndikimin në performancë. Filtrat vlerësojnë të dhënat e ngjarjeve para kapjes, duke parandaluar mbledhjen e panevojshme të të dhënave.
Kriteret e zakonshme të filtrimit përfshijnë DatabaseName për t'u përqendruar në baza të dhënash specifike, ApplicationName për të izoluar aplikacione të veçanta, Duration për të kapur vetëm operacionet e ngadalta dhe LoginName për të gjurmuar përdorues të caktuar. Kombinimi i filtrave të shumtë krijon përkufizime të sakta të gjurmimit që kapin saktësisht atë që ju nevojitet.
Filtrimi i ndërgjegjshëm për performancën është thelbësor për mjediset e prodhimit. Gjithmonë filtroni sipas Emrit të Bazës së të Dhënave ose Emrit të Aplikacionit për të shmangur kapjen e aktivitetit të sistemit. Vendosni pragjet minimale të Kohëzgjatjes për të injoruar pyetjet që ekzekutohen shpejt. Përdorni filtrat TextData me kujdes pasi ato kërkojnë krahasime vargjesh që shtojnë mbingarkesë.
2.2.4 Shabllone gjurmimi
Shabllonet e gjurmimit ofrojnë zgjedhje të parakonfiguruara të ngjarjeve, kolonave dhe filtrave për skenarë të zakonshëm. SQL Server Profiler përfshin disa shabllone të integruara që shërbejnë si pika fillestare për krijimin e gjurmëve. Shabllonet e personalizuara ruajnë konfigurimet tuaja për ripërdorim në seanca të shumta gjurmimi.
Shablloni Standard kap një grup të përgjithshëm ngjarjesh të përshtatshme për monitorim bazë. Shablloni TSQL përqendrohet në ekzekutimin e pyetjeve me kosto minimale. Shablloni Tuning mbledh ngjarje posaçërisht për analizën e Këshilltarit të Tuning Engine të Bazës së të Dhënave. Çdo shabllon balancon kapjen e informacionit kundrejt ndikimit në performancë.
Krijimi i shablloneve të personalizuara kursen kohë dhe siguron qëndrueshmëri në të gjitha seancat e gjurmimit. Konfiguroni një gjurmim me ngjarjet, kolonat dhe filtrat tuaj të preferuar, pastaj ruajeni atë si shabllon. Shabllonet e personalizuara bëhen veçanërisht të vlefshme kur zgjidhni vazhdimisht probleme të ngjashme.
3. Fillimi me SQL Server Profiler
3.1 Kërkesat dhe Parakushtet e Sistemit
SQL Server Profiler vjen i paketuar me SQL Server Management Studio dhe mbështet të gjitha që mirëmbahen aktualisht SQL Server versione, nga SQL Server 2016 për 2022.
Kërkesat për leje përcaktojnë se kush mund të krijojë dhe ekzekutojë gjurmë. Anëtarët e rolit të serverit të fiksuar të administratorit të sistemit kanë akses të pakufizuar në SQL Server Funksionaliteti i profilerit. Për përdoruesit jo-administrator sistemi, leja ALTER TRACE jep mundësinë për të krijuar dhe menaxhuar gjurmë.
Kur gjurmohen serverat në distancë, zbatohen konsideratat e rrjetit. Gjurmimet nga ana e klientit kërkojnë lidhje të vazhdueshme rrjeti midis stacionit tuaj të punës dhe SQL Server shembull. Lidhjet e ndërprera ndalojnë gjurmët nga ana e klientit, duke humbur potencialisht të dhënat e kapura. Gjurmët nga ana e serverit e shmangin këtë kufizim duke u ekzekutuar tërësisht në serverin e bazës së të dhënave.
3.2 Si të nisësh SQL Server Profiler
3.2.1 Duke filluar nga SQL Server Studio e menaxhimit (SSMS)
Ndiqni këto hapa për të nisur SQL Server Profilizues nga SSMS:
- hapur SQL Server Studio e Menaxhimit dhe lidheni me çdo SQL Server e shkallës.
- Kliko Tools menunë në shiritin e sipërm të menusë.
- zgjedh SQL Server Profiler nga menyja e zbritjes.
- La SQL Server Aplikacioni Profiler hapet në një dritare të re.
3.2.2 Nisja nga Menyja Start e Windows
Qasja SQL Server Profiler direkt nga Windows duke përdorur këto hapa:
- Klikoni te Windows-i fillim button.
- Tipi SQL Server Profiler në kutinë e kërkimit.
- zgjedh SQL Server Profiler nga rezultatet e kerkimit.
- Aplikacioni hapet pa lidhje aktive.
Si alternativë, lundroni nëpër hierarkinë e menysë Start:
- Hapur fillim menu.
- Gjeni microsoft SQL Server Tools dosje.
- Zgjero dosjen dhe kliko SQL Server Profiler.
3.2.3 Lidhja me SQL Server raste
Pas nisjes SQL Server Profiler, krijoni një lidhje duke ndjekur këto hapa:
- Kliko Skedar në shiritin e menysë.
- zgjedh Gjurmim i Ri nga menyja e zbritjes.
- La Lidhu te Serveri shfaqet dialogu.
- Futni emrin e serverit tuaj në Emri i serverit fushë.
- Zgjedh Autentifikimi i Windows or SQL Server Vërtetim.
- Nëse përdorni SQL Server Autentifikimi, futni kredencialet tuaja të hyrjes.
- Kliko Dërgo ftesë për të vendosur lidhjen.
Për lidhjet në distancë, specifikoni emrin e plotë të serverit, duke përfshirë emrin e instancës nëse është e aplikueshme. Përdorni formatin EMRI I SERVERIT\EMRI I SHKALLAVE për instancat e emërtuara. Verifikoni lidhjen e rrjetit dhe cilësimet e firewall-it nëse përpjekjet e lidhjes dështojnë.
4. Krijimi dhe Konfigurimi SQL Server gjurmët
4.1 Krijimi i Gjurmimit Tuaj të Parë duke përdorur një Shabllon
Krijoni gjurmën tuaj të parë duke përdorur këto hapa:
- Launch SQL Server Profiler.
- Kliko Skedar -> Gjurmim i Ri dhe lidheni me serverin tuaj të synuar.
- La Vetitë e Gjurmimit shfaqet dialogu.
- Futni një emër përshkrues në Emri i gjurmës fushë.
- Zgjidhni një shabllon nga Përdorni shabllonin rënie
- zgjidhni më të Standard (i parazgjedhur) shabllon për monitorim të përgjithshëm. Ose një shabllon tjetër për qëllime të tjera. Shablloni ofron ngjarje, kolona dhe filtra të parakonfiguruar për skenarë të zakonshëm.
- Kliko run për të filluar menjëherë kapjen e ngjarjeve.
4.2 Personalizoni Gjurmimin Tuaj
Shumë herë, shabllonet nuk mund t'i plotësojnë kërkesat tuaja. Në një rast të tillë, mund ta personalizoni plotësisht gjurmën tuaj:
- në Vetitë e Gjurmimit dialog.
- Zgjidhni bosh shabllon nga Përdorni shabllonin rënie
- Kliko Përzgjedhja e Ngjarjeve skedë, tani mund të personalizoni të gjitha ngjarjet, kolonat e të dhënave dhe filtrat bazuar në kërkesat tuaja. Do t'i diskutojmë ato në seksionet vijuese.
4.3 Përzgjedhja e Ngjarjeve për Kapje
Mund të zgjidhni një ngjarje në Përzgjedhja e Ngjarjeve tab:
- Kliko + ikonën pranë kategorisë Ngjarje për ta zgjeruar atë.
- Klikoni kutinë e kontrollit pranë ngjarjes për ta zgjedhur atë.
4.3.1 Kuptimi i Kategorive të Ngjarjeve
SQL Server Profiler i organizon ngjarjet në kategori për grupim logjik. Kategoria e Procedurave të Ruajtura përfshin ngjarje për ekzekutimin e procedurës duke përfshirë SP:Starting, SP:Completed dhe SP:StmtCompleted. Këto ngjarje gjurmojnë thirrjet e procedurave të ruajtura dhe ekzekutimin e deklaratave individuale brenda procedurave.
Kategoria TSQL kap ekzekutimin e pyetjeve ad-hoc me ngjarje si SQL:BatchStarting dhe SQL:BatchCompleted. Këto ngjarje gjurmojnë pyetjet e paraqitura direkt te SQL Server jashtë procedurave të ruajtura.
Kategoria "Kyçjet" monitoron ngjarjet që lidhen me njëkohësinë, duke përfshirë "Lock:Acquired", "Lock:Released", "Lock:Deadlock" dhe "Lock:Timeout". Përdorni këto ngjarje për të diagnostikuar problemet e bllokimit dhe bllokimit që ndikojnë në performancën e aplikacionit.
Kategoria Gabime dhe Paralajmërime kap ngjarjet e përjashtimit duke përfshirë Përjashtimin, Vëmendjen dhe Mesazhin e Gabimit të Përdoruesit. Këto ngjarje ndihmojnë në identifikimin e gabimeve të aplikacionit dhe SQL Server paralajmërime gjatë seancave të gjurmimit.
4.3.2 Zgjedhja e Ngjarjeve të Duhura për Skenarin Tuaj
Monitorimi i performancës kërkon ngjarje që kapin konsumin e burimeve. Zgjidhni RPC:Completed dhe SQL:BatchCompleted për të ndjekur ekzekutimin e pyetjeve. Përfshini kolonat Kohëzgjatja, CPU, Leximet dhe Shkrimet për të matur përdorimin e burimeve. Këto ngjarje ofrojnë bazën për identifikimin e pengesave të performancës.
Auditimi i sigurisë kërkon ngjarje që gjurmojnë vërtetimin dhe autorizimin. Zgjidhni Audit Login, Audit Logout, Audit Login Failed dhe Object:Open për të monitoruar aksesin në bazën e të dhënave. Përfshi kolonat LoginName, DatabaseName dhe ObjectName për të identifikuar se kush ka pasur akses në cilat burime.
Skenarët e debugimit përfitojnë nga kapja gjithëpërfshirëse e ngjarjeve. Përfshijnë ngjarjet e procedurave të ruajtura, ngjarjet e grupeve SQL dhe ngjarjet e gabimeve për të gjurmuar rrjedhat e plota të ekzekutimit. Kapni kontekst shtesë me kolonat SPID, Emri i Aplikacionit dhe Emri i Strehuesit për të lidhur ngjarjet me seanca specifike.
4.4 Konfigurimi i Kolonave të të Dhënave
Si parazgjedhje, kur zgjidhni një ngjarje, të gjitha kolonat e të dhënave të saj do të zgjidhen (të kontrolluara). Mund të çzgjidhni kolonat e panevojshme për të zvogëluar kostot dhe për të thjeshtuar analizën:
Kolonat thelbësore për çdo gjurmë përfshijnë EventClass për të identifikuar llojin e ngjarjes, TextData për të kapur deklaratën aktuale SQL, LoginName për të identifikuar përdoruesin ekzekutues dhe StartTime për të shënuar kohën kur ka ndodhur ngjarja. Këto kolona ofrojnë kontekst themelor për çdo ngjarje të kapur.
Kolonat që lidhen me performancën matin konsumin e burimeve. Kohëzgjatja tregon se sa kohë zgjati një ngjarje në mikrosekonda. CPU tregon kohën e procesorit në milisekonda. Leximet numërojnë leximet logjike të faqeve. Shkrimet gjurmojnë shkrimet logjike të faqeve. Këto metrika identifikojnë operacionet që kërkojnë shumë burime dhe që kërkojnë optimizim.
Kolonat e sigurisë dhe të auditimit gjurmojnë modelet e aksesit në të dhëna. DatabaseName identifikon se në cilën bazë të dhënash është aksesuar. ObjectName specifikon tabelën ose objektin e përfshirë. ApplicationName zbulon se cili aplikacion e ka iniciuar aktivitetin. Së bashku, këto kolona ofrojnë gjurmë gjithëpërfshirëse të auditimit.
4.5 Konfigurimi i filtrave për të zvogëluar zhurmën
4.5.1 Kriteret e Përbashkëta të Filtrit
Konfiguroni filtrat duke përdorur metodën e mëposhtme:
- Hapur Vetitë e Gjurmimit dialog.
- Kliko Përzgjedhja e Ngjarjeve Tab.
- Kliko Filtrat e kolonave butoni në të djathtë poshtë.
- Zgjidhni një kolonë nga lista në të majtë.
- Konfiguroni kriteret e filtrit në panelin në të djathtë.
- Kliko OK për të aplikuar filtrin.
Filtrat e emrit të aplikacionit izolojnë aktivitetin nga aplikacione specifike. Zgjeroni kolonën Emri i Aplikacionit në dialogun e filtrit, futni emrin e aplikacionit tuaj në Like fushë, dhe SQL Server Profiler kap vetëm ngjarjet nga ai aplikacion. Ky filtër është i paçmuar kur zgjidhni probleme specifike të aplikacionit.
Filtrat e emrave të bazës së të dhënave kufizojnë kapjen në baza të dhënash specifike. Filtroni sipas Emrit të Bazës së të Dhënave për të përjashtuar aktivitetin e bazës së të dhënave të sistemit dhe për t'u përqendruar në bazat e të dhënave të aplikacionit tuaj. Vendosni emrat e bazave të të dhënave në Like or i barabartë fushë në varësi të faktit nëse keni nevojë për përputhje me karaktere të egra.
Filtrat e kohëzgjatjes kapin vetëm operacionet që ekzekutohen ngadalë. Vendosni një prag minimal në Më e madhe ose e barabartë fushë nën kolonën Kohëzgjatja. Për shembull, vendosja e Kohëzgjatjes >= 1000 kap vetëm ngjarjet që zgjasin më shumë se një sekondë, duke filtruar pyetjet që ekzekutohen shpejt.
Filtrat e emrave të përdoruesit gjurmojnë aktivitetin specifik të përdoruesit. Filtroni sipas Emrit të Hyrjes për të monitoruar përdorues të veçantë të bazës së të dhënave. Kjo qasje ndihmon në identifikimin e përdoruesve që ekzekutojnë pyetje problematike ose qasen në të dhëna të ndjeshme.
4.4.2 Filtrimi i Praktikave më të Mira
Filtrimi efektiv balancon kapjen e të dhënave me ndikimin në performancë. Aplikoni gjithmonë të paktën një filtër për të parandaluar kapjen e aktivitetit të tepërt të sistemit. Filtrat DatabaseName dhe ApplicationName duhet të jenë pika juaj e fillimit për shumicën e gjurmimeve.
Shmangni gjurmët tepër të gjera në mjediset e prodhimit. Gjurmët e pafiltruara kapin vëllime të mëdha të dhënash, duke dëmtuar potencialisht performancën e serverit dhe duke e bërë analizën jopraktike. Vendosni kritere specifike filtri që synojnë objektivat tuaja të zgjidhjes së problemeve.
Testoni filtrat përpara se të vendosen në prodhim. Ekzekutoni fillimisht gjurmime kundrejt mjediseve të zhvillimit ose testimit për të verifikuar që filtrat kapin ngjarjet e pritura pa mbingarkesë të tepërt. Rregulloni kriteret e filtrit bazuar në vëllimin e të dhënave të kapura.
4.5 Puna me shabllone gjurmimi
4.5.1 Përmbledhje e shablloneve të integruara
Shablloni Standard ofron kapje të ekuilibruar të ngjarjeve të përshtatshme për monitorim të përgjithshëm. Ai përfshin ngjarje të zakonshme të ekzekutimit të pyetjeve, thirrje të procedurave të ruajtura dhe gjurmim bazë të gabimeve. Përdoreni këtë shabllon kur keni nevojë për dukshmëri gjithëpërfshirëse pa e ditur saktësisht se çfarë të kërkoni.
Shablloni TSQL përqendrohet posaçërisht në ekzekutimin e pyetjeve me përzgjedhje minimale të ngjarjeve. Ai kap ngjarjet SQL:BatchCompleted dhe RPC:Completed me kolona thelbësore për analizën e performancës. Ky shabllon ofron kosto më të ulëta sesa shablloni Standard.
Shablloni i Akordimit optimizon përzgjedhjen e ngjarjeve për analizën e Këshilltarit të Akordimit të Motorit të Bazës së të Dhënave. Ai kap ngjarjet dhe kolonat e nevojshme për analizën e ngarkesës së punës dhe rekomandimet e indeksit. Përdoreni këtë shabllon kur përgatitni gjurmë për akordimin automatik të performancës.
Shablloni TSQL_Replay përfshin të gjitha ngjarjet dhe kolonat e nevojshme për funksionalitetin e riprodhimit të gjurmimit. Ai kap detaje gjithëpërfshirëse të ekzekutimit duke ju mundësuar të riprodhoni ngarkesat e punës të kapura në mjediset e testimit. Ky shabllon gjeneron skedarë gjurmimi më të mëdhenj për shkak të mbledhjes së gjerë të të dhënave.
4.5.2 Krijimi i shablloneve të personalizuara
Krijoni shabllone të personalizuara duke ndjekur këto hapa:
- Kliko Skedar -> Templates -> Shabllon i ri…
- Futni një emër përshkrues në Emri i shabllonit të ri fushë.
- Opsionale, kontrolloni Bazoni shabllonin e ri në një ekzistues dhe zgjidhni një shabllon ekzistues nëse nuk doni ta ndërtoni nga e para:
- Kliko Përzgjedhja e ngjarjes tab, personalizoni shabllonin e gjurmimit me ngjarjet, kolonat dhe filtrat e dëshiruar njësoj si ju bëj me një gjurmë normale.
- Kliko Ruaje për të ruajtur shabllonin.
Eksportoni shabllone për t'i ndarë me anëtarët e ekipit ose për qëllime rezervimi:
- Kliko Skedar -> Templates -> Eksporto shabllonin.
- Zgjidhni shabllonin që dëshironi të eksportoni.
- Shkoni te vendi i dëshiruar i ruajtjes.
- Futni një emër skedari dhe klikoni Ruaje.
- Ndani skedarin *.tdf (SQL Server Skedari i shabllonit të Profiler-it) me të tjera SQL Server Përdoruesit e profilerit.
4.6 Ruajtja e Gjurmimit të Rezultateve
By default, SQL Server Profiler do të shfaqë ngjarjet në dritaren e gjurmimit, por NUK do t'i ruajë ato. Ju mund të zgjidhni të ruani të dhënat e gjurmimit në një skedar ose tabelë në Vetitë e Gjurmimit dialog kur krijoni një gjurmë të re.
4.6.1 Ruaj në Skedar
- në Vetitë e Gjurmimit dialog, kontrolloni Ruani në skedar.
- Klikoni ikonën e dosjes për të hapur shfletuesin e skedarëve.
- Shkoni te vendi i dëshiruar i ruajtjes.
- Futni një emër skedari me prapashtesën .trc.
- Kliko Ruaje.
- Set Vendos madhësinë maksimale të skedarit për të kufizuar madhësinë e skedarëve individualë.
- Aktivizo Aktivizo transferimin e skedarëve për të krijuar skedarë të shumtë.
- Aktivizo opsionalisht Serveri përpunon të dhënat e gjurmimit për gjurmët në anën e serverit.
Menaxhimi i madhësisë së skedarëve parandalon shterimin e hapësirës së diskut. Vendosni madhësinë maksimale të skedarit në një vlerë të arsyeshme si 500 MB ose 1 GB bazuar në hapësirën e disponueshme të diskut dhe kohëzgjatjen e pritur të gjurmimit. Transferimi i skedarëve krijon automatikisht skedarë të rinj kur arrihet limiti i madhësisë, duke i shtuar një numër emrit të skedarit.
4.6.2 Ruaj në Tabelë
- në Vetitë e Gjurmimit dialog, kontrolloni Ruaj në tabelë.
- La Tabela e Destinacionit shfaqet dialogu.
- Zgjidhni serverin nga server rënie
- Zgjidhni bazën e të dhënave nga Baza e të dhënave rënie
- Zgjidhni një tabelë ekzistuese ose futni një emër të ri tabele në Tryezë fushë.
- Kliko OK për të konfirmuar.
- Vendosur opsionalisht Vendosni rreshtat maksimalë për të kufizuar madhësinë e tabelës.
Konsideratat e performancës zbatohen kur ruhet në tabela. Ruajtja e tabelave sjell mbingarkesë shtesë krahasuar me ruajtjen e skedarëve sepse SQL Server duhet të shkruajë të dhënat e gjurmimit përmes motorit të ruajtjes. Përdorni ruajtjen e tabelës kur duhet të kërkoni menjëherë të dhënat e gjurmimit me T-SQL.
Ruajtja e të dhënave bëhet e rëndësishme për gjurmimet e bazuara në tabela. Vendosni kufijtë maksimalë të rreshtave për të parandaluar që tabelat të rriten shumë. Arkivoni ose fshini të dhënat e vjetra të gjurmimit rregullisht për të ruajtur performancën. Konsideroni ndarjen e tabelave të mëdha të gjurmimit për menaxhueshmëri më të mirë.
5. Drejtimi dhe Menaxhimi SQL Server gjurmët
5.1 Fillimi, Pauza dhe Ndalimi i Gjurmëve
Menaxho ekzekutimin e gjurmës duke përdorur butonat e shiritit të veglave:
- E gjelbra fillim butoni fillon të regjistrojë ngjarjet sipas konfigurimit tuaj.
- Kliko Pushim për të pezulluar përkohësisht mbledhjen e të dhënave pa humbur lidhjen.
- Kliko Stop për të përfunduar gjurmën dhe për të mbyllur lidhjen.
Përmes artikujve të menusë:
Duke klikuar me të djathtën mbi çdo hyrje në dritaren e gjurmimit:
Menaxhimi i ciklit jetësor të gjurmëve ndikon në burimet e serverit. Gjurmët aktive konsumojnë memorie dhe fuqi përpunimi në përpjesëtim me vëllimin e ngjarjeve të kapura. Ndërpritni gjurmët gjatë periudhave kur monitorimi nuk është i nevojshëm për të zvogëluar mbingarkesën. Ndërpritni plotësisht gjurmët kur analiza të ketë mbaruar për të liruar burimet.
Gjurmët nga ana e klientit kërkojnë një lidhje aktive të Profiler. Mbyllja e SQL Server Dritarja e Profiler-it ndalon menjëherë gjurmët nga ana e klientit. Minimizoni dritaren e Profiler-it në vend që ta mbyllni atë për të mbajtur gjurmët në punë gjatë punës në aplikacione të tjera.
5.2 Monitorimi i Gjurmimit në Kohë Reale
Monitoroni ngjarjet e kapura ndërsa ato ndodhin në dritaren kryesore të gjurmimit. Çdo rresht përfaqëson një ngjarje të vetme me kolona që shfaqin vetitë e ngjarjes. Rrjeta përditësohet vazhdimisht gjatë gjurmimeve aktive, duke shfaqur ngjarjet më të fundit në fund si parazgjedhje.
Identifikoni modelet dhe problemet duke vëzhguar frekuencën dhe karakteristikat e ngjarjeve. Ngjarjet me kohëzgjatje të lartë tregojnë probleme të performancës. Ngjarjet e shpeshta të gabimeve sugjerojnë probleme të aplikacionit. Aktiviteti i pazakontë i hyrjes mund të sinjalizojë shqetësime sigurie. Monitorimi në kohë reale mundëson reagim të menjëhershëm ndaj problemeve që shfaqen.
Shfletoni ngjarjet e kapura për të shqyrtuar ngjarje specifike. Klikoni çdo rresht për të zgjedhur një ngjarje dhe për të parë detajet e saj të plota. Klikoni dy herë mbi ngjarjet për të hapur dialogje të detajuara të vetive që tregojnë të gjitha vlerat e kolonave. Përdorni funksionin e bllokimit të lëvizjes për të parandaluar lëvizjen automatike gjatë shqyrtimit të ngjarjeve historike.
5.3 Menaxhimi i Gjurmimeve të Shumëfishta Njëkohësisht
Ekzekutimi i gjurmëve të shumëfishta njëkohësisht ofron fleksibilitet për skenarë kompleksë monitorimi. Krijoni gjurmë të ndara për aspekte të ndryshme të aktivitetit të bazës së të dhënave, siç është një gjurmë për monitorimin e performancës dhe një tjetër për auditimin e sigurisë. Çdo gjurmë ekzekutohet në mënyrë të pavarur me konfigurimin e vet.
Ndarja e burimeve bëhet kritike me gjurmë të shumëfishta. Çdo gjurmë aktive konsumon memorie, CPU dhe potencialisht I/O në disk. Kufizoni numrin e gjurmëve të njëkohshme dhe sigurohuni që çdo gjurmë të përdorë filtra të përshtatshëm për të minimizuar mbingarkesën. Monitoroni performancën e serverit gjatë ekzekutimit të gjurmëve të shumëfishta.
Koordinoni kohën e gjurmimit për të parandaluar mbivendosjen e gjurmimeve me mbingarkesë të lartë. Nëse është e mundur, ekzekutoni gjurmime që kërkojnë shumë burime gjatë periudhave me aktivitet të ulët. Planifikoni gjurmime të ndryshme në kohë të ndryshme në vend që të ekzekutoni gjithçka njëkohësisht.
5.4 Gjurmët nga ana e klientit kundrejt gjurmëve nga ana e serverit
Si parazgjedhje, një gjurmë e krijuar rishtazi është një gjurmë nga ana e klientit, e cila kërkon një lidhje aktive nga SQL Server Profiler në serverin e bazës së të dhënave. Gjurmimi ndalet menjëherë nëse lidhja humbet ose Profiler mbyllet.
Gjithashtu mund të krijoni një gjurmë në anën e serverit, e cila funksionon tërësisht në SQL Server instancë pa kërkuar një lidhje aktive të Profiler. Gjurmimi nga ana e serverit vazhdon të funksionojë edhe pas mbylljes SQL Server Profiler, duke shkruar të dhëna në vendndodhjen e specifikuar të skedarit.
Për të krijuar një gjurmë nga ana e serverit:
- Klikoni Skedar -> Gjurmim i Ri …
- në Vetitë e Gjurmimit dialog, kontrolloni Ruani në skedar
- Vendosni vendndodhjen e skedarit dhe cilësimet e tjera.
- Aktivizo Serveri përpunon të dhënat e gjurmimit për të krijuar një gjurmë nga ana e serverit.
Implikimet e performancës ndryshojnë ndjeshëm midis llojeve të gjurmimeve. Gjurmimet nga ana e klientit duhet të transmetojnë të dhëna përmes rrjetit në ndërfaqen Profiler, duke shtuar vonesën dhe konsumin e bandwidth-it. Gjurmimet nga ana e serverit sjellin më pak mbingarkesë sepse të dhënat shkruhen direkt në disk në server.
Përdorni gjurmët nga ana e klientit për zgjidhjen e problemeve ad-hoc, seanca të shpejta diagnostikuese dhe situata ku reagimet vizuale të menjëhershme janë të vlefshme. Zgjidhni gjurmët nga ana e serverit për monitorimin e prodhimit, kapjet afatgjata dhe skenarët që kërkojnë funksionim pa mbikëqyrje.
6. Duke analizuar SQL Server Të dhënat e profiluesit
6.1 Hapja dhe Rishikimi i Gjurmëve të Ruajtura
Ngarko skedarët e ruajtur të gjurmëve duke përdorur këto hapa:
- Launch SQL Server Profiler.
- Kliko Skedar -> hapur -> Skedari i Gjurmimit.
- Shko te vendndodhja e skedarit të gjurmimit.
- Zgjidhni skedarin .trc dhe klikoni hapur.
- Të dhënat e gjurmës ngarkohen në dritaren kryesore.
Ngarko tabelat e gjurmimit duke ndjekur këtë proces:
- Kliko Skedar -> hapur -> Tabela e gjurmëve.
- Lidhu me serverin që strehon tabelën e gjurmimit.
- Zgjidhni bazën e të dhënave nga Baza e të dhënave rënie
- Zgjidhni tabelën nga Tryezë rënie
- Kliko OK për të ngarkuar të dhënat.
6.2 Filtrimi dhe Kërkimi i të Dhënave të Gjurmimit
6.2.1 Filtrimi pas kapjes
Aplikoni filtra në të dhënat e gjurmimit të ngarkuara duke përdorur këto hapa:
- Kliko Ndrysho Të Dhënat -> Gjej ose shtypni Ctrl + F.
- Fut tekstin e kërkimit në Gjeni çfarë fushë.
- Zgjidhni kolonën për të kërkuar nga Shikoni brenda rënie
- Kliko Gjeni Tjetrin për të gjetur ngjarje që përputhen.
Filtrimi i bazuar në kolona përpunon të dhënat e shfaqura pa rikapur ngjarjet. Klikoni me të djathtën mbi çdo kokë kolone dhe zgjidhni opsionet e filtrit nga menyja e kontekstit. Vendosni kriteret e filtrit për të shfaqur vetëm rreshtat që përputhen. Kjo qasje përshpejton analizën duke fshehur ngjarjet e parëndësishme.
6.2.2 Gjetja e Ngjarjeve Specifike
Funksionaliteti i kërkimit ndihmon në gjetjen e ngjarjeve specifike në skedarë të mëdhenj gjurmimi. Përdorni dialogun Gjej për të kërkuar sipas përmbajtjes së tekstit, llojit të ngjarjes ose vlerës së kolonës. Shprehjet e rregullta mundësojnë modele komplekse kërkimi kur është e nevojshme.
Vendosni shënuesin në faqet e rëndësishme për referencë të shpejtë gjatë analizës. Klikoni me të djathtën mbi ngjarjet interesante dhe zgjidhni opsionet e shënuesve për t'i shënuar ato. Lundroni midis shënuesve duke përdorur shkurtoret e tastierës ose komandat e menusë, duke lehtësuar krahasimin e ngjarjeve të lidhura.
6.3 Grupimi dhe Agregimi i Ngjarjeve
Gruponi ngjarjet sipas vlerave të kolonës për të identifikuar modelet dhe për të përmbledhur aktivitetin. Klikoni me të djathtën në çdo kokë kolone dhe zgjidhni Gruponi sipas kësaj kolone për të organizuar ngjarjet. Pamjet e grupuara i palosin ngjarjet e ngjashme së bashku, duke e bërë më të lehtë shikimin e modeleve të përgjithshme.
Pamjet e agreguara ofrojnë përmbledhje statistikore të të dhënave të gjurmimit. Grupojini sipas TextData për të parë se sa herë është ekzekutuar secila pyetje. Grupojini sipas LoginName për të parë përmbledhjet e aktivitetit për përdorues. Agregimi zbulon modele që nuk janë menjëherë të dukshme në listat e detajuara të ngjarjeve.
Zgjero dhe mbyll grupet për të analizuar kategori specifike. Klikoni ikonat plus dhe minus pranë titujve të grupeve për të shfaqur ose fshehur ngjarjet e grupuara. Kjo pamje hierarkike lehtëson analizën nga lart poshtë, duke filluar me modelet e nivelit të lartë dhe duke u thelluar në detaje.
6.4 Nxjerrja e pyetjeve SQL nga gjurmët
Nxjerr pyetjet nga të dhënat e gjurmimit duke ndjekur këto hapa:
- Lokalizoni pyetjen që ju intereson në rrjetën e gjurmëve.
- Klikoni rreshtin për të zgjedhur ngjarjen.
- Shikoni tekstin e plotë të pyetjes në panelin e poshtëm.
- shtyp Ctrl A për të zgjedhur të gjithë tekstin e pyetjes.
- shtyp Ctrl + C për të kopjuar tekstin e pyetjes.
- Ngjiteni pyetjen në Management Studio për analiza të mëtejshme.
Identifikoni pyetjet problematike duke i renditur sipas kolonave të performancës. Klikoni kokën e kolonës Kohëzgjatja për t'i renditur sipas kohës së ekzekutimit. Pyetjet më të ngadalta shfaqen në krye ose në fund në varësi të drejtimit të renditjes. Në mënyrë të ngjashme, renditini sipas CPU-së, Leximeve ose Shkrimeve për të identifikuar operacionet që kërkojnë shumë burime.
Eksportoni pyetjet për testim duke i kopjuar ato nga gjurmimi në dritaret e pyetjeve. Modifikoni pyetjet e nxjerra për të testuar strategjitë e optimizimit. Krahasoni planet e ekzekutimit dhe metrikat e performancës midis versioneve origjinale dhe atyre të optimizuara.
6.5 Ndërlidhja e Ngjarjeve dhe Kuptimi i Rrjedhës së Ekzekutimit
Marrëdhëniet e ngjarjeve prind-fëmijë tregojnë hierarkitë e ekzekutimit. SQL:BatchStarting ngjarjet prind SQL:StmtStarting ngjarjet, të cilat nga ana tjetër ngjarjet prind të ekzekutimit të procedurës. Të kuptuarit e këtyre marrëdhënieve ndihmon në gjurmimin e shtigjeve të plota të ekzekutimit përmes kodit tuaj.
Gjurmimi i transaksioneve lidh ngjarjet e lidhura me kalimin e kohës. Përdorni kolonën SPID për të grupuar ngjarjet sipas seancës. Brenda një seance, ngjarjet ndodhin në rend kronologjik, duke treguar renditjen e operacioneve. Kjo pamje zbulon se si operacione të ndryshme bashkëveprojnë brenda transaksioneve.
Lidhni ngjarjet duke shqyrtuar vlerat e përbashkëta të kolonave. Ngjarjet me SPID identik ndodhën në të njëjtën seancë. Ngjarjet me të njëjtin Emër Aplikacioni erdhën nga i njëjti aplikacion. Përdorni këto korrelacione për të kuptuar skenarë kompleksë ekzekutimi.
7. i zakonshëm SQL Server Rastet e Përdorimit të Profiluesit
7.1 Zgjidhja e problemeve të performancës
7.1.1 Identifikimi i pyetjeve të ngadalta
Kap pyetjet e ngadalta duke përdorur konfigurimin e mëposhtëm:
- Krijo një gjurmë të re duke përdorur TSQL shabllon
- në Përzgjedhja e Ngjarjeve skedë, verifiko SQL:BatchCompleted RPC: Përfunduar janë zgjedhur.
- Kliko Filtrat e kolonave.
- zgjedh Kohëzgjatje nga lista e kolonave.
- Shkruani 1000000 në Më e madhe ose e barabartë fushë për të kapur pyetjet që zgjasin më shumë se 1 sekondë.
- Kliko OK dhe filloni gjurmën.
- Ekzekutoni gjurmimin gjatë periudhave të përdorimit maksimal.
- Ndalo gjurmimin dhe rendit sipas Kohëzgjatjes për të identifikuar pyetjet më të ngadalta.
Analiza e bazuar në kohëzgjatje zbulon modelet e kohës së ekzekutimit. Renditni ngjarjet e kapura sipas kolonës Kohëzgjatje për të parë së pari operacionet që kanë zgjatur më shumë. Shqyrtoni kolonën TextData për këto ngjarje për të identifikuar pyetjet aktuale përgjegjëse për vonesat.
Pyetjet intensive me CPU dhe I/O kërkojnë qasje të ndryshme optimizimi. Rendit sipas kolonës së CPU-së për të gjetur pyetjet e lidhura me procesorin që kanë nevojë për përmirësime algoritmike. Rendit sipas kolonave Lexon ose Shkruan për të identifikuar pyetjet e lidhura me I/O që përfitojnë nga indeksimi ose rishkrimi i pyetjeve.
7.1.2 Zbulimi i bllokimeve dhe bllokimeve
Konfiguroni zbulimin e bllokimit duke ndjekur këto hapa:
- Krijo një gjurmë të re.
- në Përzgjedhja e Ngjarjeve skedë, zgjero Flokët.
- zgjedh Kyç: Bllokim Kyç: Zinxhir bllokimi.
- Expand Gabimet dhe paralajmërimet.
- zgjedh Raporti i procesit të bllokuar.
- Përfshi kolonat: SPID, Të Dhëna Teksti, Emri i Bazës së të Dhënave, Emri i Hyrjes.
- Filloni gjurmimin dhe monitoroni për ngjarjet e bllokimit.
Monitorimi i ngjarjeve të bllokimit zbulon probleme të njëkohshmërisë që ndikojnë në performancën e aplikacionit. Ngjarjet Lock:Deadlock tregojnë se kur SQL Server Situatat e zbuluara dhe të zgjidhura të bllokimit. Ngjarjet Lock:Deadlock Chain tregojnë proceset e përfshira në bllokime.
Grafikët e bllokimit ofrojnë përfaqësime vizuale të skenarëve të bllokimit. Kur ndodh një ngjarje bllokimi, kolona TextData përmban XML që përshkruan bllokimin. Kopjoni këtë XML dhe hapeni atë në SQL Server Management Studio për të parë diagramin grafik të bllokimit që tregon se cilat procese bllokuan njëri-tjetrin.
7.1.3 Gjetja e Indekseve që Mungojnë
Kapni ngarkesën e punës për analizën e indeksit duke përdorur këto hapa:
- Krijo një gjurmë të re duke përdorur Akordim shabllon
- Konfiguro gjurmën për ta ruajtur në një skedar.
- Ekzekutoni gjurmimin gjatë periudhave përfaqësuese të ngarkesës së punës.
- Mblidhni të paktën disa orë aktivitet.
- Ndalo gjurmimin dhe ruaj skedarin.
- Hap Këshilltarin e Akordimit të Motorrit të Bazës së të Dhënave.
- Zgjidhni skedarin e gjurmimit si burim të ngarkesës së punës.
- Kryeni analizën për të marrë rekomandime për indeksin.
Integrimi me Këshilltarin e Akordimit të Motorit të Bazës së të Dhënave automatizon rekomandimin e indeksit. Këshilltari i Akordimit analizon ngarkesën e punës të kapur dhe sugjeron indekse që do të përmirësonin performancën. Rishikoni rekomandimet me kujdes para zbatimit, duke marrë parasysh kostot e përgjithshme të ruajtjes dhe kostot e mirëmbajtjes.
7.2 Zgjidhja e problemeve të aplikacionit
7.2.1 Debugimi i Gabimeve të Aplikacionit
Gjurmoni gabimet e aplikacionit duke përdorur këtë konfigurim:
- Krijo një gjurmë të re.
- Expand Gabimet dhe paralajmërimet në skedën Përzgjedhja e Ngjarjeve.
- zgjedh përjashtim, Mesazh Gabimi i Përdoruesitdhe Kujdes.
- Përfshi kolonat: gabim, Të Dhëna Teksti, Emri i Aplikacionit, SPID.
- Filtro sipas Emri i Aplikacionit për t'u përqendruar në aplikimin tuaj.
- Filloni gjurmimin dhe riprodhoni skenarin e gabimit.
- Rishikoni ngjarjet e gabimeve të kapura për informacion diagnostikues.
Gjurmimi i gabimeve zbulon detajet e përjashtimeve që shpesh fshihen nga aplikacionet. Kolona Gabim përmban SQL Server numrat e gabimeve. Kolona TextData tregon mesazhet e gabimit dhe pyetjen që shkaktoi gabimin. Kolona Ashpërsia tregon nivelet e ashpërsisë së gabimit.
Monitorimi i përjashtimeve kap problemet e kohës së ekzekutimit, duke përfshirë shkeljet e kufizimeve, gabimet e lejeve dhe ngjarjet e skadimit të kohës. Korreloni ngjarjet e gabimit me ngjarjet paraprake të pyetjeve për të kuptuar se çfarë shkaktoi përjashtimet.
7.2.2 Gjurmimi i Komunikimit Aplikacion-Bazë të Dhënash
Monitoroni aktivitetin e aplikacionit duke ndjekur këto hapa:
- Krijo një gjurmë të re duke përdorur standard shabllon
- Kliko Filtrat e kolonave.
- zgjedh Emri i Aplikacionit dhe futni emrin e aplikacionit tuaj në Like fushë.
- Filtro sipas opsionit Emri i hostit për të izoluar servera specifikë.
- Filloni gjurmimin gjatë operacioneve të aplikacionit.
- Rishikoni ngjarjet e kapura për të parë të gjitha ndërveprimet e bazës së të dhënave.
Filtrimi i emrit të aplikacionit izolon pyetjet nga aplikacione specifike. SQL Server cakton emrin e aplikacionit nga vargjet e lidhjes, duke e bërë të lehtë gjurmimin e aplikacioneve individuale në mjedise me shumë aplikacione. Verifikoni që vargu juaj i lidhjes të përfshijë parametrin Emri i Aplikacionit për filtrim efektiv.
Gjurmimi i lidhjes tregon ciklin jetësor të sesionit, duke përfshirë hyrjen, ekzekutimin e pyetjeve dhe ngjarjet e daljes. Monitoroni shkallët e krijimit të lidhjeve për të identifikuar problemet e grumbullimit të lidhjeve. Shkëputja e tepërt e lidhjeve tregon probleme të mundshme të konfigurimit të aplikacionit.
7.2.3 Validimi i Sjelljes së Aplikacionit
Verifikoni sjelljen e pritur të aplikacionit duke përdorur analizën e gjurmëve. Kapni të gjitha operacionet e bazës së të dhënave gjatë një transaksioni biznesi dhe verifikoni ekzekutimin e saktë të pyetjeve në sekuencën e duhur. Krahasoni pyetjet aktuale të kapura me sjelljen e pritur për të identifikuar mospërputhjet.
Validimi i parametrave siguron që aplikacionet të kalojnë vlerat e sakta në procedurat e ruajtura dhe pyetjet e parametrizuara. Shqyrtoni tekstin e pyetjes së kapur për të verifikuar nëse vlerat e parametrave përputhen me pritjet. Parametrat e pasaktë shpesh shkaktojnë gabime logjike që manifestohen si rezultate të pasakta biznesi.
7.3 Auditimi i Sigurisë
7.3.1 Monitorimi i përpjekjeve të hyrjes
Konfiguroni monitorimin e hyrjes duke përdorur këto hapa:
- Krijo një gjurmë të re.
- Expand Auditimi i Sigurisë në skedën Përzgjedhja e Ngjarjeve.
- zgjedh Hyrja e Auditimit, Dalja nga Auditimidhe Hyrja në Auditim Dështoi.
- Përfshi kolonat: Emri i Hyrjes, Emri i hostit, Emri i Aplikacionit, Koha e nisjes.
- Filloni gjurmimin për të monitoruar aktivitetin e vërtetimit.
- Rishikoni ngjarjet e hyrjes së dështuar për probleme të mundshme sigurie.
Hyrjet e suksesshme dhe të dështuara ofrojnë gjurmim gjithëpërfshirës të vërtetimit. Ngjarjet e Hyrjes në Auditim regjistrojnë përpjekjet e suksesshme të vërtetimit me identitetin e përdoruesit dhe informacionin burimor. Ngjarjet e Dështuara të Hyrjes në Auditim tregojnë përpjekje të pasuksesshme hyrjeje që mund të përfaqësojnë sulme ose probleme konfigurimi.
Gjurmimi i autentifikimit zbulon modele në aksesin në bazën e të dhënave. Monitoroni frekuencën e hyrjes për të zbuluar aktivitet të pazakontë. Përpjekje të shumta të dështuara hyrjeje të ndjekura nga një hyrje e suksesshme mund të tregojnë kredenciale të kompromentuara. Hyrjet e dështuara nga vende të papritura kërkojnë hetim.
7.3.2 Qasja dhe Modifikimet e të Dhënave të Gjurmimit
Monitoroni aksesin në të dhëna duke përdorur këtë konfigurim:
- Krijo një gjurmë të re.
- Expand Auditimi i Sigurisë.
- zgjedh Qasja në objektin e bazës së të dhënave të auditimit.
- Përfshi kolonat: Emri i objektit, Emri i Hyrjes, Të Dhëna Teksti, Emri i Bazës së të Dhënave.
- Filtro sipas Emri i objektit për të monitoruar tabela specifike të ndjeshme.
- Filloni gjurmimin për të kapur përpjekjet e aksesit.
Gjurmimi i SELECT, INSERT, UPDATE, DELETE ofron auditim gjithëpërfshirës të modifikimit të të dhënave. Kapni ngjarjet SQL:BatchCompleted me filtra të përshtatshëm për të monitoruar të gjitha operacionet e aksesit të të dhënave. Filtroni sipas ObjectName ose TextData për t'u përqendruar në tabelat e ndjeshme.
Qasja në të dhëna të ndjeshme kërkon monitorim të kujdesshëm për të siguruar pajtueshmërinë me politikat e sigurisë. Krijoni gjurmë posaçërisht për tabelat që përmbajnë informacione personale, të dhëna financiare ose informacione të tjera konfidenciale. Rishikoni rregullisht modelet e qasjes për të identifikuar qasjen e papërshtatshme në të dhëna.
Zbuloni aktivitetin e dyshimtë duke analizuar modelet e pyetjeve në gjurmët e kapura. Kërkoni pyetje të pazakonta që nuk përputhen me sjelljen normale të aplikacionit. Deklaratat SELECT pa klauzolë WHERE që rimarrin tabela të tëra mund të tregojnë përpjekje për nxjerrjen e të dhënave.
Përpjekjet për përshkallëzim të privilegjeve shfaqen si gabime lejesh ose përpjekje për të ekzekutuar komanda administrative. Monitoroni për pyetje që përpiqen të hyjnë në tabelat e sistemit, të modifikojnë konfigurimin e serverit ose të krijojnë llogari të privilegjuara. Filtroni për ngjarje Gabimi dhe rishikoni kolonën TextData për aktivitet të dyshimtë.
7.4 Planifikimi i Kapacitetit dhe Analiza e Ngarkesës së Punës
Vendosni linja bazë duke kapur ngarkesën përfaqësuese të punës gjatë operacioneve normale. Ekzekutoni gjurmë gjatë orarit tipik të punës për të kuptuar modelet standarde të aktivitetit. Ruani këto gjurmë si linja bazë të performancës për krahasim në të ardhmen.
Identifikimi i përdorimit maksimal zbulon se kur sistemi juaj përjeton ngarkesë maksimale. Kapni gjurmët përgjatë periudhave të ndryshme kohore, duke përfshirë orarin e punës, dritaret e përpunimit në grup dhe aktivitetin pas orarit të punës. Analizoni numrin e ngjarjeve dhe konsumin e burimeve për të identifikuar periudhat e pikut.
Modelet e shfrytëzimit të burimeve dalin nga analiza e ngarkesës së punës. Gruponi ngjarjet sipas intervaleve kohore për të parë shpërndarjen e aktivitetit gjatë gjithë ditës. Llogaritni metrikat e përgjithshme të CPU-së, hyrjeve/daljeve të diskut dhe kohëzgjatjes për të përcaktuar sasinë e konsumit të burimeve. Përdorni këto të dhëna për të planifikuar përmirësimet e kapacitetit ose për të identifikuar mundësitë e optimizimit.
8. të përparuara SQL Server Teknikat e Profilimit
8.1 Krijimi i gjurmëve në anën e serverit me T-SQL
8.1.1 Përdorimi i sp_trace_create dhe Procedurave të Ngjashme
Krijoni gjurmë nga ana e serverit në mënyrë programore duke përdorur procedurat e ruajtura në T-SQL. Kjo qasje mundëson krijimin dhe menaxhimin automatik të gjurmëve pa pasur nevojë SQL Server Ndërfaqja grafike e Profiler-it.
Përcaktoni një gjurmë nga ana e serverit duke përdorur këtë shembull kodi:
- Deklaroni variablat për ID-në e gjurmës dhe shtegun e skedarit.
- Thirrni sp_trace_create për të krijuar një gjurmë të re.
- Përdorni sp_trace_setevent për të shtuar ngjarje dhe kolona.
- Përdorni opsionalisht sp_trace_setfilter për të konfiguruar filtrat.
- Thirrni sp_trace_setstatus për të filluar gjurmimin.
Procedura sp_trace_create inicializon një përkufizim të ri të gjurmës. Specifikoni shtegun e skedarit të daljes, madhësinë maksimale të skedarit dhe opsionet e rikthimit. Procedura kthen një ID gjurmimi të përdorur në thirrjet pasuese të procedurës për të konfiguruar gjurmën.
Shtoni ngjarje duke përdorur procedurën sp_trace_setevent. Specifikoni ID-në e gjurmimit, ID-në e ngjarjes dhe ID-në e kolonës për çdo kombinim ngjarje-kolonë që dëshironi të kapni. Thirreni këtë procedurë disa herë për të ndërtuar konfigurime të plota të gjurmimit.
Konfiguroni filtrat me procedurën sp_trace_setfilter. Specifikoni ID-në e gjurmës, ID-në e kolonës, operatorin logjik, operatorin e krahasimit dhe vlerën e filtrit. Thirrjet e shumëfishta të filtrit kombinohen për të krijuar kritere komplekse të filtrit.
Filloni gjurmimin duke thirrur sp_trace_setstatus me vlerën e statusit 1. Ndërpritni gjurmimet duke thirrur të njëjtën procedurë me vlerën e statusit 0. Fshini përkufizimet e gjurmimit duke thirrur me vlerën e statusit 2.
8.1.2 Avantazhet e Gjurmimeve në Anën e Serverit
Mbingarkesa e reduktuar e klientit i bën gjurmimet nga ana e serverit ideale për monitorimin e prodhimit. Serveri i bazës së të dhënave trajton të gjitha operacionet e gjurmimit pa konsumuar burimet e makinës së klientit. Gjerësia e brezit të rrjetit nuk konsumohet duke transmetuar ngjarje në një aplikacion klienti.
Ekzekutimi i automatizuar mundëson mbledhjen e gjurmëve pa mbikëqyrje. Gjurmët nga ana e serverit vazhdojnë të funksionojnë pas krijimit edhe nëse nuk ekziston lidhje me klientin. Planifikoni krijimin e gjurmëve përmes SQL Server Punë agjentësh për monitorim të automatizuar.
Ndikim më i ulët në performancë vjen nga përpunimi në anën e serverit. Ngjarjet shkruhen direkt në disk pa serializim shtesë ose transmetim në rrjet. Menaxhimi i buferit optimizon hyrjet/daljet e diskut për një performancë më të mirë të përgjithshme.
8.2 Funksionaliteti i Ripërsëritjes së Gjurmimit
8.2.1 Kapja e gjurmëve për riprodhim
Krijo gjurmë të gatshme për riprodhim duke ndjekur këto hapa:
- Krijo një gjurmë të re duke përdorur TSQL_Replay shabllon
- Verifikoni që të gjitha ngjarjet dhe kolonat e kërkuara janë zgjedhur.
- Konfiguro gjurmën për ta ruajtur në një skedar.
- Ekzekutoni gjurmën gjatë periudhës së ngarkesës së punës që dëshironi të kapni.
- Ndalo gjurmimin dhe ruaj skedarin.
Ngjarjet dhe kolonat e kërkuara sigurojnë riprodhimin e plotë të gjurmës. Shablloni TSQL_Replay përfshin të gjitha llojet e nevojshme të ngjarjeve dhe kolonat e të dhënave. Mungesa e elementëve të kërkuar parandalon riprodhimin e suksesshëm, prandaj përdoreni gjithmonë këtë shabllon kur kapni për qëllime riprodhimi.
8.2.2 Riprodhimi i gjurmëve
Riluani ngarkesat e punës të kapura duke përdorur këto hapa:
- In SQL Server Profilizuesi, kliko Skedar -> hapur -> Skedari i Gjurmimit.
- Zgjidhni skedarin e gjurmës së gatshme për riprodhim.
- Kliko Replay -> fillim.
- Lidhu me serverin e synuar në dialogun e riprodhimit.
- Konfiguroni opsionet e riprodhimit, duke përfshirë rendin dhe kohën e riprodhimit.
- Kliko OK për të filluar riprodhimin.
- Monitoroni progresin e riprodhimit në dritaren e statusit.
Opsionet e konfigurimit të riprodhimit kontrollojnë se si SQL Server Profiler riprodhon ngarkesën e punës së kapur. Riluaj ngjarjet sipas renditjes në të cilën janë kapur për të ruajtur marrëdhëniet kohore. Konfiguro nëse do të ruhet koha origjinale apo do të riluhen ngjarjet sa më shpejt të jetë e mundur.
8.2.3 Rastet e përdorimit për riprodhimin e gjurmës
Testimi i ngarkesës përfiton nga riprodhimi i gjurmëve duke riprodhuar ngarkesa pune realiste. Kap gjurmët e ngarkesës së punës së prodhimit dhe riprodhoji ato kundrejt sistemeve të testimit për të validuar performancën sipas modeleve reale të përdorimit. Rregullo cilësimet e paralelizmit për të simuluar nivele të ndryshme të ngarkesës.
Validimi i migrimit të mjedisit siguron që sistemet e reja mund të përballojnë ngarkesat ekzistuese të punës. Kapni gjurmët nga sistemet aktuale të prodhimit dhe riprodhojini ato në harduer të ri ose të përditësuar. SQL Server versionet. Krahasoni metrikat e performancës për të verifikuar që migrimet nuk do ta ulin performancën.
Skenarët e testimit përfshijnë testimin e regresionit pas ndryshimeve të kodit, duke validuar ndryshimet e optimizuesit në të gjithë SQL Server versionet dhe konfigurimet e pajisjeve për testimin e stresit. Replay ofron ngarkesa pune të qëndrueshme dhe të përsëritshme për testime të besueshme.
8.3 Integrimi i SQL Profiler me Database Engine Tuning Advisor
Krijo skedarë të ngarkesës së punës për Këshilltarin e Akordimit të Motorit të Bazës së të Dhënave duke kapur gjurmët me ngjarjet e duhura. Përdor shabllonin e Akordimit për t'u siguruar që të gjitha informacionet e nevojshme janë kapur për analizë.
Hapni Këshilltarin e Akordimit të Motorrit të Bazës së të Dhënave dhe zgjidhni skedarin tuaj të gjurmimit si burim të ngarkesës së punës. Këshilltari analizon pyetjet e kapura dhe rekomandon indekse, pamje të indeksuara ose strategji ndarjeje që do të përmirësonin performancën.
Fluksi i punës për optimizimin e performancës integron kapjen e gjurmëve me analizën e akordimit. Kapni ngarkesat përfaqësuese të punës gjatë operacioneve normale, analizojini me Tuning Advisor, rishikoni rekomandimet, testoni ndryshimet e sugjeruara në zhvillim dhe së fundmi zbatoni ndryshimet e miratuara në prodhim.
8.4 Automatizimi i Mbledhjes së Gjurmëve
Planifikoni gjurmët duke përdorur SQL Server Punë agjentësh për të mbledhur të dhëna automatikisht. Krijoni skripte T-SQL që përcaktojnë gjurmët në anën e serverit duke përdorur procedurat sp_trace. Planifikoni që këto skripte të ekzekutohen në kohë ose intervale specifike.
Automatizimi i PowerShell mundëson skenarë të sofistikuar të menaxhimit të gjurmëve. Shkruani skripte PowerShell që krijojnë gjurmë, monitorojnë statusin e tyre dhe përpunojnë të dhënat e mbledhura. Planifikoni skriptet PowerShell përmes Planifikuesit të Detyrave ose SQL Server Agjent
SQL Server Punët e agjentëve ofrojnë ekzekutim të besueshëm të planifikuar. Krijoni punë që fillojnë gjurmimet në fillim të periudhave të monitorimit dhe ndalojnë gjurmimet pasi të përfundojë mbledhja e të dhënave. Konfiguroni njoftimet e punës për të njoftuar administratorët për dështimet.
8.5 Analizimi i Gjurmëve në Mënyrë Programore
Lexoni skedarët e gjurmimit me T-SQL duke përdorur funksionin fn_trace_gettable. Ky funksion me vlera tabelare analizon skedarët e gjurmimit dhe kthen të dhënat e ngjarjeve si grup rezultatesh. Pyetni këto të dhëna duke përdorur T-SQL standard për të kryer analiza të personalizuara.
Skriptet e analizës së personalizuar mundësojnë përpunimin automatik të gjurmëve. Shkruani pyetje që llogaritin statistikat e përgjithshme, identifikojnë modelet ose sinjalizojnë anomalitë. Planifikoni që këto skripte të ekzekutohen automatikisht pasi të përfundojë mbledhja e gjurmëve.
Gjeneroni raporte duke kërkuar të dhëna gjurmimi të ruajtura në tabela. Krijoni pamje që grumbullojnë ngjarje sipas periudhës kohore, përdoruesit ose aplikacionit. Ndërtoni zgjidhje raportimi që ofrojnë njohuri të rregullta mbi aktivitetin dhe performancën e bazës së të dhënave.
9. SQL Server Praktikat më të Mira të Profiluesit
9.1 Praktikat më të Mira të Performancës
9.1.1 Minimizimi i Gjurmimit të Mbipeshës
Zgjidhni vetëm ngjarjet e nevojshme për të zvogëluar mbingarkesën e gjurmimit. Çdo lloj ngjarjeje shtesë rrit sasinë e të dhënave që motori i gjurmimit duhet të përpunojë. Rishikoni objektivat tuaja të monitorimit dhe përfshini vetëm ngjarjet që lidhen drejtpërdrejt me ato qëllime.
Përdorni filtrat në mënyrë efektive për të parandaluar kapjen e të dhënave të parëndësishme. Filtroni sipas Emrit të Bazës së të Dhënave për të përjashtuar bazat e të dhënave të sistemit. Filtroni sipas Kohëzgjatjes për të kapur vetëm pyetjet e ngadalta. Filtroni sipas Emrit të Aplikacionit për t'u përqendruar në aplikacione specifike. Filtrimi i duhur zvogëlon ndjeshëm mbingarkesën e gjurmimit.
Konsideratat nga ana e serverit kundrejt atyre nga ana e klientit ndikojnë në ndikimin e performancës. Gjurmët nga ana e serverit shkruajnë të dhëna direkt në disk me mbingarkesë minimale. Gjurmët nga ana e klientit transmetojnë ngjarje përmes rrjetit në ndërfaqen Profiler, duke shtuar vonesën dhe konsumin e bandwidth-it. Përdorni gjurmët nga ana e serverit për monitorimin e prodhimit.
9.1.2 Optimizimi i ruajtjes së gjurmëve
Menaxhimi i madhësisë së skedarëve parandalon shterimin e hapësirës së diskut. Vendosni kufijtë maksimalë të madhësisë së skedarëve të përshtatshëm për hapësirën e disponueshme të ruajtjes. Aktivizoni transferimin e skedarëve për të krijuar skedarë të shumtë në vend që të rritni një skedar të vetëm për një kohë të pacaktuar. Monitoroni hapësirën e diskut gjatë ekzekutimit të gjurmimit.
Ruajtja në tabelë kundrejt asaj në skedarë përfshin kompromise të ndryshme të performancës. Ruajtja e skedarëve ofron performancë më të mirë gjatë ekzekutimit të gjurmimit sepse anashkalon motorin e ruajtjes. Ruajtja në tabelë mundëson pyetje T-SQL kundrejt të dhënave të gjurmimit, por shton mbingarkesë shkrimi. Zgjidhni llojin e ruajtjes bazuar në kërkesat tuaja të analizës.
9.2 Praktikat më të mira të sigurisë
Menaxhimi i lejeve kontrollon se kush mund të krijojë dhe ekzekutojë gjurmë. Jepni lejen ALTER TRACE vetëm përdoruesve të besuar që kanë nevojë për aftësi gjurmimi. Anëtarët e rolit të administratorit të sistemit kanë akses të pakufizuar në gjurmim. Rishikoni dhe auditoni lejet e gjurmimit rregullisht.
Mbrojtja e të dhënave të ndjeshme kërkon konfigurim të kujdesshëm të gjurmës. Shmangni kapjen e tekstit të plotë të pyetjes kur punoni me të dhëna të ndjeshme. Konsideroni filtrimin ose enkriptimin e rezultateve të gjurmës që përmbajnë informacione konfidenciale. Ruani skedarët e gjurmës në vende të sigurta me kontrolle të përshtatshme qasjeje.
Siguria e skedarëve të gjurmimit parandalon aksesin e paautorizuar në të dhënat e kapura. Vendosni lejet e skedarëve për të kufizuar aksesin në skedarët e gjurmimit. Enkriptoni skedarët e gjurmimit nëse ato përmbajnë informacione të ndjeshme. Fshini skedarët e gjurmimit pasi të përfundojë analiza për të minimizuar rrezikun e ekspozimit.
9.3 Konsideratat e Mjedisit të Prodhimit
9.3.1 Kur duhet të përdoret Profiler në prodhim
Vlerësimi i rrezikut përcakton se kur SQL Server Profiler është i përshtatshëm për përdorim në prodhim. Profiler prezanton kosto të matshme që rriten me shtrirjen e gjurmimit. Vlerësoni nëse vlera diagnostikuese justifikon ndikimin në performancë përpara se të ekzekutoni gjurmimet e prodhimit.
Konfigurimet me ndikim minimal mundësojnë gjurmim më të sigurt të prodhimit. Përdorni filtra shumë selektivë për të kapur vetëm ngjarjet kritike. Vendosni pragjet e Kohëzgjatjes për të injoruar pyetjet me ekzekutim të shpejtë. Kufizoni kohëzgjatjen e gjurmimit në periudha të shkurtra gjatë seancave të zgjidhjes së problemeve. Konfiguroni gjurmimet në anën e serverit për të zvogëluar mbingarkesën e klientit.
9.3.2 Alternativa për Monitorimin e Prodhimit
Eventet e Zgjeruara ofrojnë kosto më të ulët për monitorimin e prodhimit. Kjo teknologji moderne ofron performancë dhe fleksibilitet më të mirë sesa SQL Server Profiler. Migroni zgjidhjet e monitorimit në Evente të Zgjeruara për përdorim afatgjatë në prodhim.
Query Store kap të dhënat e performancës së pyetjeve automatikisht pa konfigurim manual të gjurmimit. Aktivizoni Query Store në bazat e të dhënave të prodhimit për të ndjekur statistikat e ekzekutimit të pyetjeve me kalimin e kohës. Query Store ofron shumicën e aftësive të monitorimit të performancës pa mbingarkesën e gjurmimit.
Pamjet e Menaxhimit Dinamik ofrojnë monitorim të lehtë për skenarë specifikë. DMV-të ofrojnë informacion mbi gjendjen aktuale pa kapur ngjarjet historike. Pyetni DMV-të periodikisht për të monitoruar shëndetin e serverit pa mbingarkesën e gjurmimit të vazhdueshëm.
9.4 Praktikat më të Mira të Menaxhimit të Gjurmimit
Konventat e emërtimit sigurojnë që skedarët e gjurmimit të jenë të identifikueshëm dhe të organizuar. Përfshini datën, orën, emrin e serverit dhe qëllimin në emrat e skedarëve të gjurmimit. Përdorni modele të qëndrueshme emërtimi në të gjitha gjurmët për të lehtësuar menaxhimin dhe analizën.
Dokumentacioni regjistron konfigurimin dhe qëllimin e gjurmës. Dokumentoni ngjarjet që keni kapur, pse e keni krijuar gjurmën dhe çfarë keni mësuar nga analiza. Mbani një regjistër të gjurmëve që ekzekutohen në sistemet e prodhimit për qëllime pajtueshmërie dhe zgjidhjeje të problemeve.
Politikat e ruajtjes parandalojnë grumbullimin e tepërt të skedarëve të gjurmimit. Përcaktoni se për sa kohë duhet të ruhen skedarët e gjurmimit bazuar në kërkesat e biznesit dhe kapacitetin e ruajtjes. Automatizoni fshirjen e skedarëve të vjetër të gjurmimit për të liruar hapësirë në disk. Arkivoni gjurmët e rëndësishme në ruajtje afatgjatë para fshirjes.
9.5 gabime të zakonshme që duhen shmangur
Mbi-gjurmimi shkakton mbingarkesë të tepërt të performancës dhe gjeneron vëllime të të dhënave të pakontrollueshme. Shmangni kapjen e të gjitha ngjarjeve pa filtra. Filloni me gjurmime të ngushta dhe të fokusuara dhe zgjeroni fushëveprimin vetëm kur është e nevojshme. Më shumë të dhëna nuk janë gjithmonë më të mira për zgjidhjen efektive të problemeve.
Harresa e ndalimit të gjurmimeve shpërdoron burimet dhe mbush hapësirën e diskut. Ndalo gjithmonë gjurmimet kur monitorimi është i plotë. Vendos kufij të kohëzgjatjes së gjurmimit ose madhësi maksimale të skedarëve për të parandaluar gjurmimet e pakontrolluara. Monitoro rregullisht gjurmimet në ekzekutim dhe ndalo gjurmimet joaktive ose të panevojshme.
Injorimi i optimizimit të filtrit çon në performancë të dobët dhe analizë të vështirë. Investoni kohë në konfigurimin e filtrave efektivë përpara se të filloni gjurmimet. Testoni filtrat në mjediset e zhvillimit për të verifikuar se ata kapin të dhënat e pritura. Rishikoni dhe rafinoni filtrat bazuar në rezultatet e kapura.
10. Alternativat për SQL Server Profiler në vitin 2025
10.1 Ngjarje të Zgjeruara: Zëvendësimi Modern
10.1.1 Çfarë janë Ngjarjet e Zgjeruara
Ngjarjet e Zgjeruara përfaqësojnë SQL Serverarkitekturën moderne të trajtimit të ngjarjeve. Microsoft e projektoi këtë sistem posaçërisht për t'iu përgjigjur SQL Server Kufizimet e Profiler duke përfshirë mbingarkesën e performancës dhe fleksibilitetin e konfigurimit. Eventet e Zgjeruara ofrojnë aftësi gjithëpërfshirëse monitorimi me konsum burimesh dukshëm më të ulët.
Arkitektura dhe përfitimet i dallojnë Ngjarjet e Zgjeruara nga teknologjitë më të vjetra të gjurmimit. Motori i ngjarjeve integrohet thellë në SQL ServerArkitektura thelbësore e 's, duke kapur ngjarjet me mbingarkesë minimale. Ruajtja asinkrone e ngjarjeve parandalon bllokimin e operacioneve të bazës së të dhënave nga monitorimi. Opsionet fleksibile të synimit mundësojnë konfigurime të ndryshme të daljes.
Avantazhet e performancës i bëjnë Eventet e Zgjeruara ideale për monitorimin e prodhimit. Standardet tregojnë se Eventet e Zgjeruara sjellin 50-90% më pak shpenzime sesa ato ekuivalente. SQL Server Gjurmët e profilerit. Arkitektura shkallëzohet më mirë me vëllime të larta ngjarjesh dhe mbështet më shumë seanca monitorimi të njëkohshme.
10.1.2 Migrimi nga Profiler në Evente të Zgjeruara
Hartimi i ngjarjeve përkthehet SQL Server Ngjarjet e Profiler-it në ekuivalentët e Ngjarjeve të Zgjeruara. Shumica e ngjarjeve të Profiler-it kanë homologë përkatës të Ngjarjeve të Zgjeruara. Microsoft ofron dokumentacion që hartëzon ngjarjet e përbashkëta midis dy sistemeve.
Krijimi i sesionit në Extended Events kërkon mësimin e sintaksës dhe koncepteve të reja. Përcaktoni sesionet e ngjarjeve duke përdorur deklaratat T-SQL CREATE EVENT SESSION ose ndërfaqen grafike Extended Events në Management Studio. Sesionet specifikojnë se cilat ngjarje duhen kapur, cilat të dhëna duhen mbledhur dhe ku duhen ruajtur rezultatet.
10.1.3 Mjete dhe Ndërfaqe për Ngjarje të Zgjeruara
Ndërfaqja e përdoruesit e Ngjarjeve të Zgjeruara SSMS ofron menaxhim grafik të seancave. Qasuni te Ngjarjet e Zgjeruara përmes dosjes së Menaxhimit në Object Explorer. Krijoni, modifikoni dhe monitoroni seancat e ngjarjeve përmes ndërfaqes. Shikoni të dhënat e kapura në formate grafike, duke përfshirë rrjeta dhe grafikë.
Menaxhimi i sesioneve T-SQL mundëson kontrollin programatik të Ngjarjeve të Zgjeruara. Shkruani deklaratat CREATE EVENT SESSION për të përcaktuar sesionet në kod. Përdorni ALTER EVENT SESSION për të modifikuar sesionet në ekzekutim. Hiqni sesionet me DROP EVENT SESSION. Kjo qasje lehtëson zgjidhjet e automatizuara të monitorimit.
10.2 SQL Server Dyqan pyetjesh
Query Store kap automatikisht të dhënat e performancës së pyetjeve për bazat e të dhënave ku është aktivizuar. Kjo veçori gjurmon planet e pyetjeve, statistikat e ekzekutimit dhe metrikat e performancës me kalimin e kohës pa konfigurim manual të gjurmimit. Query Store ruan të dhënat historike duke mundësuar analizën e trendit dhe zbulimin e regresionit.
Monitorimi i performancës së pyetjeve në kohë reale përmes Query Store zbulon sjelljen aktuale të sistemit. Shikoni pyetjet e ekzekutuara së fundmi, planet e tyre të ekzekutimit dhe konsumin e burimeve. Identifikoni pyetjet me kohëzgjatje në rritje ose plane ekzekutimi në ndryshim që mund të tregojnë probleme.
Analiza historike e pyetjeve mundëson krahasimin midis periudhave kohore. Query Store ruan të dhënat e performancës për periudhat e ruajtjes të konfigurueshme. Krahasoni performancën aktuale me linjat bazë historike për të identifikuar regresionet. Analizoni trendet e performancës për të parashikuar nevojat e ardhshme të kapacitetit.
Përdorni Query Store kur keni nevojë për monitorim automatik dhe gjithmonë aktiv të performancës. Aktivizoni Query Store në bazat e të dhënave të prodhimit për të ndjekur vazhdimisht sjelljen e pyetjeve. Query Store plotëson zgjidhjen e problemeve të bazuara në gjurmim duke ofruar kontekst historik për problemet e performancës.
10.3 Pamje të Menaxhimit Dinamik (DMV)
Monitorimi i lehtë përmes DMV-ve ofron informacion mbi gjendjen aktuale pa kapur ngjarjet historike. DMV-të ekspozojnë të brendshme SQL Server statistika dhe meta të dhëna përmes pamjeve të pyetshme. Pyetni DMV-të duke përdorur deklaratat standarde T-SQL SELECT.
Pyetjet e zakonshme të DMV-së për monitorimin e performancës përfshijnë sys.dm_exec_query_stats për statistikat e performancës së pyetjeve, sys.dm_exec_requests për kërkesat që janë duke u ekzekutuar aktualisht dhe sys.dm_os_wait_stats për statistikat e pritjes. Këto pamje ofrojnë informacione në kohë reale mbi gjendjen dhe aktivitetin e serverit.
DMV-të plotësojnë monitorimin e bazuar në gjurmim duke ofruar metrika në kohë reale. Përdorni DMV-të për kontrolle të shpejta të shëndetit dhe analizë të gjendjes aktuale. Kombinoni pyetjet e DMV-së me të dhënat e gjurmimit për qasje gjithëpërfshirëse të zgjidhjes së problemeve.
10.4 Mjete Monitorimi nga Palët e Treta
Alternativat komerciale ofrojnë aftësi të përmirësuara monitorimi përtej SQL ServerMjetet e integruara të saj. Produktet nga shitës si SolarWinds, Redgate dhe Quest ofrojnë funksione gjithëpërfshirëse monitorimi, alarmi dhe analize. Këto mjete shpesh kombinojnë burime të shumta të të dhënave, duke përfshirë gjurmët, DMV-të dhe numëruesit e performancës.
Krahasimi i veçorive zbulon pikat e forta të qasjeve të ndryshme të monitorimit. Mjetet e palëve të treta ofrojnë ndërfaqe përdoruesi superiore, njoftime automatike dhe trende historike. SQL ServerMjetet e integruara ofrojnë zero kosto shtesë dhe integrim më të thellë. Vlerësoni mjetet bazuar në kërkesat dhe buxhetin tuaj specifik.
10.5 Zgjedhja e mjetit të duhur për nevojat tuaja
Një matricë vendimesh ndihmon në përzgjedhjen e mjeteve të përshtatshme të monitorimit. Për zgjidhjen e problemeve ad-hoc, SQL Server Profiler mbetet i arritshëm dhe efektiv. Për monitorimin e prodhimit, Extended Events ose Query Store ofrojnë performancë më të mirë. Për monitorim gjithëpërfshirës të ndërmarrjes, zgjidhjet e palëve të treta ofrojnë shumicën e veçorive.
Kriteret e përzgjedhjes së mjeteve përfshijnë kostot e performancës, lehtësinë e përdorimit, kërkesat për ruajtjen e të dhënave dhe kufizimet buxhetore. Merrni parasysh ekspertizën e ekipit tuaj kur zgjidhni mjetet. Mjetet e njohura mundësojnë zgjidhje më të shpejtë të problemeve edhe nëse alternativat më të reja ofrojnë veçori më të mira.
Kombinoni mjete të shumta për strategji gjithëpërfshirëse monitorimi. Përdorni Query Store për ndjekje të vazhdueshme të performancës, Extended Events për hetim të problemeve specifike dhe DMV-të për kontrolle shëndetësore në kohë reale. Kjo qasje e shtresuar ofron monitorim të fuqishëm pa kosto të tepërt.
11. Troubleshooting SQL Server Probleme me Profilizuesin
11.1 Probleme të zakonshme të lidhjes
Dështimet e autentifikimit parandalojnë SQL Server Profilizuesi nuk mund të lidhet me serverat e synuar. Verifikoni që po përdorni kredencialet e sakta për metodën e zgjedhur të vërtetimit. Vërtetimi i Windows kërkon që llogaria juaj e Windows të ketë të përshtatshmet. SQL Server lejet. SQL Server Autentifikimi kërkon kredenciale të vlefshme hyrjeje në SQL.
Problemet e lidhjes së rrjetit shfaqen si gabime të skadimit të kohës ose dështime të lidhjes. Verifikoni SQL Server lejon lidhje në distancë në konfigurimin e tij. Kontrolloni cilësimet e firewall-it që lejojnë trafikun në SQL ServerPorta 's. Testoni lidhshmërinë bazë duke përdorur ping dhe telnet përpara se të zgjidhni problemet specifike të Profiler.
11.2 Probleme me Performancën me Profiler
Ekzekutimi i ngadaltë i gjurmimit tregon mbingarkesë të tepërt nga konfigurimi i gjurmimit. Rishikoni ngjarjet e zgjedhura dhe eliminoni ato të panevojshme. Shtoni filtra për të zvogëluar vëllimin e ngjarjeve të kapura. Konsideroni përdorimin e gjurmëve nga ana e serverit për të zvogëluar ngarkesën e përpunimit nga ana e klientit.
Konsumi i lartë i burimeve ndikon në të dyja SQL Server dhe klienti Profiler. Monitoroni CPU-në dhe memorien e serverit gjatë ekzekutimit të gjurmimit. Nëse burimet e serverit janë të kufizuara, rrisni selektivitetin e filtrit ose zvogëloni kohëzgjatjen e kapjes. Problemet me burimet e klientit kërkojnë mbylljen e aplikacioneve të tjera ose përmirësimin e harduerit të klientit.
11.3 Probleme me skedarin dhe tabelën e gjurmimit
Skedarët e gjurmëve të korruptuar parandalojnë hapjen në SQL Server Profiler. Dëmtimi zakonisht vjen nga përfundimi i pahijshëm i gjurmës ose gabimet e diskut. Provoni ta hapni skedarin në një redaktues teksti për të verifikuar se nuk është plotësisht i dëmtuar. Ndonjëherë të dhënat e pjesshme mund të rikuperohen duke importuar në një tabelë duke përdorur fn_trace_gettable.
Problemet me aksesin në tabelë ndodhin kur përpiqeni të ngarkoni gjurmët nga SQL Server tabelat. Verifikoni që keni lejen SELECT në tabelën e gjurmimit. Kontrolloni që tabela të mos jetë hequr ose riemëruar. Sigurohuni që po lidheni me serverin dhe bazën e të dhënave të saktë që përmban tabelën e gjurmimit.
11.4 Ngjarje që mungojnë ose të dhëna të paplota
Konfigurimi i gabuar i filtrit bën që gjurmët të humbasin ngjarjet e pritura. Rishikoni me kujdes kriteret e filtrit për t'u siguruar që ato nuk përjashtojnë ngjarjet e dëshiruara. Testoni filtrat duke ekzekutuar gjurmë të shkurtra dhe duke verifikuar nëse të dhënat e kapura përputhen me pritjet. Hiqni filtrat përkohësisht për të përcaktuar nëse ato po e shkaktojnë problemin.
Mbushja e tamponit ndodh kur SQL Server Nuk mund të shkruajë të dhëna gjurmimi mjaftueshëm shpejt për të mbajtur ritmin me gjenerimin e ngjarjeve. Kjo zakonisht ndodh me gjurmët e pafiltruara gjatë aktivitetit të lartë. Simptomat përfshijnë ngjarje që mungojnë ose paralajmërime "Ngjarjet nuk u kapën". Zgjidheni duke shtuar filtra për të zvogëluar vëllimin e ngjarjeve ose duke rritur performancën e vendndodhjes së skedarit të gjurmimit në disk.
11.5 Rrëzimet dhe gabimet e Profiler-it
Mesazhet e zakonshme të gabimit përfshijnë "Nuk mund të krijohet gjurmim" që tregon probleme me lejet ose kufizime të burimeve. Mesazhet "Gjurmimi u ndalua" sugjerojnë dështime të gjurmimit në anën e serverit, ndoshta për shkak të kushteve të plota të diskut. Gabimet "Përkufizim i pavlefshëm i gjurmimit" tregojnë probleme konfigurimi.
Strategjitë e zgjidhjes varen nga gabimi specifik. Gabimet e lejeve kërkojnë dhënien e lejes ALTER TRACE përdoruesit. Gabimet e burimeve kërkojnë hapësirë të lirë në disk ose memorie. Gabimet e konfigurimit kërkojnë rishikimin dhe korrigjimin e cilësimeve të gjurmimit. Rinisni. SQL Server Profiler nëse nuk përgjigjet.
12. Praktike SQL Server Skenarët dhe Shembujt e Profiluesit
12.1 Skenari 1: Identifikimi i pyetjeve më të ngadalta në bazën tuaj të të dhënave
Ky udhëzues tregon kapjen dhe analizimin e pyetjeve të ngadalta.
Konfiguroni gjurmën duke ndjekur këto hapa:
- Launch SQL Server Profiler dhe lidheni me serverin tuaj të synuar.
- Kliko Skedar -> Gjurmim i Ri.
- Futni "Analizë të Ngadaltë të Pyetjeve" në Emri i gjurmës fushë.
- zgjedh TSQL nga Përdorni shabllonin rënie
- Kliko Përzgjedhja e Ngjarjeve Tab.
- Kliko Filtrat e kolonave.
- zgjedh Kohëzgjatje dhe futni 1000000 në Më e madhe ose e barabartë.
- zgjedh Emri i Bazës së të Dhënave dhe futni emrin e bazës së të dhënave në Like.
- Kliko OK për të mbyllur filtrat.
- Aktivizo Ruani në skedar dhe specifikoni një shteg skedari.
- Kliko run për të filluar kapjen.
Ekzekutoni gjurmimin gjatë orarit të pikut të punës për të paktën 30 minuta për të kapur ngarkesën përfaqësuese të punës. Ndërpritni gjurmimin pas mbledhjes së të dhënave të mjaftueshme.
Analizoni rezultatet pas këtij procesi:
- Kliko Kohëzgjatje kokën e kolonës për të renditur sipas kohës së ekzekutimit.
- Identifikoni 10 pyetjet më të gjata.
- Për secilën pyetje, shqyrtoni Të Dhëna Teksti kolona.
- Kopjoni tekstin e pyetjes dhe ngjiteni në Management Studio.
- përdorim Shfaq Planin e Ekzekutimit të Parashikuar për të analizuar pyetjen.
- Kërko për skanime tabelash, indekse që mungojnë ose bashkime joefikase.
- Rishikim CPU, Lexondhe shkruan kolonat për modelet e konsumit të burimeve.
12.2 Skenari 2: Debugimi i një Problemi Bllokimi
Ky shembull tregon se si të kapen dhe analizohen bllokimet.
Konfiguroni monitorimin e bllokimit duke përdorur këto hapa:
- Krijo një gjurmë të re të quajtur "Hetim bllokimi".
- Kliko Përzgjedhja e Ngjarjeve Tab.
- Kliko Shfaq të gjitha ngjarjet.
- Expand Flokët kategori.
- zgjedh Kyç: Bllokim.
- zgjedh Kyç: Zinxhir bllokimi.
- Expand Gabimet dhe paralajmërimet kategori.
- zgjedh Raporti i procesit të bllokuar.
- Siguroj Të Dhëna Teksti kolona është zgjedhur.
- Kliko run për të filluar monitorimin.
Kur ndodh një bllokim gjatë ekzekutimit të gjurmimit, ngjarja Lock:Deadlock shfaqet në rrjetën e gjurmimit.
Interpretoni informacionin e bllokimit duke ndjekur këto hapa:
- Kliko Kyç: Bllokim rreshti i ngjarjeve.
- Shiko Të Dhëna Teksti kolona në panelin e poshtëm.
- Kopjoni përmbajtjen XML nga TextData.
- Hapni Management Studio dhe krijoni një dritare të re pyetjesh.
- Ngjit XML-në në dritaren e pyetjes.
- Ruaj skedarin me prapashtesën .xdl.
- Hapni skedarin .xdl në Management Studio për të parë grafikun e bllokimit.
- Grafiku tregon proceset e përfshira, burimet e bllokuara dhe viktimën e zgjedhur.
- Rishikoni pyetjet nga të dy proceset për të kuptuar konfliktin.
Hapat e zgjidhjes zakonisht përfshijnë rirenditjen e operacioneve në kodin e aplikacionit për të aksesuar burimet në një rend të qëndrueshëm, duke zvogëluar fushëveprimin e transaksioneve ose duke zbatuar këshilla të përshtatshme për bllokim.
12.3 Skenari 3: Gjurmimi i të gjitha pyetjeve nga një aplikacion specifik
Ky skenar demonstron monitorimin e pyetjeve specifike për aplikacionin.
Konfiguroni gjurmimin specifik të aplikacionit duke përdorur këto hapa:
- Krijo një gjurmë të re të quajtur "Ndjekja e Pyetjeve të Aplikacionit".
- Zgjidhni standard shabllon
- Kliko Përzgjedhja e Ngjarjeve Tab.
- Kliko Filtrat e kolonave.
- zgjedh Emri i Aplikacionit.
- Shkruani emrin e aplikacionit tuaj në Like fushë.
- Nëse aplikacioni juaj përdor grupimin e lidhjeve, mund t'ju duhet përputhje me karaktere të egra.
- Kliko OK për të aplikuar filtrin.
- Aktivizo Ruaj në tabelë për pyetje më të lehta.
- Kliko run për të filluar kapjen.
Analiza e modelit të pyetjeve zbulon se si aplikacioni juaj bashkëvepron me SQL Server:
- Pas mbledhjes së të dhënave, ndaloni gjurmimin.
- Hapni Management Studio dhe lidheni me serverin me tabelën e gjurmimit.
- Bëni pyetje në tabelën e gjurmëve për të analizuar modelet.
- Numëroni pyetjet sipas llojit për të parë përzierjen e operacioneve.
- Identifikoni pyetjet që ekzekutohen më shpesh.
- Kërko për pyetje që mund të ruhen në memorien e përkohshme ose të optimizohen.
- Kontrolloni për pyetje identike të përsëritura që tregojnë mungesë të grupimit të lidhjeve.
12.4 Skenari 4: Auditimi i Qasjes në të Dhëna për Pajtueshmëri
Ky shembull tregon krijimin e gjurmës së auditimit të sigurisë.
Konfiguroni auditimin e sigurisë duke ndjekur këto hapa:
- Krijo një gjurmë të re të quajtur "Gjurmë Auditimi të Sigurisë".
- Kliko Përzgjedhja e Ngjarjeve Tab.
- Kliko Shfaq të gjitha ngjarjet.
- Expand Auditimi i Sigurisë kategori.
- zgjedh Hyrja e Auditimit, Dalja nga Auditimi, Hyrja në Auditim Dështoi.
- zgjedh Qasja në objektin e bazës së të dhënave të auditimit.
- Expand TSQL kategori.
- zgjedh SQL:BatchCompleted.
- Kliko Filtrat e kolonave.
- Filtro sipas Emri i objektit për të monitoruar tabela specifike të ndjeshme.
- Aktivizo Ruaj në tabelë për ruajtje afatgjatë.
- Aktivizo gjurmimin nga ana e serverit për operacionin pa mbikëqyrje.
- Kliko run për të filluar auditimin.
Gjeneroni raportet e auditimit duke pyetur tabelën e gjurmimit:
- Krijo pyetje që përmbledhin aksesin sipas përdoruesit dhe periudhës kohore.
- Identifikoni modele të pazakonta aksesi ose aktivitete jashtë orarit të punës.
- Dokumentoni përpjekjet e dështuara të hyrjes për shqyrtimin e sigurisë.
- Eksportoni të dhënat e auditimit në sistemet e raportimit për dokumentimin e pajtueshmërisë.
- Arkivoni gjurmët e auditimit të përfunduara sipas politikave të ruajtjes.
12.5 Skenari 5: Kapja e një Ngarkese Pune për Testimin e Performancës
Ky skenar demonstron kapjen e ngarkesës së punës për qëllime testimi.
Krijo gjurmë të gatshme për riprodhim duke përdorur këto hapa:
- Krijo një gjurmë të re të quajtur "Kapja e Ngarkesës së Punës".
- zgjedh TSQL_Replay nga menyja zbritëse e shabllonit.
- Ky shabllon përfshin të gjitha ngjarjet dhe kolonat e kërkuara për riprodhim.
- Kliko Përzgjedhja e Ngjarjeve Tab.
- Aplikoni filtra nëse doni të kapni segmente specifike të ngarkesës së punës.
- Aktivizo Ruani në skedar.
- Specifikoni një shteg skedari me hapësirë të mjaftueshme në disk.
- Vendosni kufijtë e duhur të madhësisë së skedarit dhe aktivizoni rollover-in.
- Kliko run për të filluar kapjen.
Kapja gjatë operacioneve përfaqësuese të biznesit. Për një kapje gjithëpërfshirëse të ngarkesës së punës, ekzekutoni gjurmimin për disa orë duke mbuluar modele të ndryshme aktiviteti. Ndërpritni gjurmimin pasi të mblidhni të dhëna të mjaftueshme.
Analiza e ngarkesës së punës zbulon modelet e sjelljes së sistemit:
- Hap skedarin e gjurmës së kapur në SQL Server Profiler.
- Rishikoni shpërndarjen e ngjarjeve sipas llojit dhe kohës.
- Llogaritni metrikat e konsumit të përgjithshëm të burimeve.
- Identifikoni periudhat e aktivitetit maksimal dhe pengesat në burime.
- Përdorni gjurmën për analizën e Këshilltarit të Akordimit të Motorit të Bazës së të Dhënave.
- Riluaj gjurmën kundrejt sistemeve të testimit për të validuar ndryshimet.
13. Zbulimi i Korrupsionit të Bazës së të Dhënave me SQL Server Profiler
13.1 Duke përdorur SQL Server Profilizues për Shenjat e Paralajmërimit të Hershëm të Korrupsionit
Korruptimi i bazës së të dhënave përfaqëson një nga kërcënimet më serioze për integritetin e të dhënave dhe besueshmërinë e sistemit. Ndërsa SQL Server Profiler nuk është një mjet i dedikuar për zbulimin e korrupsionit, por mund të kapë shenja paralajmëruese kritike që tregojnë probleme të mundshme korrupsioni që kërkojnë hetim të menjëhershëm.
13.2 Ngjarje të Gabimeve Kritike që Tregojnë Korrupsion të Mundshëm
- Gabime të Ashpërsisë 24 (823, 824, 825): Dështime të Pajisjeve dhe Medias.
- Gabim 605: Përpjekje të dështuara për rikuperimin e faqes
- Gabimi 8928 dhe 8929: Dëmtimi i objektit
13.3 Sjelljet e Dyshimta të Bazës së të Dhënave dhe Modelet e Paralajmërimit
- Kohëzgjatja e përsëritur e pyetjeve në objekte specifike
- Shkeljet e aksesit dhe rrëzimet e aplikacionit
- Grumbullim i pazakontë i gabimeve
13.4 Ekzekutoni DBCC CHECKDB Bazuar në Gjetjet e Profiler-it
If SQL Server Profiler gjen korruptime të dyshimta, ju mund të përdorni DBCC CHECKDB për të kryer një kontroll të plotë të bazës së të dhënave. Pastaj kryeni një riparim nëse korruptimet konfirmohen. Ne kemi shkruar një udhëzues gjithëpërfshirës se si t'i kryeni këto detyra.
Nëse DBCC CHECKDB dështon në riparimin e bazës së të dhënave, korruptimet janë të rënda. Në një rast të tillë, mund të përdorni një mjet i palës së tretë për rikuperimin e SQL-së.
14. Pyetjet e shpeshta
P: shtë SQL Server Profiler ende mbështetet në SQL Server 2022?
A: Po, SQL Server Profiler është ende i përfshirë në SQL Server 2022 dhe SQL Server Management Studio, pavarësisht se është i vjetruar që nga SQL Server 2016. Microsoft vazhdon ta sjellë mjetin me versionet aktuale, por rekomandon migrimin në Evente të Zgjeruara për implementime të reja të monitorimit. Mjeti mbetet funksional dhe përdoret gjerësisht për zgjidhjen e problemeve dhe analiza ad-hoc.
Pyetje: Cili është ndryshimi midis SQL Server Profiler dhe SQL Gjurmim?
A: SQL Server Profiler është mjeti grafik i ndërfaqes së përdoruesit që lidhet me motorin SQL Trace që funksionon brenda SQL ServerSQL Trace është teknologjia themelore që në fakt kap ngjarjet. Ju mund të krijoni gjurmë duke përdorur ndërfaqen e Profiler ose direkt përmes procedurave të ruajtura në T-SQL si sp_trace_create. Profiler ofron konfigurim më të lehtë, ndërsa gjurmët T-SQL ofrojnë më shumë mundësi automatizimi.
P: Sa kushton mbingarkesa e performancës SQL Server Shtim profiluesi?
A: Ndikimi në performancë ndryshon në bazë të konfigurimit të gjurmës. Një gjurmë e filtruar mirë që kap vetëm ngjarje specifike mund të shtojë 1-5% mbingarkesë. Gjurmët e konfiguruara dobët pa filtra mund të shtojnë 20-50% ose më shumë mbingarkesë, veçanërisht në sistemet e ngarkuara. Gjurmët nga ana e serverit kanë ndikim më të ulët sesa gjurmët nga ana e klientit. Përdorni gjithmonë filtra për të minimizuar vëllimin e ngjarjeve dhe testoni gjurmët në mjedise jo-prodhuese së pari.
P: A mund të vrapoj? SQL Server Profiler në serverat e prodhimit?
Përgjigje: Mund të vraposh SQL Server Profiler në serverat e prodhimit, por kini kujdes. Përdorni filtra shumë selektivë, kufizoni kohëzgjatjen e gjurmimit dhe preferoni gjurmimet nga ana e serverit për të minimizuar ndikimin. Ekzekutoni gjurmimet e prodhimit gjatë periudhave me aktivitet të ulët kur është e mundur. Për monitorim të vazhdueshëm të prodhimit, merrni në konsideratë Ngjarjet e Zgjeruara ose Ruajtjen e Pyetjeve, pasi ato ofrojnë kosto më të ulët.
P: Çfarë lejesh duhet të përdor? SQL Server Profilizues?
A: Ju nevojitet leje ALTER TRACE për të krijuar dhe ekzekutuar gjurmë. Anëtarët e rolit të serverit fiks të administratorit të sistemit e kanë automatikisht këtë leje. Për përdoruesit jo-administrator të sistemit, jepni në mënyrë të qartë lejen ALTER TRACE. Përveç kësaj, ju nevojiten leje të përshtatshme për të ruajtur të dhënat e gjurmës në skedarë ose tabela bazuar në konfigurimin tuaj.
P: Pse nuk mund t'i shoh të gjitha ngjarjet në gjurmën time?
A: Ngjarjet që mungojnë zakonisht vijnë si pasojë e filtrave tepër kufizues ose tejmbushjes së memorjes. Rishikoni konfigurimin e filtrit tuaj për t'u siguruar që nuk po përjashton ngjarjet e dëshiruara. Mbushja e memorjes ndodh kur SQL Server Nuk mund të shkruajë ngjarje mjaftueshëm shpejt, zakonisht me gjurmë të pafiltruara në sisteme të ngarkuara. Shtoni filtra për të zvogëluar vëllimin e ngjarjeve ose për të rritur performancën e I/O të diskut. Kontrolloni për mesazhe gabimi që tregojnë se ngjarjet nuk janë kapur.
P: Si mund të kap informacionin e bllokimit me SQL Server Profilizues?
A: Krijoni një gjurmë që përfshin ngjarjet Lock:Deadlock dhe Lock:Deadlock Chain nga kategoria Locks. Sigurohuni që kolona TextData është zgjedhur, pasi ajo përmban XML-në e grafikut të deadlock. Kur ndodh një deadlock, kopjoni XML-në nga kolona TextData, ruajeni atë me një zgjerim .xdl dhe hapeni atë në SQL Server Management Studio për të parë diagramin grafik të bllokimit.
P: Cili është ndryshimi midis ruajtjes së gjurmëve në skedarë dhe në tabela?
A: Skedarët ofrojnë performancë më të mirë gjatë ekzekutimit të gjurmimit sepse anashkalojnë SQL Server motor ruajtjeje. Gjurmët e skedarëve shkruajnë të dhëna direkt në disk me mbingarkesë minimale. Gjurmët e tabelave shkruajnë përmes motorit të ruajtjes, duke shtuar mbingarkesë, por duke mundësuar pyetje të menjëhershme T-SQL kundrejt të dhënave të gjurmimit. Përdorni skedarë për skenarë dhe tabela të ndjeshme ndaj performancës kur duhet të kërkoni të dhëna menjëherë gjatë ose pas kapjes.
P: A mund ta automatizoj? SQL Server Mbledhja e gjurmëve të Profiler-it?
A: Po, automatizoni mbledhjen e gjurmëve duke përdorur gjurmë nga serveri të krijuara me procedura të ruajtura në T-SQL. Shkruani skripte duke përdorur sp_trace_create dhe procedurat përkatëse, pastaj planifikoni ato përmes SQL Server Punë agjentësh. Kjo qasje mundëson mbledhjen e gjurmëve pa mbikëqyrje sipas orareve të specifikuara. Skriptet PowerShell ofrojnë një tjetër mundësi automatizimi për skenarë më kompleksë.
P: Për sa kohë duhet të ekzekutoj një gjurmë?
A: Kohëzgjatja e gjurmimit varet nga objektivat tuaja. Për zgjidhjen e problemeve specifike, ekzekutoni gjurmime gjatë riprodhimit të problemit, zakonisht 5-30 minuta. Për analizën e performancës, kapni të paktën një orë gjatë periudhave të aktivitetit maksimal. Për analizën e ngarkesës së punës ose planifikimin e kapacitetit, mblidhni disa orë në periudha të ndryshme kohore. Gjithmonë ndaloni gjurmimet kur monitorimi është i plotë për të liruar burimet.
P: Çfarë duhet të bëj nëse skedari im i gjurmimit bëhet shumë i madh?
A: Aktivizoni transferimin e skedarëve në vetitë e gjurmimit për të krijuar disa skedarë më të vegjël në vend të një skedari të madh. Vendosni një madhësi maksimale të skedarit të përshtatshme për hapësirën e diskut dhe nevojat e analizës. Përdorni filtra për të zvogëluar vëllimin e ngjarjeve të kapura. Për gjurmime të mëdha, merrni në konsideratë analizimin e të dhënave në segmente në vend që të ngarkoni të gjithë gjurmën menjëherë. Arkivoni ose fshini skedarët e vjetër të gjurmimit rregullisht për të menaxhuar hapësirën e diskut.
P: Si mund t’i gjej pyetjet që shkaktojnë përdorim të lartë të CPU-së?
A: Krijoni një gjurmë me ngjarjet SQL:BatchCompleted dhe RPC:Completed. Përfshini kolonat CPU, Kohëzgjatja dhe TextData. Filtroni sipas Kohëzgjatjes për të kapur vetëm pyetjet që tejkalojnë një prag si 1000 milisekonda. Pas mbledhjes së të dhënave, renditini sipas kolonës CPU në rend zbritës. Pyetjet në krye konsumojnë kohën më të madhe të procesorit. Shqyrtoni këto pyetje për mundësi optimizimi si indekse që mungojnë ose logjikë joefikase.
Pyetje: A mundet SQL Server Planet e ekzekutimit të pyetjeve të kapjes së profilerit?
A: SQL Server Profiler mund të kapë informacionin e planit të ekzekutimit përmes ngjarjeve Showplan XML në kategorinë Performance. Zgjidhni ngjarjet Showplan XML ose Showplan XML Statistics Profile për të kapur planet e plota të ekzekutimit. Kolona TextData përmban të dhënat e planit XML. Megjithatë, për analizën rutinë të planit të ekzekutimit, SQL Server Karakteristikat e planit grafik të ekzekutimit të Management Studio ose Query Store ofrojnë alternativa më të lehta.
P: Cili është shablloni më i mirë për të filluar për monitorimin e përgjithshëm?
A: Shablloni Standard ofron një pikënisje të mirë për monitorimin e përgjithshëm. Ai përfshin ngjarje të zakonshme të ekzekutimit të pyetjeve, thirrje të procedurave të ruajtura dhe gjurmimin e gabimeve me mbingarkesë të balancuar. Për monitorim me ndikim më të ulët të fokusuar në performancën e pyetjeve, përdorni shabllonin TSQL. Përshtatni shabllonet bazuar në nevojat tuaja specifike duke shtuar filtra dhe duke rregulluar përzgjedhjen e ngjarjeve pasi të keni kuptuar bazat.
P: Si mund të gjurmoj vetëm një aplikacion ose përdorues specifik?
A: Përdorni filtra kolonash për të izoluar aplikacione ose përdorues specifikë. Për aplikacionet, filtroni sipas kolonës Emri i Aplikacionit duke përdorur emrin e specifikuar në vargun tuaj të lidhjes. Për përdoruesit, filtroni sipas kolonës Emri i Hyrjes me SQL Server hyrjen ose emrin e llogarisë në Windows. Kombinoni filtra të shumtë për të ngushtuar më tej fokusin, siç është filtrimi si sipas Emrit të Aplikacionit ashtu edhe sipas Emrit të Bazës së të Dhënave për të monitoruar aktivitetin e një aplikacioni në një bazë të dhënash specifike.
15. Përfundimi dhe hapat e ardhshëm
15.1 Marrëveshje kryesore
SQL Server Profiler mbetet një mjet i vlefshëm për zgjidhjen e problemeve të bazës së të dhënave ad-hoc, pavarësisht statusit të tij të vjetëruar. Ndërfaqja e thjeshtë dhe kapja gjithëpërfshirëse e ngjarjeve e bëjnë atë ideal për seanca të shpejta diagnostikuese kur keni nevojë për rezultate të menjëhershme. Përdorni Profiler për zgjidhjen e problemeve specifike, analizimin e sjelljes së aplikacioneve dhe auditimin e sigurisë.
Praktikat më të mira përfshijnë përdorimin agresiv të filtrave për të minimizuar ndikimin në performancë, duke preferuar gjurmët nga ana e serverit për mjediset e prodhimit dhe duke kufizuar kohëzgjatjen e gjurmës në periudhat e nevojshme. Zgjidhni vetëm ngjarjet dhe kolonat thelbësore për të zvogëluar kostot. Ruani gjurmët në skedarë në vend të tabelave për një performancë më të mirë gjatë kapjes.
15.2 Duke ecur përpara: Përqafimi i mjeteve moderne
Kalimi nga SQL Server Nga Profiler në Extended Events për zgjidhje monitorimi afatgjata. Ndërsa Profiler mbetet funksional, investimi i kohës në mësimin e Extended Events ju pozicionon për të ardhmen. SQL Server versione. Filloni me seanca të thjeshta të Ngjarjeve të Zgjeruara që replikojnë gjurmët tuaja të zakonshme të Profiler.
Aktivizoni Query Store në bazat e të dhënave të prodhimit për të përfituar monitorim automatik të performancës pa konfigurim manual të gjurmimit. Query Store kap planet e pyetjeve dhe statistikat e ekzekutimit vazhdimisht, duke ofruar të dhëna bazë për analizën e performancës. Kombinoni Query Store me seanca të synuara të Ngjarjeve të Zgjeruara për monitorim gjithëpërfshirës.
15.3 Burime shtesë
Burimet e mëposhtme do t'ju ndihmojnë të thelloni veten tuaj SQL Server Njohuri mbi profilizuesit dhe qëndrimi në hap me praktikat më të mira të monitorimit:
Dokumentacioni zyrtar i Microsoft-it
- SQL Server Dokumentacioni i Profiluesit – Referencë gjithëpërfshirëse për ngjarjet, kolonat dhe procedurat
- Procedurat e Ruajtura të Sistemit të Gjurmimit SQL – Referencë T-SQL për krijimin e gjurmëve në anën e serverit
- Dokumentacioni i Zgjeruar i Ngjarjeve – Udhëzime për migracionin dhe qasje moderne të monitorimit
- Dokumentacioni i Query Store – Referencë automatike për ndjekjen e performancës së pyetjeve
- Mjetet e Monitorimit dhe Akordimit të Performancës – Përmbledhje e të gjithave SQL Server opsionet e monitorimit
Burimet e Komunitetit
- SQL Server Qendror – Artikuj, forume dhe skripte për profesionistë të bazave të të dhënave
- Mbingarkesa e stack SQL Server Etiketë – Pyetje dhe Përgjigje të Komunitetit për pyetje specifike rreth zgjidhjes së problemeve
- Reddit r/SQLServer – Forum diskutimi për SQL Server tema dhe këshilla
- Forumet e SQLServerCentral.com – Diskutime aktive të komunitetit mbi profilizimin dhe performancën
- MSDN SQL Server Forumet – Forumet e mbështetjes së komunitetit të organizuara nga Microsoft
Blogje dhe Artikuj Teknikë
- SQL Server Performance Monitor – Përmbajtje e dedikuar për monitorimin dhe optimizimin e performancës
- Blogu i Brent Ozar Unlimited – Praktikat më të mira të monitorimit dhe rregullimit të performancës
- SQLSkills.com – Nivel Eksperti SQL Server përmbajtje nga liderët e industrisë
- microsoft SQL Server Blog – Përditësime zyrtare të produkteve dhe njoftime për veçoritë
- Bisedë e thjeshtë - Praktike SQL Server tutoriale dhe studime rastesh
Trajnimi dhe Certifikimi
- Microsoft Mëso – Module trajnimi online falas për SQL Server
- I Certifikuar nga Microsoft: Bashkëpunëtor i Administratorit të Bazës së të Dhënave Azure – Rruga zyrtare e certifikimit
- Pluralsight SQL Server Kurse – Trajnim me video mbi profilizimin dhe rregullimin e performancës
- LinkedIn Learning SQL Server Trajnim – Kurse për zhvillim profesional
- Udemy SQL Server Kurset e Performancës – Mundësi trajnimi praktik
Librat
- SQL Server Rregullimi i Performancës së Pyetjeve – Udhëzues gjithëpërfshirës për optimizimin e performancës
- pro SQL Server Brendësitë - Zhytje e thellë në SQL Server arkitekturë
- SQL Server Planet e Ekzekutimit – Kuptimi i optimizimit të pyetjeve
- Indeksimi i Performancës së Ekspertëve për SQL Server – Dizajnimi dhe optimizimi i indeksit
- SQL Server Zgjidhja e Avancuar e Problemeve dhe Rregullimi i Performancës – Teknika të avancuara diagnostikuese
Mjetet dhe Shërbimet
- SQL Server Studio e Menaxhimit – Ndërfaqja kryesore për SQL Server Profiler
- Studio Azure Data – Mjet modern i bazës së të dhënave ndërplatformë
- sp_WhoIsActive – Procedura e ruajtur e monitorimit e krijuar nga komuniteti, popullore
- SQL Sentry Plan Explorer – Mjet falas për analizën e planit të ekzekutimit
- DBForge Studio – Palë e tretë SQL Server mjet zhvillimi dhe administrimi
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 Grupet e disponueshmërisë gjithmonë në dispozicion, dhe zhvillimin e strategjive të automatizuara të kopjimit rezervë 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.























