1. Įvadas į SQL Server Profiler
1.1 Kas yra SQL Server Profileris ir kodėl mums jo reikia?
SQL Server „Profiler“ yra grafinės vartotojo sąsajos įrankis, skirtas stebėti ir fiksuoti įvykius, vykstančius SQL ServerŠi galinga diagnostikaostic įrankis leidžia duomenų bazių administratoriams ir kūrėjams stebėti duomenų bazės variklio veiklą realiuoju laiku, padeda nustatyti našumo kliūtis, šalinti programų problemas ir audituoti saugumo įvykius.
1.2 SQL Server Profiler 2025 m.: dabartinė padėtis ir alternatyvos
„Microsoft“ nebenaudojama SQL Server Profileristarting su SQL Server 2016 m., rekomenduojant Išplėstiniai įvykiai kaip pakaitinė technologija. Tačiau įrankis išlieka prieinamas dabartinėje SQL Server versijos, įskaitant SQL Server 2022 m. ir vis dar plačiai naudojamas duomenų bazių specialistų.
1.3 Kam turėtų būti naudojamas šis vadovas
- Šis vadovas skirtas duomenų bazių administratoriams, kuriems reikia stebėti SQL Server egzempliorius, diagnozuoti našumo problemas ir užtikrinti sistemos patikimumą. Duomenų bazių administratoriai ras praktinių nurodymų, kaip fiksuoti pėdsakus, analizuoti įvykius ir įgyvendinti stebėjimo strategijas.
- Programų kūrėjams naudinga suprasti, kaip jų kodas sąveikauja su SQL ServerSQL Profiler padeda kūrėjams nustatyti neefektyvias užklausas, patvirtinti programos veikimą ir derinti su duomenų baze susijusias klaidas.
- Našumo analitikai ir konsultantai atras pažangius darbo krūvio analizės, pajėgumų planavimo ir sistemos optimizavimo metodus. Išsami sekimo konfigūracijos, filtravimo ir analizės apžvalga leidžia atlikti išsamius duomenų bazės našumo įvertinimus.
2. Supratimas SQL Server Profilerio pagrindai
2.1 Kaip SQL Server Profiler Works
SQL Server „Profiler“ veikia kaip kliento programa, kuri prisijungia prie SQL sekimo modulio, veikiančio viduje. SQL ServerKai sukuriate sekimą, duomenų bazės modulis stebi nurodytus įvykius ir fiksuoja juos pagal jūsų konfigūraciją. Tinkamai sukonfigūravus, sekimo modulis renka įvykių duomenis, minimaliai paveikdamas serverio našumą.
Pagrindinė SQL sekimo infrastruktūra visame duomenų bazės modulyje naudoja lengvus įvykių kabliukus. Kai įvyksta įvykis, atitinkantis jūsų sekimo apibrėžimą, modulis fiksuoja atitinkamą informaciją ir siunčia ją į „Profiler“ sąsają arba išsaugo faile ar lentelėje. Ši architektūra leidžia lanksčiai rinkti duomenis nekeičiant programos kodo.
2.2 Pagrindinės sąvokos ir terminologija
2.2.1 įvykiai
Įvykiai atspindi konkrečius įvykius SQL Server kuriuos gali užfiksuoti sekimo modulis. Kiekvienas įvykis atitinka konkrečią duomenų bazės operaciją arba sistemos veiklą. SQL Server Profiler organizuoja įvykius į logines kategorijas, kad būtų lengviau konfigūruoti.
Įprastos įvykių kategorijos apima TSQL užklausų vykdymui, saugomas procedūras procedūrų iškvietimams, užraktus lygiagrečiam stebėjimui ir klaidas bei įspėjimus išimčių stebėjimui. Tinkamų įvykių pasirinkimas lemia, kokią informaciją užfiksuos jūsų sekimas, ir tiesiogiai veikia sekimo naudingumą bei našumo išlaidas.
Suprasdami įvykių tipus, galite konfigūruoti efektyvius sekimus. RPC:Completed įvykiai fiksuoja nuotolinių procedūrų iškvietimų užbaigimus, SQL:BatchCompleted įvykiai seka ad hoc užklausų paketus, o Lock:Deadlock įvykiai identifikuoja aklavietės atvejus. Pasirinkite įvykius, kurie atitinka jūsų konkrečius trikčių šalinimo ar stebėjimo tikslus.
2.2.2 Duomenų stulpeliai
Duomenų stulpeliai apibrėžia, kokią informaciją kiekvieno įvykio atveju fiksuoja sekimas. Įprasti stulpeliai yra „TextData“ – faktiniam SQL sakiniui, „Duration“ – vykdymo laikui, „CPU“ – procesoriaus panaudojimui, „Reads“ – loginio disko skaitymui ir „Writes“ – loginio disko įrašymui.
Svarbiausi stulpeliai skiriasi priklausomai nuo naudojimo atvejo. Našumo trikčių šalinimui paprastai reikalingi stulpeliai „Duration“, „CPU“, „Reads“ ir „Writes“. Saugumo auditui reikalingi stulpeliai „LoginName“, „DatabaseName“ ir „ObjectName“. Programų derinimui naudingi stulpeliai „ApplicationName“, „SPID“ ir „Error“.
Pasirinkus tik būtinus stulpelius, sumažėja sekimo išlaidos ir supaprastinama analizė. Venkite fiksuoti visus galimus stulpelius, nebent to konkrečiai reikia. Kiekvienas papildomas stulpelis padidina renkamų ir apdorojamų duomenų kiekį, o tai gali turėti įtakos serverio našumui.
2.2.3 filtrai
Filtrai pagal nurodytus kriterijus riboja, kuriuos įvykius užfiksuoja sekimas. Tinkamai sukonfigūruoti filtrai smarkiai sumažina sekimo apimtį, todėl analizę lengviau valdyti ir sumažinti poveikį našumui. Filtrai įvertina įvykių duomenis prieš fiksavimą, taip užkertant kelią nereikalingam duomenų rinkimui.
Įprasti filtravimo kriterijai apima „DatabaseName“, skirtą sutelkti dėmesį į konkrečias duomenų bazes, „ApplicationName“, skirtą atskirti konkrečias programas, „Duration“, skirtą tik lėtoms operacijoms užfiksuoti, ir „LoginName“, skirtą konkretiems vartotojams sekti. Sujungus kelis filtrus, sukuriami tikslūs sekimo apibrėžimai, kurie užfiksuoja būtent tai, ko jums reikia.
Našumu pagrįstas filtravimas yra būtinas gamybinėje aplinkoje. Visada filtruokite pagal duomenų bazės pavadinimą arba programos pavadinimą, kad neužfiksuotumėte sistemos veiklos. Nustatykite minimalias trukmės ribas, kad ignoruotumėte greitai vykdomas užklausas. Naudokite „TextData“ filtrus atsargiai, nes jiems reikalingi eilučių palyginimai, kurie padidina išlaidas.
2.2.4 Pėdsakų šablonai
Sekimo šablonai pateikia iš anksto sukonfigūruotus įvykių, stulpelių ir filtrų pasirinkimus dažniausiai pasitaikantiems scenarijams. SQL Server Profiler apima kelis integruotus šablonus, kurie tarnauja kaiptartaškai sekimui kurti. Pasirinktiniai šablonai išsaugo jūsų konfigūracijas, kad jas būtų galima pakartotinai naudoti keliose sekimo sesijose.
Standartinis šablonas fiksuoja bendrą įvykių rinkinį, tinkamą pagrindiniam stebėjimui. TSQL šablonas orientuotas į užklausų vykdymą su minimaliomis sąnaudomis. Derinimo šablonas renka įvykius, specialiai skirtus duomenų bazės variklio derinimo patarėjo analizei. Kiekvienas šablonas subalansuoja informacijos fiksavimą pagal poveikį našumui.
Kuriant pasirinktinius šablonus sutaupoma laiko ir užtikrinamas nuoseklumas visuose sekimo seansuose. Sukonfigūruokite sekimą su pageidaujamais įvykiais, stulpeliais ir filtrais, tada išsaugokite jį kaip šabloną. Pasirinktiniai šablonai tampa ypač vertingi, kai pakartotinai sprendžiate panašias problemas.
3. S gavimastarted su SQL Server Profiler
3.1 Sistemos reikalavimai ir prielaidos
SQL Server Profiler komplektuojamas su SQL Server „Management Studio“ ir palaiko visas šiuo metu prižiūrimas SQL Server versijos, nuo SQL Server 2016 į 2022.
Leidimų reikalavimai nustato, kas gali kurti ir vykdyti sekimus. Sistemos administratoriaus fiksuoto serverio vaidmens nariai turi neribotą prieigą prie SQL Server Profilerio funkcionalumas. Vartotojams, kurie nėra sistemos administratoriai, leidimas ALTER TRACE suteikia galimybę kurti ir valdyti pėdsakus.
Sekant nuotolinius serverius, reikia atsižvelgti į tinklo aspektus. Kliento pusės sekimui reikalingas nuolatinis tinklo ryšys tarp jūsų darbo stoties ir SQL Server egzempliorius. Nutrūkę ryšiai sustabdo kliento pusės pėdsakus, todėl užfiksuoti duomenys gali būti prarasti. Serverio pusės pėdsakai šio apribojimo išvengia, nes jie visiškai veikia duomenų bazės serveryje.
3.2 Kaip paleisti SQL Server Profiler
3.2.1 Starting nuo SQL Server Valdymo studija (SSMS)
Norėdami paleisti, atlikite šiuos veiksmus SQL Server Profiliatorius iš SSMS:
- Atviras SQL Server „Management Studio“ ir prisijunkite prie bet kurio SQL Server instancija.
- Spustelkite Ištekliai meniu viršutinėje meniu juostoje.
- pasirinkti SQL Server Profiler iš išskleidžiamojo meniu.
- Geriausios SQL Server Profilerio programa paleidžiama naujame lange.
3.2.2 Stariš „Windows S“tart Meniu
Prisijunkite SQL Server Profiler tiesiai iš „Windows“ atlikdami šiuos veiksmus:
- Spustelėkite „Windows“ Start mygtuką.
- Tipas SQL Server Profiler paieškos laukelyje.
- pasirinkti SQL Server Profiler iš paieškos rezultatų.
- Programa paleidžiama be aktyvių ryšių.
Arba naršykite po Start meniu viršujerarchy:
- Atidarykite Start meniu.
- Raskite "Microsoft" SQL Server Ištekliai aplankas.
- Išskleiskite aplanką ir spustelėkite SQL Server Profiler.
3.2.3 Prisijungimas prie SQL Server Egzemplioriai
Po paleidimo SQL Server Profiler, užmegzkite ryšį atlikdami šiuos veiksmus:
- Spauskite filė meniu juostoje.
- pasirinkti Naujas pėdsakas iš išskleidžiamojo meniu.
- Geriausios Prisijungti prie serverio pasirodo dialogo langas.
- Įveskite savo serverio pavadinimą lauke Serverio pavadinimas laukas.
- Pasirinkti „Windows“ autentifikavimas or SQL Server Atpažinimas.
- Jei naudojate SQL Server Autentifikavimas, įveskite prisijungimo duomenis.
- Spauskite prisijungti užmegzti ryšį.
Nuotoliniams ryšiams nurodykite visą serverio pavadinimą, įskaitant egzemplioriaus pavadinimą, jei taikomacabpvz., įvardytiems egzemplioriams naudokite formatą SERVERIO PAVADINIMAS\INTANCIJOSPAVADINIMAS. Jei ryšio užmezgimo bandymai nepavyksta, patikrinkite tinklo ryšį ir užkardos nustatymus.
4. Kūrimas ir konfigūravimas SQL Server Pėdsakai
4.1 Pirmojo kontūro kūrimas naudojant šabloną
Sukurkite savo pirmąjį pėdsaką atlikdami šiuos veiksmus:
- Pradėti SQL Server Profiliuotojas.
- Spauskite filė -> Naujas pėdsakas ir prisijunkite prie savo targauti serverį.
- Geriausios Pėdsakų ypatybės pasirodo dialogo langas.
- Įveskite aprašomąjį pavadinimą lauke Pėdsakinio pavadinimas laukas.
- Pasirinkite šabloną iš Naudokite šabloną išskleidžiamasis.
- Pasirink Standartinis (numatytasis) šablonas bendram stebėjimui. Arba kitas šablonas kitiems tikslams. Šablone pateikiami iš anksto sukonfigūruoti įvykiai, stulpeliai ir filtrai dažniausiai pasitaikantiems scenarijams.
- Spauskite paleisti į start nedelsiant užfiksuoti įvykius.
4.2 Pėdsakas tinkinimas
Dažnai šablonai neatitinka jūsų reikalavimų. Tokiu atveju galite visiškai pritaikyti savo seką:
- Lauke Pėdsakų ypatybės dialogas.
- Pasirinkite Tuščias šablonas iš Naudokite šabloną išskleidžiamasis.
- Spustelkite Renginių pasirinkimas skirtuke dabar galite tinkinti visus įvykius, duomenų stulpelius ir filtrus pagal savo poreikius. Juos aptarsime tolesniuose skyriuose.
4.3 Įvykių, kuriuos reikia užfiksuoti, pasirinkimas
Galite pasirinkti įvykį iš Renginių pasirinkimas mygtuką:
- Spustelkite + piktogramą šalia kategorijos „Įvykis“, kad ją išskleistumėte.
- Spustelėkite žymimąjį langelį šalia įvykio, kad jį pasirinktumėte.
4.3.1 Įvykių kategorijų supratimas
SQL Server Profiler suskirsto įvykius į kategorijas loginiam grupavimui. Saugomų procedūrų kategorija apima procedūrų vykdymo įvykius, įskaitant SP:S.tarting, SP:Completed ir SP:StmtCompleted. Šie įvykiai seka saugomų procedūrų iškvietimus ir atskirų teiginių vykdymą procedūrose.
TSQL kategorija fiksuoja ad-hoc užklausų vykdymą su tokiais įvykiais kaip SQL:BatchStarting ir SQL:BatchCompleted. Šie įvykiai seka užklausas, pateiktas tiesiai į SQL Server už saugomų procedūrų ribų.
Kategorija „Užraktai“ stebi su lygiagretumu susijusius įvykius, įskaitant „Lock:Acquired“, „Lock:Released“, „Lock:Deadlock“ ir „Lock:Timeout“. Naudokite šiuos įvykius, kad diagnozuotumėte blokavimo ir aklavietės problemas, turinčias įtakos programos našumui.
Klaidų ir įspėjimų kategorija fiksuoja išimčių įvykius, įskaitant išimtį, dėmesį ir vartotojo klaidos pranešimą. Šie įvykiai padeda nustatyti programos klaidas ir SQL Server įspėjimai sekimo seansų metu.
4.3.2 Tinkamų įvykių pasirinkimas jūsų scenarijui
Našumo stebėjimui reikalingi įvykiai, kurie fiksuoja išteklių naudojimą. Pasirinkite RPC:Completed ir SQL:BatchCompleted, kad stebėtumėte užklausų vykdymą. Įtraukite stulpelius Duration, CPU, Reads ir Writes, kad matuotumėte išteklių naudojimą. Šie įvykiai suteikia pagrindą našumo kliūtims nustatyti.
Saugumo auditui reikalingi įvykiai, kurie seka autentifikavimą ir autorizavimą. Norėdami stebėti prieigą prie duomenų bazės, pasirinkite „Audito prisijungimas“, „Audito atsijungimas“, „Audito prisijungimas nepavyko“ ir „Objektas: atidarytas“. Įtraukite stulpelius „LoginName“, „DatabaseName“ ir „ObjectName“, kad nustatytumėte, kas pasiekė kokius išteklius.
Derinimo scenarijams naudingas išsamus įvykių fiksavimas. Įtraukite saugomų procedūrų įvykius, SQL paketinius įvykius ir klaidų įvykius, kad būtų galima atsekti visus vykdymo srautus. Užfiksuokite papildomą kontekstą naudodami SPID, ApplicationName ir H.ostPavadinkite stulpelius, kad susietumėte įvykius su konkrečiais seansais.
4.4 Duomenų stulpelių konfigūravimas
Pagal numatytuosius nustatymus, pasirinkus įvykį, bus pasirinkti (pažymėti) visi jo duomenų stulpeliai. Galite atžymėti nereikalingus stulpelius, kad sumažintumėte išlaidas ir supaprastintumėte analizę:
Kiekvieno sekimo esminiai stulpeliai apima „EventClass“, skirtą įvykio tipui identifikuoti, „TextData“, skirtą faktiniam SQL sakiniui užfiksuoti, „LoginName“, skirtą vykdomojo vartotojo identifikavimui, ir „S“.tarLaikas, iki kurio reikia pažymėti įvykio laiką. Šie stulpeliai pateikia pagrindinį kontekstą kiekvienam užfiksuotam įvykiui.
Su našumu susiję stulpeliai matuoja išteklių sunaudojimą. Trukmė nurodo, kiek laiko įvykis truko mikrosekundėmis. CPU rodo procesoriaus laiką milisekundėmis. Skaitymai skaičiuoja loginių puslapių skaitymus. Rašymai seka loginių puslapių įrašus. Šie rodikliai nustato daug išteklių reikalaujančias operacijas, kurias reikia optimizuoti.
Saugumo ir audito stulpeliai seka duomenų prieigos modelius. DatabaseName identifikuoja, prie kurios duomenų bazės buvo prisijungta. ObjectName nurodo susijusią lentelę arba objektą. ApplicationName atskleidžia, kuri programa inicijavo veiksmą. Kartu šie stulpeliai pateikia išsamius audito įrašus.
4.5 Filtrų nustatymas triukšmui mažinti
4.5.1 Bendrieji filtravimo kriterijai
Konfigūruokite filtrus naudodami šį metodą:
- Atidarykite Pėdsakų ypatybės dialogas.
- Spustelkite Renginių pasirinkimas skirtukas.
- Spauskite Stulpelių filtrai mygtuką apačioje dešinėje.
- Pasirinkite stulpelį iš sąrašo kairėje.
- Dešinėje pusėje esančiame skydelyje konfigūruokite filtro kriterijus.
- Spauskite OK kad pritaikytumėte filtrą.
Programų pavadinimų filtrai išskiria veiklą iš konkrečių programų. Išskleiskite stulpelį „Programos pavadinimas“ filtro dialogo lange, įveskite savo programos pavadinimą Kaip laukas ir SQL Server Profiler fiksuoja tik tos programos įvykius. Šis filtras yra neįkainojamas sprendžiant su programa susijusias problemas.
Duomenų bazių pavadinimų filtrai apriboja fiksavimą iki konkrečių duomenų bazių. Filtruokite pagal duomenų bazės pavadinimą, kad neįtrauktumėte sistemos duomenų bazės veiklos ir sutelktumėte dėmesį į savo programų duomenų bazes. Įveskite duomenų bazių pavadinimus lauke Kaip or Vienodas laukas, priklausomai nuo to, ar jums reikia pakaitos simbolio atitikimo.
Trukmės filtrai fiksuoja tik lėtai veikiančias operacijas. Nustatykite minimalią ribą Didesnis nei arba lygus laukas stulpelyje „Trukmė“. Pavyzdžiui, nustačius „Trukmė“ >= 1000, fiksuojami tik įvykiai, trunkantys ilgiau nei vieną sekundę, atfiltruojant greitai vykdomas užklausas.
Vartotojo vardo filtrai seka konkretaus vartotojo veiklą. Filtruokite pagal prisijungimo vardą, kad stebėtumėte konkrečius duomenų bazės vartotojus. Šis metodas padeda nustatyti, kurie vartotojai vykdo problemines užklausas arba pasiekia slaptus duomenis.
4.4.2 Geriausios filtravimo praktikos
Efektyvus filtravimas subalansuoja duomenų rinkimą ir našumo poveikį. Visada taikykite bent vieną filtrą, kad išvengtumėte per didelio sistemos aktyvumo fiksavimo. Jūsų naudojami filtrai turėtų būti „DatabaseName“ ir „ApplicationName“.tartaškas most takelius.
Gamybos aplinkoje venkite pernelyg plačių sekų. Nefiltruoti sekai užfiksuoja didžiulius duomenų kiekius, todėl gali sumažėti serverio našumas ir analizė tampa nepraktiška. Nustatykite konkrečius filtro kriterijus, kurie tarGaukite savo trikčių šalinimo tikslus.
Prieš diegdami gamybinėje aplinkoje, išbandykite filtrus. Pirmiausia atlikite sekimą kūrimo arba bandymo aplinkoje, kad patikrintumėte, ar filtrai fiksuoja numatomus įvykius be didelių išlaidų. Koreguokite filtro kriterijus pagal užfiksuotų duomenų kiekį.
4.5 Darbas su sekimo šablonais
4.5.1 Integruotų šablonų apžvalga
Standartinis šablonas užtikrina subalansuotą įvykių fiksavimą, tinkamą bendram stebėjimui. Jame yra įprasti užklausų vykdymo įvykiai, saugomų procedūrų iškvietimai ir pagrindinis klaidų stebėjimas. Naudokite šį šabloną, kai jums reikia išsamaus matomumo, nežinant tiksliai, ko ieškoti.
TSQL šablonas yra skirtas užklausų vykdymui su minimaliu įvykių pasirinkimu. Jis fiksuoja SQL:BatchCompleted ir RPC:Completed įvykius su esminiais stulpeliais našumo analizei. Šis šablonas pasižymi mažesnėmis sąnaudomis nei standartinis šablonas.
Derinimo šablonas optimizuoja įvykių pasirinkimą duomenų bazės modulio derinimo patarėjo analizei. Jis fiksuoja įvykius ir stulpelius, reikalingus darbo krūvio analizei ir indekso rekomendacijoms. Naudokite šį šabloną ruošdami pėdsakus automatiniam našumo derinimui.
„TSQL_Replay“ šablone yra visi įvykiai ir stulpeliai, būtini sekimo pakartojimo funkcijai. Jame fiksuojama išsami vykdymo informacija, leidžianti atkurti užfiksuotus darbo krūvius bandymų aplinkose. Šis šablonas generuoja didesnius sekimo failus dėl didelio duomenų rinkimo.
4.5.2 Pasirinktinių šablonų kūrimas
Sukurkite pasirinktinius šablonus atlikdami šiuos veiksmus:
- Spauskite filė -> Šablonai -> Naujas šablonas…
- Įveskite aprašomąjį pavadinimą lauke Naujo šablono pavadinimas laukas.
- Pasirinktinai, patikrinkite Kurti naują šabloną pagal esamą ir pasirinkite esamą šabloną, jei nenorite kurti nuo nulio:
- Spustelkite Renginio pasirinkimas skirtuke tinkinkite sekimo šabloną su norimais įvykiais, stulpeliais ir filtrais, kaip ir jūs daryti su įprastu pėdsaku.
- Spauskite Sutaupote kad išsaugotumėte šabloną.
Eksportuokite šablonus, kad galėtumėte bendrinti su komandos nariais arba sukurti atsarginę kopiją:
- Spauskite filė -> Šablonai -> Eksportuoti šabloną.
- Pasirinkite šabloną, kurį norite eksportuoti.
- Eikite į norimą išsaugojimo vietą.
- Įveskite failo pavadinimą ir spustelėkite Sutaupote.
- Bendrinkite *.tdf failą (SQL Server Profilerio šablono failas) su kitais SQL Server Profilerio naudotojai.
4.6 Pėdsakas išvesties išsaugojimas
Pagal nutylėjimą, SQL Server Profiler rodys įvykius sekimo lange, bet jų NEIŠSAUGOS. Galite pasirinkti išsaugoti sekimo duomenis faile arba lentelėje. Pėdsakų ypatybės dialogo langas, kai kuriate naują sekimą.
4.6.1 Įrašyti į failą
- Lauke Pėdsakų ypatybės dialogas, patikrinkite Išsaugoti faile.
- Spustelėkite aplanko piktogramą, kad atidarytumėte failų naršyklę.
- Eikite į norimą išsaugojimo vietą.
- Įveskite failo pavadinimą su plėtiniu .trc.
- Spauskite Sutaupote.
- Nustatyti Nustatykite maksimalų failo dydį apriboti individualaus failo dydį.
- Įjungti Įgalinti failų perkėlimą norint sukurti kelis failus.
- Pasirinktinai įjungti Serveris apdoroja sekimo duomenis serverio pusės pėdsakams.
Failų dydžio valdymas apsaugo nuo disko vietos išeikvojimo. Nustatykite maksimalų failo dydį iki pagrįstos vertės, pvz., 500 MB arba 1 GB, atsižvelgiant į turimą disko vietą ir numatomą sekimo trukmę. Failų perkėlimo funkcija automatiškai sukuria naujus failus, kai pasiekiamas dydžio apribojimas, prie failo pavadinimo pridėdamas skaičių.
4.6.2 Įrašyti į lentelę
- Lauke Pėdsakų ypatybės dialogas, patikrinkite Įrašyti į lentelę.
- Geriausios Paskirties lentelė pasirodo dialogo langas.
- Pasirinkite serverį iš serverio išskleidžiamasis.
- Pasirinkite duomenų bazę iš duomenų bazė išskleidžiamasis.
- Pasirinkite esamą lentelę arba įveskite naują lentelės pavadinimą lauke Lentelė laukas.
- Spauskite OK patvirtinti.
- Pasirinktinai nustatyta Nustatyti maksimalų eilučių skaičių apriboti lentelės dydį.
Įrašant į lenteles, taikomi našumo aspektai. Lentelių saugojimas sukuria papildomas išlaidas, palyginti su failų saugojimu, nes SQL Server Sekimo duomenis reikia rašyti per saugyklos modulį. Naudokite lentelių saugyklą, kai reikia nedelsiant pateikti užklausą dėl sekimo duomenų naudojant T-SQL.
Duomenų išsaugojimas tampa svarbus lentelėmis pagrįstiems pėdsakams. Nustatykite maksimalius eilučių apribojimus, kad lentelės per daug neišaugtų. Reguliariai archyvuokite arba ištrinkite senus pėdsakų duomenis, kad išlaikytumėte našumą. Apsvarstykite galimybę skaidyti dideles pėdsakų lenteles, kad būtų lengviau jas valdyti.
5. Vykdymas ir valdymas SQL Server Pėdsakai
5.1 StarPėdsakų stebėjimas, pristabdymas ir sustabdymas
Tvarkykite sekimo vykdymą naudodami įrankių juostos mygtukus:
- Žaliosios Start mygtukas pradeda fiksuoti įvykius pagal jūsų konfigūraciją.
- Spauskite Pauzė tempuotirarsustabdyti duomenų rinkimą neprarandant ryšio.
- Spauskite Stop , kad užbaigtumėte sekimą ir uždarytumėte ryšį.
Per meniu elementus:
Dešiniuoju pelės mygtuku spustelėkite bet kurį įrašą sekimo lange:
Sekimo gyvavimo ciklo valdymas veikia serverio išteklius. Aktyvūs sekimai sunaudoja atmintį ir apdorojimo galią proporcingai užfiksuotų įvykių kiekiui. Pristabdykite sekimus laikotarpiais, kai stebėjimas nereikalingas, kad sumažintumėte išlaidas. Visiškai sustabdykite sekimus, kai analizė baigta, kad atlaisvintumėte išteklius.
Kliento pusės pėdsakams reikalingas aktyvus „Profiler“ ryšys. SQL Server Profilerio langas nedelsdamas sustabdo kliento pusės pėdsakus. Norėdami, kad pėdsakai veiktų ir dirbtumėte kitose programose, sumažinkite profilio langą, o ne jį uždarykite.
5.2 Pėdsakų stebėjimas realiuoju laiku
Stebėkite užfiksuotus įvykius jiems įvykstant pagrindiniame sekimo lange. Kiekviena eilutė reiškia vieną įvykį, o stulpeliuose rodomos įvykio savybės. Tinklelis nuolat atnaujinamas aktyvių sekimų metu, rodydamas most pagal numatytuosius nustatymus apačioje rodomi naujausi įvykiai.
Stebėdami įvykių dažnumą ir charakteristikas, nustatykite modelius ir problemas. Ilgos trukmės įvykiai rodo našumo problemas. Dažni klaidų įvykiai rodo programos problemas. Neįprastas prisijungimo aktyvumas gali signalizuoti apie saugumo problemas. Stebėjimas realiuoju laiku leidžia nedelsiant reaguoti į kylančias problemas.
Slinkite per užfiksuotus įvykius, kad peržiūrėtumėte konkrečius atvejus. Spustelėkite bet kurią eilutę, kad pasirinktumėte įvykį ir peržiūrėtumėte visą jo informaciją. Dukart spustelėkite įvykius, kad atidarytumėte išsamius ypatybių dialogo langus, kuriuose būtų rodomos visos stulpelių reikšmės. Naudokite slinkties užrakto funkciją, kad peržiūrėdami istorinius įvykius nebūtų slenkama automatiškai.
5.3 Kelių vienu metu vykstančių sekų valdymas
Kelių sekimų vykdymas vienu metu suteikia lankstumo sudėtingiems stebėjimo scenarijams. Sukurkite atskirus sekimus skirtingiems duomenų bazės veiklos aspektams, pvz., vieną sekimą našumo stebėjimui, o kitą – saugumo auditui. Kiekvienas sekimas veikia nepriklausomai su savo konfigūracija.
Išteklių paskirstymas tampa labai svarbus, kai vykdomi keli sekimai. Kiekvienas aktyvus sekimas naudoja atmintį, procesoriaus procesorių ir galbūt disko įvesties/išvesties išteklius. Apribokite vienu metu vykdomų sekimų skaičių ir užtikrinkite, kad kiekviename sekime būtų naudojami atitinkami filtrai, siekiant sumažinti išlaidas. Stebėkite serverio našumą, kai vykdomi keli sekimai.
Koordinuokite sekimo laiką, kad išvengtumėte daug išteklių reikalaujančių sekimų persidengimo. Jei įmanoma, vykdykite sekimus mažai aktyviais laikotarpiais. Suplanuokite skirtingus sekimus skirtingu laiku, o ne vykdykite viską vienu metu.
5.4 Kliento ir serverio pėdsakai
Pagal numatytuosius nustatymus naujai sukurtas pėdsakas yra kliento pusės pėdsakas, kuriam reikalingas aktyvus ryšys iš SQL Server Profiliatorius duomenų bazės serveriui. Sekimas nedelsiant sustabdomas, jei ryšys nutrūksta.ost arba Profiler uždarytas.
Taip pat galite sukurti serverio pusės sekimą, kuris veiktų tik SQL Server egzempliorius nereikalaujant aktyvaus Profiler ryšio. Serverio pusės sekimas tęsiamas net ir uždarius SQL Server Profiler, įrašo duomenis į nurodytą failo vietą.
Norėdami sukurti serverio pusės pėdsaką:
- Spustelėkite Failas -> Naujas pėdsakas…
- Lauke Pėdsakų ypatybės dialogas, patikrinkite Išsaugoti faile
- Nustatykite failo vietą ir kitus nustatymus.
- Įjungti Serveris apdoroja sekimo duomenis sukurti serverio pusės pėdsaką.
Našumo poveikis labai skiriasi priklausomai nuo sekimo tipo. Kliento pusės sekimai turi perduoti duomenis tinklu į „Profiler“ sąsają, o tai padidina delsą ir pralaidumo suvartojimą. Serverio pusės sekimai sumažina sąnaudas, nes duomenys įrašomi tiesiai į diską serveryje.
Naudokite kliento pusės pėdsakus ad hoc trikčių šalinimui, greitai diagnostikaiostic sesijas ir situacijas, kai vertingas tiesioginis vaizdinis grįžtamasis ryšys. Rinkitės serverio pusės pėdsakus gamybos stebėjimui, ilgalaikiams fiksavimams ir scenarijams, kuriems reikalingas neprisijungęs veikimas.
6. Analizuojant SQL Server Profilerio duomenys
6.1 Išsaugotų pėdsakų atidarymas ir peržiūra
Įkelkite išsaugotus sekimo failus atlikdami šiuos veiksmus:
- Pradėti SQL Server Profiliuotojas.
- Spauskite filė -> Atviras -> Sekimo failas.
- Eikite į sekimo failo vietą.
- Pasirinkite .trc failą ir spustelėkite Atviras.
- Sekimo duomenys įkeliami į pagrindinį langą.
Įkelkite sekimo lenteles atlikdami šį procesą:
- Spauskite filė -> Atviras -> Stebėjimo lentelė.
- Prisijunkite prie serverio hostsekimo lentelės naudojimas.
- Pasirinkite duomenų bazę iš duomenų bazė išskleidžiamasis.
- Pasirinkite stalą iš Lentelė išskleidžiamasis.
- Spauskite OK duomenims įkelti.
6.2 Pėdsakų duomenų filtravimas ir paieška
6.2.1 Post-Filtravimas
Taikykite filtrus įkeltiems sekimo duomenims atlikdami šiuos veiksmus:
- Spauskite Redaguoti -> rasti arba paspauskite Ctrl + F.
- Įveskite paieškos tekstą Surasti ką laukas.
- Pasirinkite stulpelį, kuriame norite ieškoti, iš sąrašo Pažvelk išskleidžiamasis.
- Spauskite Ieškoti Pirmyn kad rastumėte atitinkančius įvykius.
Filtravimas pagal stulpelius patikslina rodomus duomenis nefiksuodamas iš naujo įvykių. Dešiniuoju pelės mygtuku spustelėkite bet kurio stulpelio antraštę ir kontekstiniame meniu pasirinkite filtro parinktis. Įveskite filtro kriterijus, kad būtų rodomos tik atitinkamos eilutės. Šis metodas pagreitina analizę, nes paslepia nesusijusius įvykius.
6.2.2 Konkrečių įvykių paieška
Paieškos funkcija padeda rasti konkrečius įvykius dideliuose sekimo failuose. Norėdami ieškoti pagal teksto turinį, įvykio tipą arba stulpelio reikšmę, naudokite paieškos dialogą. Reguliariosios išraiškos prireikus įgalina sudėtingus paieškos šablonus.
Pažymėkite svarbius įvykius, kad galėtumėte juos greitai peržiūrėti analizės metu. Dešiniuoju pelės mygtuku spustelėkite įdomius įvykius ir pasirinkite žymių parinktis, kad juos pažymėtumėte. Naršykite tarp žymių naudodami sparčiuosius klavišus arba meniu komandas, taip palengvindami susijusių įvykių palyginimą.
6.3 Įvykių grupavimas ir agregavimas
Grupuokite įvykius pagal stulpelių reikšmes, kad nustatytumėte modelius ir apibendrintumėte veiklą. Dešiniuoju pelės mygtuku spustelėkite bet kurio stulpelio antraštę ir pasirinkite Grupuoti pagal šį stulpelį organizuoti įvykius. Grupuoti rodiniai sutraukia panašius įvykius, todėl lengviau matyti bendrus modelius.
Apibendrinti rodiniai pateikia statistines sekimo duomenų santraukas. Grupuokite pagal tekstinius duomenis, kad pamatytumėte, kiek kartų kiekviena užklausa buvo įvykdyta. Grupuokite pagal prisijungimo vardą, kad pamatytumėte kiekvieno vartotojo veiklos santraukas. Apibendrinimas atskleidžia modelius, kurie nėra iš karto akivaizdūs išsamiuose įvykių sąrašuose.
Išskleiskite ir suskleiskite grupes, kad galėtumėte peržiūrėti konkrečias kategorijas. Spustelėkite pliuso ir minuso piktogramas šalia grupių antraščių, kad būtų rodomi arba slėpti sugrupuoti įvykiai. Šis vaizdasrarchikalinis požiūris palengvina analizę iš viršaus į apačią, staržaismas su aukšto lygio modeliais ir pasinerimas į detales.
6.4 SQL užklausų išgavimas iš pėdsakų
Išskirkite užklausas iš sekimo duomenų atlikdami šiuos veiksmus:
- Sekimo tinklelyje raskite jus dominančią užklausą.
- Spustelėkite eilutę, kad pasirinktumėte įvykį.
- Peržiūrėkite visą užklausos tekstą apatiniame skydelyje.
- spauda Ctrl + A , kad pasirinktumėte visą užklausos tekstą.
- spauda Ctrl + C , kad nukopijuotumėte užklausos tekstą.
- Įklijuokite užklausą į „Management Studio“, kad galėtumėte atlikti tolesnę analizę.
Problemines užklausas galite nustatyti rūšiuodami pagal našumo stulpelius. Spustelėkite stulpelio antraštę „Trukmė“, kad rūšiuotumėte pagal vykdymo laiką. Lėčiausios užklausos rodomos viršuje arba apačioje, priklausomai nuo rūšiavimo krypties. Panašiai rūšiuokite pagal CPU, skaitymus arba rašymus, kad nustatytumėte daug išteklių reikalaujančias operacijas.
Eksportuoti užklausas testavimui, nukopijuojant jas iš sekimo į užklausų langus. Modifikuoti ištrauktas užklausas, kad būtų galima išbandyti optimizavimo strategijas. Palyginti vykdymo planus ir našumo metriką tarp originalios ir optimizuotos versijų.
6.5 Koreliuojantys įvykiai ir vykdymo srauto supratimas
Tėvų ir vaikų įvykių ryšiai rodo vykdymą čiararchies. SQL:BatchStarting įvykių tėvinis SQL:StmtStarting įvykiai, kurie savo ruožtu yra procedūrų vykdymo įvykių tėviniai elementai. Šių ryšių supratimas padeda atsekti visą vykdymo kelią visame kode.
Operacijų stebėjimas sujungia susijusius įvykius laikui bėgant. Naudokite SPID stulpelį įvykiams grupuoti pagal seansą. Seanso metu įvykiai vyksta chronologine tvarka, rodant operacijų seką. Šiame rodinyje atskleidžiama, kaip skirtingos operacijos sąveikauja operacijose.
Koreliuokite įvykius, išnagrinėdami bendrinamas stulpelių reikšmes. Įvykiai su identišku SPID įvyko toje pačioje sesijoje. Įvykiai su tuo pačiu „ApplicationName“ buvo iš tos pačios programos. Naudokite šias koreliacijas, kad suprastumėte sudėtingus vykdymo scenarijus.
7. Dažni SQL Server Profilerio naudojimo atvejai
7.1 Našumo trikčių šalinimas
7.1.1 Lėtų užklausų atpažinimas
Užfiksuokite lėtas užklausas naudodami šią konfigūraciją:
- Sukurkite naują seką naudodami TSQL šabloną.
- Lauke Renginių pasirinkimas skirtukas, patikrinkite SQL:BatchCompleted bei RPC: Užbaigta yra pasirinkti.
- Spauskite Stulpelių filtrai.
- pasirinkti Trukmė (dienos) iš stulpelių sąrašo.
- Įveskite 1000000 Didesnis nei arba lygus laukas, skirtas užklausoms, trunkančioms ilgiau nei 1 sekundę, užfiksuoti.
- Spauskite OK ir start pėdsakas.
- Paleiskite sekimą piko naudojimo laikotarpiais.
- Sustabdykite sekimą ir rūšiuokite pagal trukmę, kad nustatytumėte lėčiausias užklausas.
Trukmės pagrindu atlikta analizė atskleidžia vykdymo laiko modelius. Rūšiuokite užfiksuotus įvykius pagal trukmės stulpelį, kad pirmiausia matytumėte ilgiausiai vykdomas operacijas. Išnagrinėkite šių įvykių stulpelį „TextData“, kad nustatytumėte faktines užklausas, atsakingas už vėlavimus.
CPU ir I/O užklausoms reikalingi skirtingi optimizavimo metodai. Rūšiuokite pagal CPU stulpelį, kad rastumėte procesoriaus apribotas užklausas, kurioms reikalingi algoritminiai patobulinimai. Rūšiuokite pagal skaitymo arba rašymo stulpelius, kad rastumėte įvesties / išvesties apribotas užklausas, kurioms naudingas indeksavimas arba užklausų perrašymas.
7.1.2 Blokavimo ir aklavietės aptikimas
Konfigūruokite blokavimo aptikimą atlikdami šiuos veiksmus:
- Sukurkite naują seką.
- Lauke Renginių pasirinkimas skirtukas, išskleisti Plaukai.
- pasirinkti Užraktas: aklavietė bei Užraktas: aklavietės grandinė.
- Plėsti Klaidos ir įspėjimai.
- pasirinkti Užblokuoto proceso ataskaita.
- Įtraukti stulpelius: SPID, Tekstiniai duomenys, Duomenų bazės pavadinimas, Prisijungimo vardas.
- Starsekti ir stebėti užrakinimo įvykius.
Užrakinimo įvykių stebėjimas atskleidžia lygiagretumo problemas, turinčias įtakos programos našumui. Užrakinimo: aklavietės įvykiai rodo, kada SQL Server aptiktos ir išspręstos aklavietės situacijos. „Lock:Deadlock Chain“ įvykiai rodo su aklavietėmis susijusius procesus.
Aklavietės grafikai pateikia vaizdinius aklavietės scenarijų vaizdus. Įvykus aklavietės įvykiui, stulpelyje „TextData“ yra XML, apibūdinantis aklavietę. Nukopijuokite šį XML ir atidarykite jį programoje. SQL Server „Management Studio“, kad peržiūrėtumėte grafinę aklavietės diagramą, rodančią, kurie procesai blokavo vienas kitą.
7.1.3 Trūkstamų indeksų paieška
Užfiksuokite indekso analizės darbo krūvį atlikdami šiuos veiksmus:
- Sukurkite naują seką naudodami Reguliavimas šabloną.
- Konfigūruokite sekimą, kad jis būtų įrašytas į failą.
- Paleiskite sekimą reprezentatyviais darbo krūvio laikotarpiais.
- Surinkite bent kelias valandas veiklos.
- Sustabdykite sekimą ir išsaugokite failą.
- Paleiskite duomenų bazės variklio derinimo patarėją.
- Pasirinkite sekimo failą kaip darbo krūvio šaltinį.
- Atlikite analizę, kad gautumėte indeksavimo rekomendacijas.
Integracija su duomenų bazių variklio derinimo patarimu automatizuoja indeksų rekomendavimą. Derinimo patarimas analizuoja užfiksuotą darbo krūvį ir siūlo indeksus, kurie pagerintų našumą. Prieš diegdami atidžiai peržiūrėkite rekomendacijas, atsižvelgdami į saugyklos išlaidas ir priežiūros išlaidas.osts.
7.2 Programos trikčių šalinimas
7.2.1 Programos klaidų derinimas
Stebėjimo programos klaidos naudojant šią konfigūraciją:
- Sukurkite naują seką.
- Plėsti Klaidos ir įspėjimai skirtuke „Įvykių pasirinkimas“.
- pasirinkti Išimtis, Vartotojo klaidos pranešimasir Dėmesio.
- Įtraukti stulpelius: klaida, Tekstiniai duomenys, Programos pavadinimas, SPID.
- Filtruoti pagal Programos pavadinimas sutelkti dėmesį į savo paraišką.
- Starsekti ir atkurti klaidos scenarijų.
- Peržiūrėkite užfiksuotus klaidų įvykius diagnostikaiostic informacija.
Klaidų sekimas atskleidžia išimčių informaciją, kuri dažnai paslėpta nuo programų. Klaida stulpelyje pateikiama SQL Server klaidų numeriai. Stulpelyje „TextData“ rodomi klaidų pranešimai ir užklausa, dėl kurios kilo klaida. Stulpelyje „Svarba“ nurodomi klaidų svarbos lygiai.
Išimčių stebėjimas fiksuoja vykdymo laiko problemas, įskaitant apribojimų pažeidimus, leidimų klaidas ir skirtojo laiko įvykius. Koreliuokite klaidų įvykius su ankstesniais užklausos įvykiais, kad suprastumėte, kas sukėlė išimtis.
7.2.2 Programos ir duomenų bazės ryšio sekimas
Stebėkite programos veiklą atlikdami šiuos veiksmus:
- Sukurkite naują seką naudodami Standartinis šabloną.
- Spauskite Stulpelių filtrai.
- pasirinkti Programos pavadinimas ir įveskite savo programos pavadinimą Kaip laukas.
- Pasirinktinai filtruoti pagal HostJūsų vardas izoliuoti konkrečius serverius.
- Start pėdsaką programos operacijų metu.
- Peržiūrėkite užfiksuotus įvykius, kad pamatytumėte visas duomenų bazės sąveikas.
Programų pavadinimų filtravimas izoliuoja užklausas iš konkrečių programų. SQL Server nustato programos pavadinimą pagal ryšio eilutes, todėl lengva sekti atskiras programas kelių programų aplinkoje. Įsitikinkite, kad jūsų ryšio eilutėje yra programos pavadinimo parametras, kad būtų galima efektyviai filtruoti.
Ryšio stebėjimas rodo seanso gyvavimo ciklą, įskaitant prisijungimą, užklausų vykdymą ir atsijungimą. Stebėkite ryšių kūrimo dažnį, kad nustatytumėte ryšių telkimo problemas. Per didelis ryšių praradimas rodo galimas programos konfigūracijos problemas.
7.2.3 Programos elgsenos patvirtinimas
Patikrinkite numatomą programos elgseną naudodami sekimo analizę. Užfiksuokite visas duomenų bazės operacijas verslo operacijos metu ir patikrinkite, ar teisingos užklausos vykdomos tinkama seka. Palyginkite faktines užfiksuotas užklausas su numatomu elgesiu, kad nustatytumėte neatitikimus.
Parametrų patvirtinimas užtikrina, kad programos perduotų teisingas reikšmes saugomoms procedūroms ir parametrizuotoms užklausoms. Patikrinkite užfiksuotą užklausos tekstą, kad įsitikintumėte, jog parametrų reikšmės atitinka lūkesčius. Neteisingi parametrai dažnai sukelia logines klaidas, kurios pasireiškia kaip neteisingi verslo rezultatai.
7.3 Saugumo auditas
7.3.1 Prisijungimo bandymų stebėjimas
Prisijungimo stebėjimo konfigūravimas atliekamas šiais veiksmais:
- Sukurkite naują seką.
- Plėsti Saugumo auditas skirtuke „Įvykių pasirinkimas“.
- pasirinkti Audito prisijungimas, Atsijungti nuo auditoir Nepavyko prisijungti prie audito.
- Įtraukti stulpelius: Prisijungimo vardas, HostJūsų vardas, Programos pavadinimas, StartLaikas.
- Start pėdsaką autentifikavimo veiklai stebėti.
- Peržiūrėkite nepavykusio prisijungimo įvykius, ar nėra galimų saugumo problemų.
Sėkmingi ir nepavykę prisijungimai užtikrina išsamų autentifikavimo stebėjimą. „Audit Login“ įvykiai registruoja sėkmingus autentifikavimo bandymus su vartotojo tapatybe ir šaltinio informacija. „Audit Login“ nepavykusių prisijungimų įvykiai rodo nesėkmingus prisijungimo bandymus, kurie gali reikšti atakas arba konfigūracijos problemas.
Autentifikavimo stebėjimas atskleidžia duomenų bazės prieigos modelius. Stebėkite prisijungimo dažnumą, kad aptiktumėte neįprastą veiklą. Keli nepavykę prisijungimo bandymai ir sėkmingas prisijungimas gali rodyti pažeistus prisijungimo duomenis. Nepavykę prisijungimai iš netikėtų vietų reikalauja tyrimo.
7.3.2 Duomenų prieigos ir modifikacijų stebėjimas
Stebėkite prieigą prie duomenų naudodami šią konfigūraciją:
- Sukurkite naują seką.
- Plėsti Saugumo auditas.
- pasirinkti Audito duomenų bazės objektų prieiga.
- Įtraukti stulpelius: Objekto pavadinimas, Prisijungimo vardas, Tekstiniai duomenys, Duomenų bazės pavadinimas.
- Filtruoti pagal Objekto pavadinimas stebėti konkrečias jautrias lenteles.
- Start pėdsaką, skirtą prieigos bandymams užfiksuoti.
SELECT, INSERT, UPDATE, DELETE stebėjimas užtikrina išsamų duomenų modifikavimo auditą. Užfiksuokite SQL:BatchCompleted įvykius naudodami atitinkamus filtrus, kad galėtumėte stebėti visas duomenų prieigos operacijas. Filtruokite pagal ObjectName arba TextData, kad sutelktumėte dėmesį į jautrias lenteles.
Prieiga prie jautrių duomenų reikalauja kruopštaus stebėjimo, siekiant užtikrinti atitiktį saugumo politikoms. Sukurkite specialiai lentelėms, kuriose yra asmeninė informacija, finansiniai duomenys ar kita konfidenciali informacija, skirtų pėdsakų kūrimui. Reguliariai peržiūrėkite prieigos modelius, kad nustatytumėte netinkamą prieigą prie duomenų.
Aptikti įtartiną veiklą analizuojant užklausų šablonus užfiksuotuose pėdsakuose. Ieškokite neįprastų užklausų, kurios neatitinka įprasto programos veikimo. SELECT sakiniai be WHERE sąlygos, nuskaitantys visas lenteles, gali rodyti duomenų nufiltracijos bandymus.
Bandymai eskaluoti privilegijas rodomi kaip leidimų klaidos arba bandymai vykdyti administratoriaus komandas. Stebėkite užklausas, bandančias pasiekti sistemos lenteles, modifikuoti serverio konfigūraciją arba sukurti privilegijuotas paskyras. Filtruokite klaidų įvykius ir peržiūrėkite stulpelį „TextData“, ar nėra įtartinos veiklos.
7.4 Pajėgumų planavimas ir darbo krūvio analizė
Nustatykite bazinius rodiklius, fiksuodami reprezentatyvų darbo krūvį įprastos veiklos metu. Atlikite stebėjimus įprastomis darbo valandomis, kad suprastumėte standartinius veiklos modelius. Išsaugokite šiuos stebėjimus kaip našumo bazinius rodiklius, kad galėtumėte juos palyginti ateityje.
Didžiausio naudojimo identifikavimas atskleidžia, kada jūsų sistema patiria didžiausią apkrovą. Užfiksuokite pėdsakus skirtingais laikotarpiais, įskaitant darbo valandas, paketinio apdorojimo laikotarpius ir veiklą po darbo valandų. Analizuokite įvykių skaičių ir išteklių sunaudojimą, kad nustatytumėte piko laikotarpius.
Išteklių panaudojimo modeliai išryškėja analizuojant darbo krūvį. Grupuokite įvykius pagal laiko intervalus, kad matytumėte veiklos pasiskirstymą per visą dieną. Apskaičiuokite bendrus procesoriaus, disko įvesties/išvesties ir trukmės rodiklius, kad kiekybiškai įvertintumėte išteklių suvartojimą. Naudokite šiuos duomenis pajėgumų didinimui planuoti arba optimizavimo galimybėms nustatyti.
8. Pažengęs SQL Server Profiliavimo metodai
8.1 Serverio pusės sekų kūrimas naudojant T-SQL
8.1.1 „sp_trace_create“ ir susijusių procedūrų naudojimas
Programiškai kurkite serverio pusės pėdsakus naudodami T-SQL saugomas procedūras. Šis metodas leidžia automatiškai kurti ir valdyti pėdsakus nereikalaujant SQL Server Profilerio grafinė sąsaja.
Apibrėžkite serverio pusės sekimą naudodami šį kodo pavyzdį:
- Deklaruokite kintamuosius sekimo ID ir failo keliui.
- Norėdami sukurti naują pėdsaką, iškvieskite „sp_trace_create“.
- Norėdami pridėti įvykius ir stulpelius, naudokite „sp_trace_setevent“.
- Pasirinktinai naudokite „sp_trace_setfilter“, kad konfigūruotumėte filtrus.
- Iškvieskite sp_trace_setstatus į start pėdsakas.
Procedūra „sp_trace_create“ inicijuoja naują sekimo apibrėžimą. Nurodomas išvesties failo kelias, maksimalus failo dydis ir perkėlimo parinktys. Procedūra grąžina sekimo ID, naudojamą vėlesniuose procedūrų iškvietimuose sekimui konfigūruoti.
Pridėkite įvykius naudodami procedūrą „sp_trace_setevent“. Nurodykite kiekvieno norimo užfiksuoti įvykio ir stulpelio derinio sekimo ID, įvykio ID ir stulpelio ID. Norėdami sukurti visas sekimo konfigūracijas, šią procedūrą iškvieskite kelis kartus.
Konfigūruokite filtrus naudodami procedūrą „sp_trace_setfilter“. Nurodykite sekimo ID, stulpelio ID, loginį operatorių, palyginimo operatorių ir filtro reikšmę. Keli filtro iškvietimai sujungiami, kad būtų sukurti sudėtingi filtro kriterijai.
StarIšvalykite pėdsaką iškviesdami funkciją „sp_trace_setstatus“ su būsenos reikšme 1. Sustabdykite pėdsakus iškviesdami tą pačią procedūrą su būsenos reikšme 0. Ištrinkite pėdsakų apibrėžimus iškviesdami funkciją „status reikšme 2“.
8.1.2 Serverio pusės sekimo pranašumai
Sumažintos kliento apkrovos leidžia serverio pusės sekimui idealiai tinka produkcijos stebėjimui. Duomenų bazės serveris tvarko visas sekimo operacijas nenaudodamas kliento kompiuterio išteklių. Tinklo pralaidumas nenaudojamas perduodant įvykius kliento programai.
Automatinis vykdymas leidžia be priežiūros rinkti pėdsakus. Serverio pusės pėdsakai toliau vykdomi po sukūrimo, net jei nėra kliento ryšio. Suplanuokite pėdsakų kūrimą per SQL Server Agento darbai automatizuotam stebėjimui.
Mažesnis našumo poveikis atsiranda dėl serverio pusės apdorojimo. Įvykiai įrašomi tiesiai į diską be papildomo serializavimo ar perdavimo tinkle. Buferio valdymas optimizuoja disko įvestį/išvestį, kad būtų užtikrintas geresnis bendras našumas.
8.2 Pėdsakų atkūrimo funkcija
8.2.1 Pėdsakų fiksavimas pakartojimui
Sukurkite pakartojimui paruoštus pėdsakus atlikdami šiuos veiksmus:
- Sukurkite naują seką naudodami TSQL_Pakartojimas šabloną.
- Patikrinkite, ar pasirinkti visi būtini įvykiai ir stulpeliai.
- Konfigūruokite sekimą, kad jis būtų įrašytas į failą.
- Paleiskite sekimą per darbo krūvio laikotarpį, kurį norite užfiksuoti.
- Sustabdykite sekimą ir išsaugokite failą.
Būtini įvykiai ir stulpeliai užtikrina visišką sekimo pakartojimą. Šablone „TSQL_Replay“ yra visi būtini įvykių tipai ir duomenų stulpeliai. Trūkstami būtini elementai neleidžia sėkmingai pakartoti, todėl visada naudokite šį šabloną, kai fiksuojate duomenis pakartojimo tikslais.
8.2.2 Pėdsakų atkūrimas
Pakartokite užfiksuotus darbo krūvius atlikdami šiuos veiksmus:
- In SQL Server Profileris, spustelėkite filė -> Atviras -> Sekimo failas.
- Pasirinkite pakartojimui paruoštą pėdsako failą.
- Spauskite peržaisti -> Start.
- Prisijunkite prie targauti serverį pakartojimo dialogo lange.
- Konfigūruokite pakartojimo parinktis, įskaitant pakartojimo tvarką ir laiką.
- Spauskite OK , kad pradėtumėte atkūrimą.
- Stebėkite atkūrimo eigą būsenos lange.
Pakartojimo konfigūracijos parinktys kontroliuoja, kaip SQL Server Profiliavimo programa atkuria užfiksuotą darbo krūvį. Pakartokite įvykius tokia tvarka, kokia jie buvo užfiksuoti, kad būtų išlaikyti laiko ryšiai. Sukonfigūruokite, ar išlaikyti pradinį laiką, ar pakartoti įvykius kuo greičiau.
8.2.3 Pėdsakų atkūrimo naudojimo atvejai
Apkrovos testavimas naudoja pėdsakų pakartojimo pranašumus atkuriant realius darbo krūvius. Užfiksuokite gamybinės aplinkos darbo krūvių pėdsakus ir pakartokite juos bandymų sistemose, kad patikrintumėte našumą esant realiems naudojimo modeliams. Koreguokite lygiagretumo nustatymus, kad imituotumėte skirtingus apkrovos lygius.
Aplinkos migracijos patvirtinimas užtikrina, kad naujos sistemos galėtų apdoroti esamus darbo krūvius. Užfiksuokite pėdsakus iš dabartinių gamybos sistemų ir pakartokite juos naujoje aparatinėje įrangoje arba atnaujintoje versijoje. SQL Server versijos. Palyginkite našumo metriką, kad įsitikintumėte, jog perkėlimas nesumažins našumo.
Testavimo scenarijai apima regresinį testavimą po kodo pakeitimų, optimizavimo pakeitimų patvirtinimą SQL Server versijos ir aparatinės įrangos konfigūracijų testavimas nepalankiausiomis sąlygomis. „Replay“ užtikrina nuoseklius, pakartojamus darbo krūvius patikimam testavimui.
8.3 SQL Profiler integravimas su duomenų bazių modulio derinimo patarėju
Sukurkite duomenų bazės modulio derinimo patarėjui skirtus darbo krūvio failus, užfiksuodami pėdsakus su atitinkamais įvykiais. Naudokite derinimo šabloną, kad užtikrintumėte, jog būtų užfiksuota visa analizei reikalinga informacija.
Paleiskite duomenų bazės modulio derinimo patarėją ir pasirinkite sekimo failą kaip darbo krūvio šaltinį. Patarėjas analizuoja užfiksuotas užklausas ir rekomenduoja indeksus, indeksuotus rodinius arba skaidymo strategijas, kurios pagerintų našumą.
Našumo optimizavimo darbo eiga integruoja sekimo fiksavimą su derinimo analize. Įprasto veikimo metu užfiksuokite reprezentatyvius darbo krūvius, analizuokite naudodami „Tuning Advisor“, peržiūrėkite rekomendacijas, išbandykite siūlomus pakeitimus kūrimo procese ir galiausiai įdiekite patvirtintus pakeitimus gamyboje.
8.4 Pėdsakų rinkimo automatizavimas
Suplanuoti pėdsakus naudojant SQL Server Agento užduotys, skirtos automatiškai rinkti duomenis. Kurkite T-SQL scenarijus, kurie apibrėžia serverio pusės pėdsakus naudodami sp_trace procedūras. Suplanuokite šiuos scenarijus, kad jie būtų vykdomi konkrečiu laiku arba intervalais.
„PowerShell“ automatizavimas įgalina sudėtingus pėdsakų valdymo scenarijus. Rašykite „PowerShell“ scenarijus, kurie sukuria pėdsakus, stebi jų būseną ir apdoroja surinktus duomenis. Planuokite „PowerShell“ scenarijus naudodami užduočių planuoklę arba SQL Server Agentas.
SQL Server Agento užduotys užtikrina patikimą suplanuotą vykdymą. Kurkite užduotis, kuriostarStebėjimo laikotarpių pradžioje galima atlikti stebėjimą ir sustabdyti stebėjimą, kai duomenys renkami baigus rinkti. Sukonfigūruoti užduočių pranešimus, kad administratoriai būtų įspėti apie gedimus.
8.5 Pėdsakų programinė analizė
Skaitykite sekimo failus su T-SQL naudodami funkciją fn_trace_gettable. Ši lentelės reikšmių funkcija analizuoja sekimo failus ir grąžina įvykių duomenis kaip rezultatų rinkinį. Pateikite šių duomenų užklausą naudodami standartinę T-SQL, kad atliktumėte pasirinktinę analizę.
Pasirinktiniai analizės scenarijai leidžia automatiškai apdoroti pėdsakus. Rašykite užklausas, kurios apskaičiuoja bendrą statistiką, nustato modelius arba žymi anomalijas. Suplanuokite šiuos scenarijus, kad jie būtų paleidžiami automatiškai, kai pėdsakų rinkimas baigtas.
Generuokite ataskaitas, ieškodami lentelėse saugomų sekimo duomenų. Kurkite rodinius, kurie apibendrina įvykius pagal laikotarpį, vartotoją arba programą. Sukurkite ataskaitų teikimo sprendimus, kurie teikia reguliarias įžvalgas apie duomenų bazės veiklą ir našumą.
9. SQL Server Profilerio geriausia praktika
9.1 Geriausios našumo praktikos
9.1.1 Pėdsakų pridėtinių išlaidų sumažinimas
Pasirinkite tik būtinus įvykius, kad sumažintumėte sekimo išlaidas. Kiekvienas papildomas įvykio tipas padidina duomenų kiekį, kurį turi apdoroti sekimo modulis. Peržiūrėkite savo stebėjimo tikslus ir įtraukite tik tiesiogiai su šiais tikslais susijusius įvykius.
Efektyviai naudokite filtrus, kad išvengtumėte nereikalingų duomenų rinkimo. Filtruokite pagal duomenų bazės pavadinimą, kad neįtrauktumėte sistemos duomenų bazių. Filtruokite pagal trukmę, kad užfiksuotumėte tik lėtas užklausas. Filtruokite pagal programos pavadinimą, kad sutelktumėte dėmesį į konkrečias programas. Tinkamas filtravimas žymiai sumažina sekimo išlaidas.
Serverio ir kliento pusių aspektai turi įtakos našumui. Serverio pusės pėdsakai įrašo duomenis tiesiai į diską su minimaliomis sąnaudomis. Kliento pusės pėdsakai perduoda įvykius tinklu į „Profiler“ sąsają, padidindami delsą ir pralaidumo suvartojimą. Naudokite serverio pusės pėdsakus gamybos stebėjimui.
9.1.2 Pėdsakų saugojimo optimizavimas
Failų dydžio valdymas apsaugo nuo disko vietos išeikvojimo. Nustatykite maksimalaus failo dydžio apribojimus, atitinkančius turimą saugyklą. Įjunkite failų perkėlimą, kad sukurtumėte kelis failus, o ne neribotą laiką didintumėte vieną failą. Stebėkite disko vietą sekimo vykdymo metu.
Lentelių ir failų saugyklų našumas skiriasi. Failų saugykla užtikrina geresnį našumą vykdant sekimą, nes ji apeina saugyklos modulį. Lentelių saugykla leidžia naudoti T-SQL užklausas sekimo duomenims, tačiau padidina rašymo išlaidas. Pasirinkite saugyklos tipą pagal savo analizės reikalavimus.
9.2 geriausia saugumo praktika
Leidimų valdymas kontroliuoja, kas gali kurti ir vykdyti sekimus. Suteikite ALTER TRACE leidimą tik patikimiems vartotojams, kuriems reikia sekimo galimybių. Sistemos administratoriaus vaidmens nariai turi neribotą prieigą prie sekimo. Reguliariai peržiūrėkite ir tikrinkite sekimo leidimus.
Norint apsaugoti jautrius duomenis, reikia atidžiai konfigūruoti sekimo konfigūraciją. Dirbdami su jautriais duomenimis, venkite fiksuoti visą užklausos tekstą. Apsvarstykite galimybę filtruoti arba šifruoti sekimo išvestį, kurioje yra konfidencialios informacijos. Sekimo failus laikykite saugiose vietose su atitinkamomis prieigos kontrolės priemonėmis.
Sekimo failų apsauga apsaugo nuo neteisėtos prieigos prie užfiksuotų duomenų. Nustatykite failų teises, kad apribotumėte prieigą prie sekimo failų. Užšifruokite sekimo failus, jei juose yra slaptos informacijos. Ištrinkite sekimo failus baigus analizę, kad sumažintumėte atskleidimo riziką.
9.3 Gamybos aplinkos aspektai
9.3.1 Kada naudoti profiliavimo įrankį gamyboje
Rizikos vertinimas nustato, kada SQL Server Profiler tinka naudoti gamyboje. Profiler sukuria išmatuojamas pridėtines išlaidas, kurios didėja didėjant sekimo apimčiai. Įvertinkite, ar diagnostikaostic reikšmė pateisina našumo poveikį prieš paleidžiant gamybinius pėdsakus.
Minimalaus poveikio konfigūracijos užtikrina saugesnį gamybos sekimą. Naudokite itin atrankius filtrus, kad užfiksuotumėte tik svarbiausius įvykius. Nustatykite trukmės slenksčius, kad ignoruotumėte greitai vykdomas užklausas. Apribokite sekimo trukmę iki trumpų laikotarpių trikčių šalinimo seansų metu. Konfigūruokite serverio pusės sekimą, kad sumažintumėte kliento išlaidas.
9.3.2 Gamybos stebėsenos alternatyvos
Išplėstiniai įvykiai sumažina gamybos stebėjimo išlaidas. Ši moderni technologija siūlo geresnį našumą ir lankstumą nei įprasta. SQL Server Profiler. Migruoti stebėjimo sprendimus į išplėstinius įvykius ilgalaikiam gamybiniam naudojimui.
„Query Store“ automatiškai fiksuoja užklausų našumo duomenis be rankinio sekimo konfigūravimo. Įjunkite „Query Store“ gamybinėse duomenų bazėse, kad laikui bėgant galėtumėte stebėti užklausų vykdymo statistiką. „Query Store“ teikia most našumo stebėjimo galimybės be sekimo pridėtinių išlaidų.
Dinaminiai valdymo rodiniai siūlo supaprastintą konkrečių scenarijų stebėjimą. DMV pateikia dabartinės būsenos informaciją neužfiksuodami istorinių įvykių. Periodiškai užklauskite DMV, kad stebėtumėte serverio būklę be nuolatinio sekimo pridėtinių išlaidų.
9.4 Geriausia pėdsakų valdymo praktika
Pavadinimų suteikimo konvencijos užtikrina, kad sekimo failai būtų atpažįstami ir sutvarkyti. Sekimo failų pavadinimuose nurodykite datą, laiką, serverio pavadinimą ir paskirtį. Visuose sekimuose naudokite nuoseklius pavadinimų modelius, kad būtų lengviau valdyti ir analizuoti.
Dokumentacijoje fiksuojama sekimo konfigūracija ir paskirtis. Dokumentuokite, kokius įvykius užfiksavote, kodėl sukūrėte sekimą ir ko išmokote atlikę analizę. Tvarkykite sekimų, atliktų gamybinėse sistemose, žurnalą atitikties ir trikčių šalinimo tikslais.
Saugojimo politikos apsaugo nuo per didelio sekimo failų kaupimosi. Apibrėžkite, kiek laiko sekimo failai turėtų būti saugomi, atsižvelgiant į verslo poreikius ir saugyklos talpą. Automatizuokite senų sekimo failų ištrynimą, kad atlaisvintumėte vietos diske. Prieš ištrinant svarbius sekimus, archyvuokite juos ilgalaikėje saugykloje.
9.5 dažniausios klaidos, kurių reikia vengti
Per didelis sekimas sukelia per didelį našumą ir generuoja nevaldomus duomenų kiekius. Venkite fiksuoti visus įvykius be filtrų.tarNaudokite siaurus, tikslius pėdsakus ir išplėskite apimtį tik prireikus. Daugiau duomenų ne visada reiškia veiksmingą trikčių šalinimą.
Pamiršus sustabdyti pėdsakus, eikvojami ištekliai ir užpildoma disko vieta. Visada sustabdykite pėdsakus, kai stebėjimas baigtas. Nustatykite pėdsakų trukmės apribojimus arba maksimalius failų dydžius, kad išvengtumėte nekontroliuojamų pėdsakų. Reguliariai stebėkite veikiančius pėdsakus ir sustabdykite neaktyvius arba nereikalingus pėdsakus.
Filtrų optimizavimo ignoravimas lemia prastą našumą ir sudėtingą analizę. Prieš naudodami skirkite laiko efektyvių filtrų konfigūravimui.tarting pėdsakai. Patikrinkite filtrus kūrimo aplinkose, kad įsitikintumėte, jog jie fiksuoja laukiamus duomenis. Peržiūrėkite ir patikslinkite filtrus pagal užfiksuotus rezultatus.
10. Alternatyvos SQL Server Profileris 2025 m.
10.1 Išplėstiniai įvykiai: šiuolaikinis pakeitimas
10.1.1 Kas yra išplėstiniai įvykiai?
Išplėstiniai įvykiai reiškia SQL Servermoderni įvykių apdorojimo architektūra. „Microsoft“ sukūrė šią sistemą specialiai tam, kad išspręstų SQL Server Profilerio apribojimai, įskaitant našumo išlaidas ir konfigūracijos lankstumą. Išplėstiniai įvykiai suteikia išsamias stebėjimo galimybes sunaudojant žymiai mažiau išteklių.
Architektūra ir privalumai skiria išplėstinius įvykius nuo senesnių sekimo technologijų. Įvykių variklis glaudžiai integruojasi į SQL Serverpagrindinė architektūra, fiksuojanti įvykius su minimaliomis sąnaudomis. Asinchroninis įvykių buferizavimas neleidžia stebėjimui blokuoti duomenų bazės operacijų. Lankstus targavimo parinktys leidžia naudoti įvairias išvesties konfigūracijas.
Dėl našumo išplėstiniai įvykiai idealiai tinka gamybos stebėjimui. Lyginamieji tyrimai rodo, kad išplėstiniai įvykiai sumažina sąnaudas 50–90 %, palyginti su panašiais analogais. SQL Server Profilerio pėdsakai. Architektūra geriau pritaikoma esant dideliems įvykių kiekiams ir palaiko daugiau vienu metu vykstančių stebėjimo sesijų.
10.1.2 Perėjimas iš „Profiler“ į išplėstinius įvykius
Įvykių žemėlapių sudarymas verčia SQL Server Profilerio įvykiai, atitinkantys išplėstinius įvykius. Most Profilerio įvykiai turi atitinkamus išplėstinių įvykių atitikmenis. „Microsoft“ teikia dokumentaciją, kurioje susiejami bendri įvykiai abiejose sistemose.
Seanso kūrimas naudojant „Extended Events“ reikalauja išmokti naują sintaksę ir sąvokas. Įvykių seansus apibrėžkite naudodami T-SQL CREATE EVENT SESSION komandas arba grafinę „Extended Events“ sąsają „Management Studio“. Seansai nurodo, kuriuos įvykius užfiksuoti, kokius duomenis rinkti ir kur saugoti rezultatus.
10.1.3 Išplėstiniai įvykių įrankiai ir sąsajos
SSMS išplėstinių įvykių vartotojo sąsaja teikia grafinį seansų valdymą. Pasiekite išplėstinius įvykius per objektų naršyklės aplanką „Valdymas“. Kurkite, modifikuokite ir stebėkite įvykių seansus per sąsają. Peržiūrėkite užfiksuotus duomenis grafiniais formatais, įskaitant tinklelius ir diagramas.
T-SQL seansų valdymas įgalina programinę išplėstinių įvykių kontrolę. Parašykite CREATE EVENT SESSION komandas, kad apibrėžtumėte seansus kode. Naudokite ALTER EVENT SESSION komandą, kad modifikuotumėte vykdomus seansus. Nutraukite seansus naudodami DROP EVENT SESSION. Šis metodas palengvina automatizuotus stebėjimo sprendimus.
10.2 SQL Server Užklausų parduotuvė
Užklausų saugykla automatiškai fiksuoja užklausų našumo duomenis duomenų bazėms, kuriose ji įjungta. Ši funkcija laikui bėgant seka užklausų planus, vykdymo statistiką ir našumo metriką be rankinio sekimo konfigūravimo. Užklausų saugykla saugo istorinius duomenis, leidžiančius atlikti tendencijų analizę ir regresijos aptikimą.
Užklausų našumo stebėjimas realiuoju laiku naudojant užklausų saugyklą atskleidžia dabartinį sistemos veikimą. Peržiūrėkite neseniai vykdytas užklausas, jų vykdymo planus ir išteklių sunaudojimą. Nustatykite užklausas, kurių trukmė ilgėja arba kurių vykdymo planai keičiasi ir kurios gali rodyti problemas.
Istorinė užklausų analizė leidžia palyginti duomenis skirtingais laikotarpiais. Užklausų saugykla saugo našumo duomenis konfigūruojamus saugojimo laikotarpius. Palyginkite dabartinį našumą su istoriniais baziniais rodikliais, kad nustatytumėte regresijas. Analizuokite našumo tendencijas, kad numatytumėte būsimus pajėgumų poreikius.
Naudokite „Query Store“, kai reikia automatinio, nuolat įjungto našumo stebėjimo. Įjunkite „Query Store“ gamybinėse duomenų bazėse, kad nuolat stebėtumėte užklausų elgseną. „Query Store“ papildo sekimu pagrįstą trikčių šalinimą, pateikdama istorinį našumo problemų kontekstą.
10.3 Dinaminio valdymo rodiniai (DMV)
Paprastas stebėjimas naudojant DMV pateikia esamos būklės informaciją neužfiksuojant istorinių įvykių. DMV atskleidžia vidinius duomenis SQL Server statistiką ir metaduomenis per užklausoms pritaikytus rodinius. Užklausti DMV naudojant standartinius T-SQL SELECT sakinius.
Įprastos DMV užklausos, skirtos našumo stebėjimui, apima sys.dm_exec_query_stats, skirtą užklausų našumo statistikai, sys.dm_exec_requests, skirtas šiuo metu vykdomoms užklausoms, ir sys.dm_os_wait_stats, skirtą laukimo statistikai. Šie rodiniai suteikia įžvalgų apie serverio sveikatą ir veiklą konkrečiu momentu.
DMV papildo stebėjimu pagrįstą stebėjimą teikdami realaus laiko metrikas. Naudokite DMV greitiems sveikatos patikrinimams ir dabartinės būsenos analizei. Derinkite DMV užklausas su stebėjimo duomenimis, kad gautumėte išsamius trikčių šalinimo metodus.
10.4 Trečiųjų šalių stebėjimo įrankiai
Komercinės alternatyvos siūlo platesnes stebėjimo galimybes nei SQL Serverintegruotus įrankius. Tokių tiekėjų kaip „SolarWinds“, „Redgate“ ir „Quest“ produktai teikia išsamias stebėjimo, įspėjimų ir analizės funkcijas. Šie įrankiai dažnai sujungia kelis duomenų šaltinius, įskaitant pėdsakus, DMV ir našumo skaitiklius.
Funkcijų palyginimas atskleidžia skirtingų stebėjimo metodų stipriąsias puses. Trečiųjų šalių įrankiai užtikrina geresnes vartotojo sąsajas, automatinius įspėjimus ir istorinių tendencijų stebėjimą. SQL ServerIntegruoti įrankiai nesuteikia jokių papildomų funkcijųost ir gilesnę integraciją. Įvertinkite įrankius pagal savo konkrečius reikalavimus ir biudžetą.
10.5 Tinkamo įrankio pasirinkimas jūsų poreikiams
Sprendimų matrica padeda pasirinkti tinkamus stebėjimo įrankius. Ad hoc trikčių šalinimui SQL Server Profiler išlieka prieinamas ir efektyvus. Gamybos stebėjimui geresnius rezultatus užtikrina išplėstiniai įvykiai arba užklausų saugykla. Išsamiam įmonės stebėjimui trečiųjų šalių sprendimai siūlo most funkcijos.
Įrankių pasirinkimo kriterijai apima našumo sąnaudas, naudojimo paprastumą, duomenų saugojimo reikalavimus ir biudžeto apribojimus. Rinkdamiesi įrankius, atsižvelkite į savo komandos patirtį. Pažįstami įrankiai leidžia greičiau pašalinti triktis, net jei naujesnės alternatyvos siūlo geresnes funkcijas.
Derinkite kelis įrankius išsamioms stebėjimo strategijoms kurti. Naudokite „Query Store“ nuolatiniam našumo stebėjimui, „Extended Events“ konkrečių problemų tyrimui ir DMV realiuoju laiku atliekamoms būklės patikroms. Šis daugiasluoksnis metodas užtikrina patikimą stebėjimą be didelių išlaidų.
11. Problemų sprendimas SQL Server Profilerio problemos
11.1 Dažnos ryšio problemos
Autentifikavimo klaidos neleidžia SQL Server Profileris jungiasi prie targauti serverius. Patikrinkite, ar naudojate teisingus pasirinkto autentifikavimo metodo kredencialus. „Windows“ autentifikavimui reikia, kad jūsų „Windows“ paskyroje būtų atitinkami duomenys. SQL Server leidimus. SQL Server Autentifikavimui reikalingi galiojantys SQL prisijungimo duomenys.
Tinklo ryšio problemos pasireiškia kaip skirtojo laiko klaidos arba ryšio sutrikimai. SQL Server leidžia nuotolinius ryšius savo konfigūracijoje. Patikrinkite, ar užkardos nustatymai leidžia srautą SQL Server„'s“ prievadas. Prieš šalindami su „Profiler“ susijusias problemas, išbandykite pagrindinį ryšį naudodami „ping“ ir „telnet“.
11.2 Profilerio našumo problemos
Lėtas sekimo vykdymas rodo per didelį sekimo konfigūracijos krūvį. Peržiūrėkite pasirinktus įvykius ir pašalinkite nereikalingus. Pridėkite filtrų, kad sumažintumėte užfiksuotų įvykių kiekį. Apsvarstykite galimybę naudoti serverio pusės sekimus, kad sumažintumėte kliento pusės apdorojimo apkrovą.
Didelis išteklių sunaudojimas veikia abu SQL Server ir „Profiler“ klientą. Stebėkite serverio procesoriaus ir atminties duomenis sekimo vykdymo metu. Jei serverio ištekliai riboti, padidinkite filtro selektyvumą arba sutrumpinkite fiksavimo trukmę. Dėl kliento išteklių problemų reikia uždaryti kitas programas arba atnaujinti kliento aparatinę įrangą.
11.3 Sekimo failų ir lentelių problemos
Sugadinti sekimo failai neleidžia atidaryti SQL Server Profiler. Paprastai duomenys sugadinami dėl netvarkingo sekimo nutraukimo arba disko klaidų. Pabandykite atidaryti failą teksto redaktoriuje, kad įsitikintumėte, jog jis nėra visiškai sugadintas. Kartais dalinius duomenis galima atkurti importuojant juos į lentelę naudojant fn_trace_gettable.
Bandant įkelti pėdsakus iš kyla problemų dėl prieigos prie lentelės. SQL Server lenteles. Įsitikinkite, kad turite SELECT leidimą sekimo lentelei. Patikrinkite, ar lentelė nebuvo panaikinta arba pervadinta. Įsitikinkite, kad jungiatės prie tinkamo serverio ir duomenų bazės, kurioje yra sekimo lentelė.
11.4 Trūkstami įvykiai arba nepilni duomenys
Dėl netinkamos filtro konfigūracijos pėdsakai praleidžia laukiamus įvykius. Atidžiai peržiūrėkite filtro kriterijus, kad įsitikintumėte, jog jie neatmeta norimų įvykių. Patikrinkite filtrus atlikdami trumpus pėdsakus ir patikrindami, ar užfiksuoti duomenys atitinka lūkesčius. Pašalinkite filtrus pasyviai.rarnorint nustatyti, ar jie sukelia problemą.
Buferio perpildymas įvyksta, kai SQL Server Nepavyksta pakankamai greitai įrašyti sekimo duomenų, kad neatsiliktų nuo įvykių generavimo. Paprastai tai nutinka su nefiltruotais sekimais esant dideliam aktyvumui. Simptomai gali būti trūkstami įvykiai arba įspėjimai „Įvykiai nebuvo užfiksuoti“. Išspręskite problemą pridėdami filtrų, kad sumažintumėte įvykių apimtį, arba padidindami sekimo failo vietos disko įvesties/išvesties našumą.
11.5 Profilerio gedimai ir klaidos
Įprasti klaidų pranešimai yra „Unable to create trace“ (Nepavyko sukurti pėdsako), rodantys leidimų problemas arba išteklių apribojimus. Pranešimai „Trace was stopped“ (Sekimas sustabdytas), rodantys serverio pusės pėdsako gedimus, galbūt dėl pilno disko. Klaidos „Invalid trace definition“ (Neteisingas pėdsako apibrėžimas), rodantys konfigūracijos problemas.
Sprendimo strategijos priklauso nuo konkrečios klaidos. Leidimų klaidoms reikia suteikti vartotojui ALTER TRACE leidimą. Išteklių klaidoms reikia atlaisvinti vietos diske arba atminties. Konfigūracijos klaidoms reikia peržiūrėti ir ištaisyti sekimo nustatymus. Restart SQL Server Profiler, jei jis nereaguoja.
12. Praktiškas SQL Server Profilerio scenarijai ir pavyzdžiai
12.1 1 scenarijus: Lėčiausių užklausų duomenų bazėje nustatymas
Šiame vadove demonstruojamas lėtų užklausų fiksavimas ir analizė.
Konfigūruokite sekimą atlikdami šiuos veiksmus:
- Pradėti SQL Server Profiler ir prisijunkite prie savo targauti serverį.
- Spauskite filė -> Naujas pėdsakas.
- Įveskite „Lėta užklausų analizė“ Pėdsakinio pavadinimas laukas.
- pasirinkti TSQL nuo Naudokite šabloną išskleidžiamasis.
- Spauskite Renginių pasirinkimas skirtukas.
- Spauskite Stulpelių filtrai.
- pasirinkti Trukmė (dienos) ir įveskite 1000000 Didesnis nei arba lygus.
- pasirinkti Duomenų bazės pavadinimas ir įveskite savo duomenų bazės pavadinimą Kaip.
- Spauskite OK , kad uždarytumėte filtrus.
- Įjungti Išsaugoti faile ir nurodykite failo kelią.
- Spauskite paleisti į start užfiksuoti.
Sekimą vykdykite piko valandomis bent 30 minučių, kad užfiksuotumėte reprezentatyvų darbo krūvį. Sustabdykite sekimą surinkę pakankamai duomenų.
Atlikę šią procedūrą, analizuokite rezultatus:
- Spustelkite Trukmė (dienos) stulpelio antraštė, skirta rūšiuoti pagal vykdymo laiką.
- Nustatykite 10 ilgiausiai vykdomų užklausų.
- Kiekvienai užklausai išnagrinėkite Tekstiniai duomenys kolonėlė.
- Nukopijuokite užklausos tekstą ir įklijuokite jį į „Management Studio“.
- naudojimas Rodyti numatomą vykdymo planą išanalizuoti užklausą.
- Ieškokite lentelių nuskaitymų, trūkstamų indeksų arba neefektyvių sujungimų.
- apžvalga CPU, Skaitoir Rašo stulpeliai, skirti išteklių suvartojimo modeliams.
12.2 2 scenarijus: aklavietės problemos derinimas
Šiame pavyzdyje parodyta, kaip užfiksuoti ir analizuoti aklavietes.
Konfigūruokite aklavietės stebėjimą atlikdami šiuos veiksmus:
- Sukurkite naują sekimą pavadinimu „Aklavietės tyrimas“.
- Spauskite Renginių pasirinkimas skirtukas.
- Spauskite Rodyti visus įvykius.
- Plėsti Plaukai Kategorijos.
- pasirinkti Užraktas: aklavietė.
- pasirinkti Užraktas: aklavietės grandinė.
- Plėsti Klaidos ir įspėjimai Kategorijos.
- pasirinkti Užblokuoto proceso ataskaita.
- Užtikrinti Tekstiniai duomenys stulpelis pasirinktas.
- Spauskite paleisti į start stebėjimas.
Kai sekimo vykdymo metu įvyksta aklavietė, sekimo tinklelyje rodomas įvykis „Lock:Deadlock“.
Aklavietės informaciją interpretuokite atlikdami šiuos veiksmus:
- Spustelkite Užraktas: aklavietė įvykių eilutė.
- Peržiūrėti Tekstiniai duomenys stulpelis apatiniame skydelyje.
- Nukopijuokite XML turinį iš „TextData“.
- Atidarykite „Management Studio“ ir sukurkite naują užklausos langą.
- Įklijuokite XML failą į užklausos langą.
- Išsaugokite failą su plėtiniu .xdl.
- Atidarykite .xdl failą programoje „Management Studio“, kad peržiūrėtumėte aklavietės grafiką.
- Grafike rodomi susiję procesai, užblokuoti ištekliai ir pasirinkta auka.
- Peržiūrėkite abiejų procesų užklausas, kad suprastumėte konfliktą.
Sprendimo veiksmai paprastai apima operacijų pertvarkymą programos kode, kad būtų galima pasiekti išteklius nuoseklia tvarka, operacijų apimties sumažinimą arba atitinkamų užrakinimo užuominų įdiegimą.
12.3 3 scenarijus: Visų užklausų iš konkrečios programos sekimas
Šiame scenarijuje demonstruojamas konkrečios programos užklausų stebėjimas.
Konfigūruokite konkrečios programos sekimą atlikdami šiuos veiksmus:
- Sukurkite naują sekimą pavadinimu „Programos užklausų sekimas“.
- Pasirinkite Standartinis šabloną.
- Spauskite Renginių pasirinkimas skirtukas.
- Spauskite Stulpelių filtrai.
- pasirinkti Programos pavadinimas.
- Įveskite savo programos pavadinimą lauke Kaip laukas.
- Jei jūsų programa naudoja ryšių telkimą, gali reikėti pakaitos simbolių atitikimo.
- Spauskite OK kad pritaikytumėte filtrą.
- Įjungti Įrašyti į lentelę kad būtų lengviau pateikti užklausą.
- Spauskite paleisti į start užfiksuoti.
Užklausų šablonų analizė atskleidžia, kaip jūsų programa sąveikauja su SQL Server:
- Surinkus duomenis, sustabdykite sekimą.
- Atidarykite „Management Studio“ ir prisijunkite prie serverio naudodami sekimo lentelę.
- Užklauskite sekimo lentelę, kad analizuotumėte šablonus.
- Suskaičiuokite užklausas pagal tipą, kad pamatytumėte operacijų derinį.
- Nustatyti most dažnai vykdomos užklausos.
- Ieškokite užklausų, kurias būtų galima kaupti talpykloje arba optimizuoti.
- Patikrinkite, ar nėra pasikartojančių identiškų užklausų, rodančių, kad trūksta ryšių telkimo.
12.4 4 scenarijus: Duomenų prieigos auditas atitikties tikslais
Šiame pavyzdyje parodytas saugos audito žurnalo kūrimas.
Konfigūruokite saugos auditą atlikdami šiuos veiksmus:
- Sukurkite naują sekimą pavadinimu „Saugumo audito sekimas“.
- Spauskite Renginių pasirinkimas skirtukas.
- Spauskite Rodyti visus įvykius.
- Plėsti Saugumo auditas Kategorijos.
- pasirinkti Audito prisijungimas, Atsijungti nuo audito, Nepavyko prisijungti prie audito.
- pasirinkti Audito duomenų bazės objektų prieiga.
- Plėsti TSQL Kategorijos.
- pasirinkti SQL:BatchCompleted.
- Spauskite Stulpelių filtrai.
- Filtruoti pagal Objekto pavadinimas stebėti konkrečias jautrias lenteles.
- Įjungti Įrašyti į lentelę ilgalaikiam išlaikymui.
- Įgalinti serverio pusės sekimą neprižiūrimoms operacijoms.
- Spauskite paleisti į start auditas.
Sugeneruokite audito ataskaitas atlikdami užklausą sekimo lentelėje:
- Kurkite užklausas, apibendrinančias prieigą pagal vartotoją ir laikotarpį.
- Nustatykite neįprastus prieigos modelius arba veiklą po darbo valandų.
- Nesėkmingi prisijungimo bandymai atlikti dokumento saugumo peržiūrą.
- Eksportuokite audito duomenis į ataskaitų teikimo sistemas atitikties dokumentavimui.
- Archyvuokite atliktus audito pėdsakus pagal saugojimo politiką.
12.5 5 scenarijus: Darbo krūvio fiksavimas našumo testavimui
Šiame scenarijuje demonstruojamas darbo krūvio fiksavimas testavimo tikslais.
Sukurkite pakartojimui paruoštus pėdsakus atlikdami šiuos veiksmus:
- Sukurkite naują sekimą pavadinimu „Darbo krūvio fiksavimas“.
- pasirinkti TSQL_Pakartojimas iš šablono išskleidžiamojo meniu.
- Šiame šablone yra visi būtini įvykiai ir stulpeliai pakartojimui.
- Spauskite Renginių pasirinkimas skirtukas.
- Jei norite užfiksuoti konkrečius darbo krūvio segmentus, taikykite filtrus.
- Įjungti Išsaugoti faile.
- Nurodykite failo kelią su pakankamai vietos diske.
- Nustatykite tinkamus failų dydžio apribojimus ir įjunkite perkėlimą.
- Spauskite paleisti į start užfiksuoti.
Fiksuokite reprezentatyvių verslo operacijų metu. Norėdami išsamiai užfiksuoti darbo krūvį, kelias valandas vykdykite sekimą, apimantį skirtingus veiklos modelius. Sustabdykite sekimą surinkę pakankamai duomenų.
Darbo krūvio analizė atskleidžia sistemos elgesio modelius:
- Atidarykite užfiksuotą sekimo failą SQL Server Profiliuotojas.
- Peržiūrėkite įvykių pasiskirstymą pagal tipą ir laiką.
- Apskaičiuokite bendrus išteklių suvartojimo rodiklius.
- Nustatykite piko aktyvumo laikotarpius ir išteklių trūkumo atvejus.
- Naudokite sekimą duomenų bazės modulio derinimo patarėjo analizei.
- Pakartotinai peržiūrėkite sekimą bandymų sistemose, kad patvirtintumėte pakeitimus.
13. Duomenų bazės sugadinimo aptikimas naudojant SQL Server Profiler
13.1 Naudojimas SQL Server Ankstyvųjų korupcijos įspėjamųjų ženklų profilis
Duomenų bazės sugadinimas yra vienas iš most rimtos grėsmės duomenų vientisumui ir sistemos patikimumui. Nors SQL Server „Profiler“ nėra specializuota korupcijos aptikimo priemonė, ji gali užfiksuoti svarbius įspėjamuosius ženklus, rodančius galimas korupcijos problemas, kurias reikia nedelsiant ištirti.
13.2 Kritinės klaidos, rodančios galimą korupciją
- 24 svarbos klaidos (823, 824, 825): Aparatinės įrangos ir laikmenos gedimai.
- 605 klaida: nepavykę puslapio paieškos bandymai
- 8928 ir 8929 klaidos: objekto sugadinimas
13.3 Įtartinų duomenų bazės elgsenos ir įspėjimų modeliai
- Pakartotiniai užklausų skirtieji laikai tam tikruose objektuose
- Prieigos pažeidimai ir programų gedimai
- Neįprastas klaidų klasterizavimas
13.4 DBCC CHECKDB paleidimas remiantis profiliavimo rezultatais
If SQL Server Profiler aptinka įtartinus pažeidimus, galite naudoti DBCC CHECKDB, kad atliktumėte išsamų duomenų bazės patikrinimą. Tada, jei pažeidimai patvirtinami, atlikite taisymą. Mes parašėme išsamus vadovas, kaip atlikti šias užduotis.
Jei DBCC CHECKDB nepavyksta pataisyti duomenų bazės, tai reiškia, kad pažeidimai yra rimti. Tokiu atveju galite kreiptis į trečiosios šalies SQL atkūrimo įrankis.
14. DUK
Klausimas: yra SQL Server Profileris vis dar palaikomas SQL Server 2022?
A: Taip, SQL Server Profiler vis dar įtrauktas SQL Server 2022 ir SQL Server „Management Studio“, nepaisant to, kad ji nebenaudojama nuo 2013 m. SQL Server 2016 m. „Microsoft“ ir toliau teikia įrankį su naujausiomis versijomis, tačiau rekomenduoja pereiti prie išplėstinių įvykių, kai diegiamos naujos stebėjimo sistemos. Įrankis išlieka funkcionalus ir plačiai naudojamas trikčių šalinimui ir ad hoc analizei.
K: Koks skirtumas tarp SQL Server Profileris ir SQL sekimas?
A: SQL Server „Profiler“ yra grafinės vartotojo sąsajos įrankis, kuris jungiasi prie SQL sekimo modulio, veikiančio programoje. SQL ServerSQL Trace yra pagrindinė technologija, kuri iš tikrųjų fiksuoja įvykius. Galite kurti pėdsakus naudodami „Profiler“ sąsają arba tiesiogiai per T-SQL saugomas procedūras, pvz., „sp_trace_create“. „Profiler“ užtikrina lengvesnį konfigūravimą, o T-SQL pėdsakai siūlo daugiau automatizavimo galimybių.
K: Kiek našumo išlaidų kainuoja SQL Server Pridėti profiliuotoją?
A: Našumo poveikis priklauso nuo sekimo konfigūracijos. Gerai filtruotas sekimas, fiksuojantis tik konkrečius įvykius, gali padidinti 1–5 % sąnaudų. Prastai sukonfigūruoti sekimai be filtrų gali padidinti 20–50 % ar daugiau sąnaudų, ypač užimtose sistemose. Serverio pusės sekimai turi mažesnį poveikį nei kliento pusės sekimai. Visada naudokite filtrus, kad sumažintumėte įvykių skaičių, ir pirmiausia išbandykite sekimus ne gamybinėje aplinkoje.
K: Ar galiu bėgti? SQL Server Profileris gamybiniuose serveriuose?
A: Galite bėgti SQL Server Profiliavimo įrankis gamybiniuose serveriuose, tačiau būkite atsargūs. Naudokite itin atrankius filtrus, apribokite sekimo trukmę ir pirmenybę teikite serverio pusės sekimams, kad sumažintumėte poveikį. Kai įmanoma, gamybinius sekimus vykdykite mažo aktyvumo laikotarpiais. Nuolatiniam gamybiniam stebėjimui apsvarstykite galimybę naudoti išplėstinius įvykius arba užklausų saugyklą, nes jos sumažina sąnaudas.
K: Kokius leidimus man reikia naudoti? SQL Server Profileris?
A: Norint kurti ir vykdyti sekimus, reikia ALTER TRACE leidimo. Sistemos administratoriaus fiksuoto serverio vaidmens nariai šį leidimą gauna automatiškai. Ne sistemos administratoriaus vaidmens vartotojams reikia aiškiai suteikti ALTER TRACE leidimą. Be to, norint išsaugoti sekimo duomenis failuose arba lentelėse, reikia atitinkamų leidimų, atsižvelgiant į jūsų konfigūraciją.
K: Kodėl nematau visų įvykių savo pėdsake?
A: Įvykių nebuvimas paprastai atsiranda dėl pernelyg griežtų filtrų arba buferio perpildymo. Peržiūrėkite filtro konfigūraciją, kad įsitikintumėte, jog ji neatmeta norimų įvykių. Buferio perpildymas įvyksta, kai SQL Server Nepavyksta pakankamai greitai įrašyti įvykių, dažniausiai su nefiltruotais pėdsakais užimtose sistemose. Pridėkite filtrus, kad sumažintumėte įvykių kiekį arba padidintumėte disko įvesties/išvesties našumą. Patikrinkite, ar nėra klaidų pranešimų, rodančių, kad įvykiai nebuvo užfiksuoti.
K: Kaip užfiksuoti aklavietės informaciją naudojant SQL Server Profileris?
A: Sukurkite seką, kurioje būtų įtraukti įvykiai „Lock:Deadlock“ ir „Lock:Deadlock Chain“ iš kategorijos „Locks“. Įsitikinkite, kad pasirinktas stulpelis „TextData“, nes jame yra aklavietės grafiko XML. Kai įvyksta aklavietė, nukopijuokite XML failą iš stulpelio „TextData“, išsaugokite jį su .xdl plėtiniu ir atidarykite programoje. SQL Server „Management Studio“, kad peržiūrėtumėte grafinę aklavietės diagramą.
K: Kuo skiriasi pėdsakų išsaugojimas failuose ir lentelėse?
A: Failai pasižymi geresniu našumu vykdant sekimą, nes jie apeina SQL Server Saugojimo modulis. Failų pėdsakai įrašo duomenis tiesiai į diską su minimaliomis sąnaudomis. Lentelių pėdsakai įrašo duomenis per saugojimo modulį, padidindami sąnaudas, bet įgalindami nedelsiant atlikti T-SQL užklausas, skirtas pėdsakų duomenims. Naudokite failus našumui jautriuose scenarijuose ir lenteles, kai reikia pateikti duomenų užklausas iš karto fiksavimo metu arba po jo.
K: Ar galiu automatizuoti SQL Server Profilerio pėdsakų rinkimas?
A: Taip, automatizuoti pėdsakų rinkimą naudojant serverio pėdsakus, sukurtus naudojant T-SQL saugomas procedūras. Rašyti scenarijus naudojant sp_trace_create ir susijusias procedūras, tada juos suplanuoti per SQL Server Agento užduotys. Šis metodas leidžia neautomatiškai rinkti pėdsakus pagal nurodytus tvarkaraščius. „PowerShell“ scenarijai suteikia dar vieną automatizavimo parinktį sudėtingesniems scenarijams.
K: Kiek laiko turėčiau vykdyti sekimą?
A: Sekimo trukmė priklauso nuo jūsų tikslų. Norėdami pašalinti konkrečias problemas, vykdykite sekimą, kol atkursite problemą, paprastai 5–30 minučių. Našumo analizei užfiksuokite bent vieną valandą piko metu. Darbo krūvio analizei arba pajėgumų planavimui surinkite kelias valandas per skirtingus laikotarpius. Visada sustabdykite sekimą, kai stebėjimas baigtas, kad atlaisvintumėte išteklių.
K: Ką daryti, jei mano sekimo failas tampa per didelis?
A: Įjunkite failų perkėlimo funkciją pėdsako ypatybėse, kad sukurtumėte kelis mažesnius failus, o ne vieną didelį. Nustatykite maksimalų failo dydį, atitinkantį jūsų disko vietą ir analizės poreikius. Naudokite filtrus, kad sumažintumėte užfiksuotų įvykių kiekį. Didelių pėdsakų atveju apsvarstykite galimybę analizuoti duomenis segmentais, o ne įkelti visą pėdsaką iš karto. Reguliariai archyvuokite arba ištrinkite senus pėdsakų failus, kad valdytumėte disko vietą.
K: Kaip rasti užklausas, kurios naudoja daug procesoriaus resursų?
A: Sukurkite sekimą su SQL:BatchCompleted ir RPC:Completed įvykiais. Įtraukite CPU, Duration ir TextData stulpelius. Filtruokite pagal Duration, kad užfiksuotumėte tik užklausas, viršijančias ribą, pvz., 1000 milisekundžių. Surinkus duomenis, rūšiuokite pagal CPU stulpelį mažėjančia tvarka. Viršuje esančios užklausos sunaudoja m.ost procesoriaus laikas. Išnagrinėkite šias užklausas, ieškodami optimizavimo galimybių, pvz., trūkstamų indeksų ar neefektyvios logikos.
Klausimas: gali SQL Server Profilerio fiksavimo užklausų vykdymo planai?
A: SQL Server Profiler gali fiksuoti vykdymo plano informaciją per Showplan XML įvykius kategorijoje „Našumas“. Pasirinkite Showplan XML arba Showplan XML statistikos profilio įvykius, kad užfiksuotumėte visus vykdymo planus. Stulpelyje „TextData“ yra XML plano duomenys. Tačiau įprastinei vykdymo plano analizei, SQL Server „Management Studio“ grafinio vykdymo plano funkcijos arba „Query Store“ siūlo paprastesnes alternatyvas.
K: Koks šablonas yra geriausias?tart su bendra stebėsena?
A: Standartinis šablonas suteikia gerątarBendro stebėjimo taškas. Jis apima įprastus užklausų vykdymo įvykius, saugomų procedūrų iškvietimus ir klaidų stebėjimą su subalansuotomis pridėtinėmis sąnaudomis. Mažesnio poveikio stebėjimui, orientuotam į užklausų našumą, naudokite TSQL šabloną. Tinkinkite šablonus pagal savo konkrečius poreikius, pridėdami filtrų ir koreguodami įvykių pasirinkimą, supratę pagrindus.
K: Kaip atsekti tik konkrečią programą ar vartotoją?
A: Norėdami izoliuoti konkrečias programas ar vartotojus, naudokite stulpelių filtrus. Programas filtruokite pagal stulpelį „ApplicationName“ naudodami prisijungimo eilutėje nurodytą pavadinimą. Vartotojus filtruokite pagal stulpelį „LoginName“ su SQL Server prisijungimo arba „Windows“ paskyros pavadinimas. Norėdami dar labiau susiaurinti paiešką, derinkite kelis filtrus, pvz., filtruokite pagal „ApplicationName“ ir „DatabaseName“, kad stebėtumėte vienos programos veiklą konkrečioje duomenų bazėje.
15. Išvada ir tolesni žingsniai
15.1 pagrindiniai dalykai
SQL Server „Profiler“ išlieka vertinga priemone ad hoc duomenų bazių trikčių šalinimui, nepaisant to, kad ji nebenaudojama. Paprasta sąsaja ir išsamus įvykių fiksavimas idealiai tinka greitai diagnostikai.ostic sesijas, kai reikia greitų rezultatų. Naudokite „Profiler“ konkrečių problemų sprendimui, programų elgsenos analizei ir saugumo auditui.
Geriausia praktika apima agresyvų filtrų naudojimą, siekiant sumažinti poveikį našumui, pirmenybę teikiant serverio pusės pėdsakams gamybinėje aplinkoje ir pėdsako trukmės apribojimą iki būtinų laikotarpių. Pasirinkite tik būtinus įvykius ir stulpelius, kad sumažintumėte išlaidas. Įrašykite pėdsakus į failus, o ne į lenteles, kad fiksavimo metu būtų geresnis našumas.
15.2 Žingsnis į priekį: šiuolaikinių įrankių naudojimas
Perėjimas iš SQL Server Iš „Profiler“ į išplėstinius įvykius, skirtus ilgalaikiams stebėjimo sprendimams. Nors „Profiler“ išlieka funkcionalus, laiko skyrimas išplėstinių įvykių mokymuisi suteikia jums galimybę ateityje SQL Server versijos. Starsu paprastais išplėstinių įvykių seansais, kurie atkartoja įprastus profiliavimo pėdsakus.
Įjunkite „Query Store“ gamybinėse duomenų bazėse, kad galėtumėte automatiškai stebėti našumą be rankinio sekimo konfigūravimo. „Query Store“ nuolat fiksuoja užklausų planus ir vykdymo statistiką, pateikdama pagrindinius duomenis našumo analizei. Sujunkite „Query Store“ su tarSukūrė išplėstinių įvykių sesijas išsamiam stebėjimui.
15.3 Papildomi ištekliai
Šie ištekliai padės jums pagilinti savo SQL Server Profiliuotojo žinios ir geriausios stebėsenos praktikos atnaujinimas:
Oficiali „Microsoft“ dokumentacija
- SQL Server Profilerio dokumentacija – Išsami įvykių, stulpelių ir procedūrų nuoroda
- SQL sekimo sistemos saugomos procedūros – T-SQL nuoroda serverio pusės pėdsakų kūrimui
- Išplėstinė renginių dokumentacija – Migracijos gairės ir modernūs stebėsenos metodai
- Užklausų saugyklos dokumentacija – Automatinio užklausų našumo stebėjimo nuoroda
- Našumo stebėjimo ir derinimo įrankiai – Visų apžvalga SQL Server stebėjimo parinktys
Bendrijos ištekliai
- SQL Server Central – Straipsniai, forumai ir scenarijai duomenų bazių specialistams
- kamino Perpildyta SQL Server Žymė – Bendruomenės klausimai ir atsakymai, skirti konkretiems trikčių šalinimo klausimams
- „Reddit r/SQLServer“ – diskusijų forumas, skirtas SQL Server temos ir patarimai
- SQLServerCentral.com forumai – aktyvios bendruomenės diskusijos apie profiliavimą ir našumą
- MSDN SQL Server Forumai – „Microsoft-h“osted bendruomenės palaikymo forumai
Tinklaraščiai ir techniniai straipsniai
- SQL Server Našumo stebėjimas – Specialus našumo stebėjimo ir optimizavimo turinys
- „Brent Ozar Unlimited“ tinklaraštis – geriausios našumo derinimo ir stebėjimo praktikos
- SQLSkills.com – eksperto lygio SQL Server turinys iš pramonės lyderių
- "Microsoft" SQL Server Tinklaraštis – oficialūs produktų atnaujinimai ir funkcijų pranešimai
- Paprastas pokalbis – praktiškas SQL Server pamokos ir atvejų analizės
Mokymai ir atestacija
- „Microsoft Learn“ – Nemokami internetiniai mokymo moduliai, skirti SQL Server
- „Microsoft“ sertifikuotas: „Azure“ duomenų bazių administratoriaus partneris – Oficialus sertifikavimo kelias
- Pluralsight SQL Server Kursai – vaizdo įrašų mokymai apie profiliavimą ir našumo derinimą
- LinkedIn mokymasis SQL Server Mokymai – profesinio tobulėjimo kursai
- Udemy SQL Server Veiklos kursai – praktinio mokymo galimybės
knygos
- SQL Server Užklausų našumo derinimas – išsamus našumo optimizavimo vadovas
- už SQL Server Vidiniai aspektai – gilesnis pasinerimas SQL Server architektūra
- SQL Server Vykdymo planai – užklausų optimizavimo supratimas
- Ekspertų našumo indeksavimas SQL Server – Indeksų kūrimas ir optimizavimas
- SQL Server Išplėstinis trikčių šalinimas ir našumo derinimas – išplėstinė diagnostikaostic metodai
Įrankiai ir komunalinės paslaugos
- SQL Server Vadybos studija – Pagrindinė sąsaja, skirta SQL Server Profiler
- „Azure Data Studio“ – Modernus kelių platformų duomenų bazių įrankis
- sp_WhoIsActive – populiari bendruomenės sukurta stebėjimo saugoma procedūra
- SQL Sentry Plan Explorer – nemokama vykdymo plano analizės priemonė
- DBF„Orge Studio“ – trečioji šalis SQL Server kūrimo ir administravimo įrankis
Apie Autorius:
Yuan Sheng yra vyresnysis duomenų bazių administratorius (DBA), turintis daugiau nei 10 metų patirtį SQL Server aplinkose ir įmonių duomenų bazių valdyme. Jis sėkmingai išsprendė šimtus duomenų bazių atkūrimo scenarijų finansinių paslaugų, sveikatos priežiūros ir gamybos organizacijose.
Yuan specializuojasi SQL Server duomenų bazių atkūrimas, didelio prieinamumo sprendimai ir našumo optimizavimas. Jo didelė praktinė patirtis apima kelių terabaitų duomenų bazių valdymą, diegimą Visada prieinamumo grupėsir kuriant automatizuotas atsarginių kopijų kūrimo ir atkūrimo strategijas, skirtas kritiškai svarbioms verslo sistemoms.
Pasitelkdamas savo technines žinias ir praktinį požiūrį, Yuanas daugiausia dėmesio skiria išsamių vadovų, padedančių duomenų bazių administratoriams ir IT specialistams spręsti sudėtingas problemas, kūrimui. SQL Server efektyviai meta iššūkius. Jis neatsilieka nuo naujausių žinių SQL Server leidimus ir besivystančias „Microsoft“ duomenų bazių technologijas, reguliariai testuodamas atkūrimo scenarijus, siekdamas užtikrinti, kad jo rekomendacijos atitiktų geriausią realią praktiką.
Turite klausimų apie SQL Server atkūrimo ar reikia papildomų duomenų bazės trikčių šalinimo nurodymų? Yuan mielai atsiliepimai ir pasiūlymai už šių techninių išteklių tobulinimą.























