Կիսվել հիմա ՝

 

Բառը թաքցնել

1. Ներածություն SQL Server Պրոֆիլավոր

1.1 Ինչ է SQL Server Profiler-ը և ինչո՞ւ է մեզ այն անհրաժեշտ։

SQL Server Profiler-ը գրաֆիկական ինտերֆեյսի գործիք է, որը նախատեսված է ներսում տեղի ունեցող իրադարձությունները վերահսկելու և գրանցելու համար։ SQL ServerԱյս հզոր ախտորոշիչ գործիքը թույլ է տալիս տվյալների բազայի ադմինիստրատորներին և մշակողներին իրական ժամանակում դիտարկել տվյալների բազայի շարժիչի գործունեությունը, օգնելով բացահայտել կատարողականի խցանումները, լուծել ծրագրային խնդիրների խնդիրները և աուդիտի ենթարկել անվտանգության իրադարձությունները։

SQL Server Պրոֆիլավոր

1.2 SQL Server Profiler-ը 2025 թվականին. Ներկայիս կարգավիճակը և այլընտրանքները

Microsoft-ը դադարեցրել է իր գործունեությունը SQL Server Պրոֆայլերը սկսվում է SQL Server 2016, խորհուրդ տալով Ընդլայնված իրադարձություններ որպես փոխարինող տեխնոլոգիա։ Այնուամենայնիվ, գործիքը մնում է հասանելի ներկայիս SQL Server տարբերակները, ներառյալ SQL Server 2022 թվականին և դեռևս լայնորեն օգտագործվում է տվյալների բազայի մասնագետների կողմից։

1.3 Ո՞վ պետք է օգտագործի այս ուղեցույցը

  • Այս ուղեցույցը նախատեսված է տվյալների բազայի ադմինիստրատորների համար, ովքեր պետք է վերահսկեն SQL Server օրինակներ, ախտորոշել կատարողականի հետ կապված խնդիրներ և ապահովել համակարգի հուսալիությունը: DBA-ները կգտնեն գործնական ուղեցույց հետքերը գրանցելու, իրադարձությունները վերլուծելու և մոնիթորինգի ռազմավարություններ իրականացնելու համար:
  • Ծրագրավորողները օգուտ են քաղում իրենց կոդի փոխազդեցության հասկացումից SQL ServerSQL Profiler-ը օգնում է մշակողներին նույնականացնել անարդյունավետ հարցումները, ստուգել ծրագրի վարքագիծը և վրիպազերծել տվյալների բազայի հետ կապված սխալները։
  • Արդյունավետության վերլուծաբաններն ու խորհրդատուները կբացահայտեն աշխատանքային բեռնվածության վերլուծության, հզորությունների պլանավորման և համակարգի օպտիմալացման առաջադեմ մեթոդներ: Հետևողականության կարգավորման, զտման և վերլուծության համապարփակ ծածկույթը հնարավորություն է տալիս մանրակրկիտ գնահատել տվյալների բազայի արդյունավետությունը:

2: Հասկանալով SQL Server Պրոֆիլերի հիմունքներ

2.1 Ինչպես SQL Server Profiler Works

SQL Server Profiler-ը գործում է որպես հաճախորդային ծրագիր, որը միանում է SQL Trace շարժիչին, որը գործում է ներսում։ SQL ServerԵրբ դուք ստեղծում եք հետք, տվյալների բազայի շարժիչը վերահսկում է նշված իրադարձությունները և գրանցում դրանք ձեր կարգավորման համաձայն: Հետքագրման շարժիչը հավաքում է իրադարձությունների տվյալներ՝ նվազագույն ազդեցությամբ սերվերի աշխատանքի վրա, եթե դրանք ճիշտ են կարգավորված:

Հիմքում ընկած SQL Trace ենթակառուցվածքը տվյալների բազայի շարժիչի ողջ ընթացքում օգտագործում է թեթև իրադարձությունների կեռիկներ: Երբ տեղի է ունենում իրադարձություն, որը համապատասխանում է ձեր հետագծի սահմանմանը, շարժիչը գրանցում է համապատասխան տեղեկատվությունը և կամ ուղարկում այն ​​Profiler ինտերֆեյսին, կամ պահպանում է այն ֆայլի կամ աղյուսակի մեջ: Այս ճարտարապետությունը թույլ է տալիս ճկուն տվյալների հավաքագրում՝ առանց ծրագրի կոդը փոփոխելու:

2.2 Հիմնական հասկացություններ և տերմինաբանություն

2.2.1 միջոցառումներ

Իրադարձությունները ներկայացնում են որոշակի իրադարձություններ SQL Server որը կարող է գրանցել հետագծման շարժիչը։ Յուրաքանչյուր իրադարձություն համապատասխանում է տվյալների բազայի որոշակի գործողության կամ համակարգի գործունեության։ SQL Server Profiler-ը կազմակերպում է իրադարձությունները տրամաբանական կատեգորիաների՝ ավելի հեշտ կարգավորման համար։

Տարածված իրադարձությունների կատեգորիաների մեջ են մտնում TSQL-ը՝ հարցումների կատարման համար, պահեստավորված ընթացակարգերը՝ ընթացակարգերի կանչերի համար, կողպեքները՝ զուգահեռաբար մոնիթորինգի համար, և սխալներն ու նախազգուշացումները՝ բացառությունների հետևման համար: Համապատասխան իրադարձությունների ընտրությունը որոշում է, թե ինչ տեղեկատվություն է ձեր հետքը հավաքում և ուղղակիորեն ազդում է հետքի օգտակարության և կատարողականի վրա:

Իրադարձությունների տեսակների ըմբռնումը կօգնի ձեզ կարգավորել արդյունավետ հետագծերը: RPC:Completed իրադարձությունները գրանցում են հեռակա ընթացակարգային կանչերի ավարտը, SQL:BatchCompleted իրադարձությունները հետևում են ad-hoc հարցումների խմբաքանակներին, իսկ Lock:Deadlock իրադարձությունները հայտնաբերում են փակուղիների առաջացումը: Ընտրեք իրադարձություններ, որոնք համապատասխանում են ձեր կոնկրետ խնդիրների լուծման կամ մոնիթորինգի նպատակներին:

2.2.2 Տվյալների սյուներ

Տվյալների սյուները սահմանում են, թե յուրաքանչյուր իրադարձության համար ինչ տեղեկատվություն է գրանցում հետքը: Հաճախակի սյուները ներառում են TextData-ն՝ իրական SQL հայտարարության համար, Duration-ը՝ կատարման ժամանակի համար, CPU-ն՝ պրոցեսորի օգտագործման համար, Reads-ը՝ տրամաբանական սկավառակի ընթերցումների համար և Writes-ը՝ տրամաբանական սկավառակի գրառումների համար:

Հիմնական սյուները տարբերվում են օգտագործման դեպքից կախված: Արդյունավետության խնդիրների լուծման համար սովորաբար անհրաժեշտ են Duration, CPU, Reads և Writes սյուները: Անվտանգության աուդիտի համար անհրաժեշտ են LoginName, DatabaseName և ObjectName սյուները: Ծրագրի վրիպազերծման համար օգտակար են ApplicationName, SPID և Error սյուները:

Միայն անհրաժեշտ սյուները ընտրելը նվազեցնում է հետագծման ծախսերը և պարզեցնում վերլուծությունը: Խուսափեք բոլոր հասանելի սյուները գրանցելուց, եթե դրանք հատուկ անհրաժեշտ չեն: Յուրաքանչյուր լրացուցիչ սյուն մեծացնում է հավաքված և մշակված տվյալների քանակը, ինչը հնարավոր է ազդի սերվերի աշխատանքի վրա:

2.2.3 զտիչներ

Ֆիլտրերը սահմանափակում են, թե որ իրադարձությունները պետք է գրանցի հետքը՝ հիմնվելով նշված չափանիշների վրա: Ճիշտ կարգավորված ֆիլտրերը զգալիորեն նվազեցնում են հետքերի ծավալը՝ դարձնելով վերլուծությունը կառավարելի և նվազագույնի հասցնելով արդյունավետության վրա ազդեցությունը: Ֆիլտրերը գնահատում են իրադարձությունների տվյալները գրանցումից առաջ՝ կանխելով ավելորդ տվյալների հավաքագրումը:

Ֆիլտրի տարածված չափանիշներից են՝ տվյալների բազայի անունը՝ որոշակի տվյալների բազաների վրա կենտրոնանալու համար, հավելվածի անունը՝ որոշակի ծրագրեր մեկուսացնելու համար, տևողությունը՝ միայն դանդաղ գործողությունները գրանցելու համար, և մուտքի անունը՝ որոշակի օգտատերերին հետևելու համար: Բազմաթիվ ֆիլտրերի համադրությունը ստեղծում է ճշգրիտ հետագծման սահմանումներ, որոնք գրանցում են հենց այն, ինչ ձեզ անհրաժեշտ է:

Արդյունավետությանը կենտրոնացած ֆիլտրացումը կարևոր է արտադրական միջավայրերի համար: Միշտ ֆիլտրեք տվյալների բազայի անվան կամ ծրագրի անվան միջոցով՝ համակարգի ակտիվությունը գրանցելուց խուսափելու համար: Սահմանեք նվազագույն տևողության շեմեր՝ արագ կատարվող հարցումները անտեսելու համար: Զգուշորեն օգտագործեք TextData ֆիլտրերը, քանի որ դրանք պահանջում են տողերի համեմատություններ, որոնք ավելացնում են լրացուցիչ ծախսեր:

2.2.4 Հետագծման ձևանմուշներ

Հետագծման ձևանմուշները տրամադրում են նախապես կարգավորված իրադարձությունների, սյուների և ֆիլտրերի ընտրություններ տարածված սցենարների համար։ SQL Server Profiler-ը ներառում է մի քանի ներկառուցված ձևանմուշներ, որոնք ծառայում են որպես հետքեր ստեղծելու մեկնարկային կետեր: Հատուկ ձևանմուշները պահպանում են ձեր կարգավորումները՝ մի քանի հետքեր ստեղծելու սեանսների ընթացքում վերօգտագործելու համար:

Ստանդարտ ձևանմուշը գրանցում է հիմնական մոնիթորինգի համար հարմար իրադարձությունների ընդհանուր հավաքածու: TSQL ձևանմուշը կենտրոնանում է հարցումների կատարման վրա՝ նվազագույն ծախսերով: Կարգավորման ձևանմուշը հավաքում է իրադարձություններ, որոնք հատուկ նախատեսված են տվյալների բազայի շարժիչի կարգավորման խորհրդատուի վերլուծության համար: Յուրաքանչյուր ձևանմուշ հավասարակշռում է տեղեկատվության գրանցումը կատարողականի վրա ազդեցության հետ:

Հատուկ ձևանմուշների ստեղծումը խնայում է ժամանակ և ապահովում է հետևողականություն հետևման սեսիաների ընթացքում: Կարգավորեք հետևումը ձեր նախընտրած իրադարձություններով, սյուներով և ֆիլտրերով, այնուհետև պահպանեք այն որպես ձևանմուշ: Հատուկ ձևանմուշները հատկապես արժեքավոր են դառնում, երբ դուք բազմիցս լուծում եք նմանատիպ խնդիրներ:

3. Սկսել SQL Server Պրոֆիլավոր

3.1 Համակարգի պահանջներ և նախադրյալներ

SQL Server Profiler-ը գալիս է փաթեթով SQL Server Management Studio-ն աջակցում է բոլոր ներկայումս պահպանվողներին SQL Server տարբերակներից, սկսած SQL Server 2016- ից մինչեւ 2022:

Թույլտվության պահանջները որոշում են, թե ով կարող է ստեղծել և գործարկել հետքեր։ Համակարգի ադմինիստրատորի ֆիքսված սերվերի դերի անդամներն ունեն անսահմանափակ մուտք դեպի SQL Server Պրոֆիլերի ֆունկցիոնալություն։ Ոչ համակարգային ադմինիստրատոր օգտատերերի համար ALTER TRACE թույլտվությունը հնարավորություն է տալիս ստեղծել և կառավարել հետքեր։

Հեռակա սերվերների հետևման ժամանակ կիրառվում են ցանցային նկատառումներ: Հաճախորդի կողմից հետևումները պահանջում են անընդհատ ցանցային կապ ձեր աշխատանքային կայանի և SQL Server օրինակ։ Ընդհատված կապերը կանխում են հաճախորդի կողմից իրականացվող հետագծերը, հնարավոր է՝ կորցնելով գրանցված տվյալները։ Սերվերի կողմից իրականացվող հետագծերը խուսափում են այս սահմանափակումից՝ ամբողջությամբ աշխատելով տվյալների բազայի սերվերի վրա։

3.2 Ինչպես գործարկել SQL Server Պրոֆիլավոր

3.2.1 Սկսած SQL Server Կառավարման ստուդիա (SSMS)

Գործարկելու համար հետևեք այս քայլերին SQL Server SSMS-ի պրոֆիլավորիչ՝

  1. բաց SQL Server Կառավարման ստուդիա և միացեք ցանկացածին SQL Server օրինակ:
  2. Սեղմեք է Գործիքներ մենյու վերին մենյուի տողում։
  3. ընտրել SQL Server Պրոֆիլավոր բացվող ցանկից:
  4.   SQL Server Profiler հավելվածը գործարկվում է նոր պատուհանում։

սկիզբ SQL Server Պրոֆիլեր SQL Server Կառավարման ստուդիա.

3.2.2 Սկսել Windows-ի «Սկսել» ընտրացանկից

Մուտք SQL Server Profiler-ը անմիջապես Windows-ից՝ օգտագործելով այս քայլերը.

  1. Սեղմեք Windows-ի վրա սկիզբ կոճակը:
  2. Տիպ SQL Server Պրոֆիլավոր որոնման վանդակում:
  3. ընտրել SQL Server Պրոֆիլավոր որոնման արդյունքներից:
  4. Ծրագիրը գործարկվում է առանց ակտիվ կապերի։

սկիզբ SQL Server Profiler-ը Windows-ի որոնման դաշտից։

Այլընտրանքորեն, կարող եք նավարկել «Սկսել» ընտրացանկի հիերարխիայում՝

  1. Բացել սկիզբ մենյու.
  2. Տեղադրել այն Microsoft SQL Server Գործիքներ թղթապանակ.
  3. Ընդարձակեք թղթապանակը և սեղմեք SQL Server Պրոֆիլավոր.

սկիզբ SQL Server Profiler-ը Windows-ի մեկնարկային ցանկից։

3.2.3 Միացում SQL Server Դեպքեր

Գործարկումից հետո SQL Server Profiler-ում կապ հաստատեք հետևյալ քայլերով.

  1. Սեղմել Ֆայլ ցանկի բարում:
  2. ընտրել Նոր հետք բացվող ցանկից:
  3.   Միացեք սերվերին հայտնվում է երկխոսության պատուհան։
  4. Մուտքագրեք ձեր սերվերի անունը դաշտում Սերվերի անունը դաշտը.
  5. Ընտրել Windows վավերացում or SQL Server Authentication.
  6. Օգտագործելիս SQL Server Հաստատում, մուտքագրեք ձեր մուտքի տվյալները։
  7. Սեղմել միացնել կապը հաստատելու համար։

Միացեք ա SQL Server օրինակ SQL Server Պրոֆիլավորող.

Հեռակա միացումների համար նշեք սերվերի լրիվ անունը, ներառյալ օրինակի անունը, եթե կիրառելի է: Անվանված օրինակների համար օգտագործեք SERVERNAME\INSTANCENAME ձևաչափը: Ստուգեք ցանցային կապը և firewall-ի կարգավորումները, եթե միացման փորձերը ձախողվեն:

4. Ստեղծում և կարգավորում SQL Server Հետքեր

4.1 Առաջին հետագծի ստեղծումը՝ օգտագործելով ձևանմուշ

Ստեղծեք ձեր առաջին հետքը՝ օգտագործելով այս քայլերը.

  1. Launch SQL Server Պրոֆիլավորող.
  2. Սեղմել Ֆայլ -> Նոր հետք և միացեք ձեր թիրախային սերվերին։
  3.   Հետևման հատկություններ հայտնվում է երկխոսության պատուհան։
  4. Մուտքագրեք նկարագրական անուն դաշտում Հետագծի անվանումը դաշտը.
  5. Ընտրեք ձևանմուշ՝ Օգտագործեք ձևանմուշը dropdown:
  6. Ընտրեք Ստանդարտ (կանխադրված) ձևանմուշ ընդհանուր մոնիթորինգի համար։ Կամ մեկ այլ ձևանմուշ այլ նպատակների համար։ Ձևանմուշը տրամադրում է նախապես կարգավորված իրադարձություններ, սյուներ և ֆիլտրեր տարածված սցենարների համար։
  7. Սեղմել Վազում իրադարձությունների ձայնագրումը անմիջապես սկսելու համար։

Սահմանեք հետագծի հատկությունները SQL Server Պրոֆիլավորող.

4.2 Անհատականացրեք ձեր հետքը

Շատ դեպքերում ձևանմուշները չեն կարող բավարարել ձեր պահանջները: Այդ դեպքում դուք կարող եք լիովին հարմարեցնել ձեր հետագիծը.

  1. Է Հետևման հատկություններ երկխոսություն:
  2. Ընտրել Բլոկ ձևանմուշ՝ սկսած Օգտագործեք ձևանմուշը dropdown:Հետագծի համար օգտագործեք դատարկ ձևանմուշ։
  3. Սեղմեք է Միջոցառումների ընտրություն ներդիրում, այժմ դուք կարող եք հարմարեցնել բոլոր իրադարձությունները, տվյալների սյուները և ֆիլտրերը՝ ձեր պահանջներին համապատասխան: Մենք դրանք կքննարկենք հաջորդ բաժիններում:
    Անհատականացրեք հետքը «Հետագծի հատկություններ» երկխոսության պատուհանի «Իրադարձության ընտրություն» ներդիրում։

4.3 Գրանցման համար իրադարձությունների ընտրություն

Դուք կարող եք ընտրել միջոցառում բաժնում՝ Միջոցառումների ընտրություն էջանշանը:

  1. Սեղմեք է + «Միջոցառում» կատեգորիայի կողքին գտնվող պատկերակը՝ այն ընդարձակելու համար։
  2. Սեղմեք միջոցառման կողքին գտնվող վանդակը՝ այն ընտրելու համար։

Ընտրեք իրադարձություն «Հետևման հատկություններ» երկխոսության պատուհանում։

4.3.1 Միջոցառումների կատեգորիաների հասկացումը

SQL Server Profiler-ը իրադարձությունները դասակարգում է տրամաբանական խմբավորման համար նախատեսված կատեգորիաների: «Պահպանված պրոցեդուրաներ» կատեգորիան ներառում է պրոցեդուրաների կատարման իրադարձություններ, ներառյալ SP:Starting, SP:Completed և SP:StmtCompleted: Այս իրադարձությունները հետևում են պահված պրոցեդուրաների կանչերին և առանձին հրամանների կատարմանը պրոցեդուրաների ներսում:

TSQL կատեգորիան գրանցում է ad-hoc հարցումների կատարումը՝ SQL:BatchStarting և SQL:BatchCompleted նման իրադարձություններով: Այս իրադարձությունները հետևում են անմիջապես ուղարկված հարցումներին: SQL Server պահված ընթացակարգերից դուրս։

«Կողպեքներ» կատեգորիան վերահսկում է միաժամանակյա իրադարձությունները, ներառյալ Lock:Acquired, Lock:Released, Lock:Deadlock և Lock:Timeout իրադարձությունները: Օգտագործեք այս իրադարձությունները՝ հավելվածի աշխատանքի վրա ազդող արգելափակման և փակուղու խնդիրները ախտորոշելու համար:

«Սխալներ և նախազգուշացումներ» կատեգորիան գրանցում է բացառության իրադարձությունները, ներառյալ «Բացառություն», «Ուշադրություն» և «Օգտատիրոջ սխալի հաղորդագրություն»։ Այս իրադարձությունները օգնում են նույնականացնել ծրագրի սխալները և SQL Server զգուշացումներ հետագծման նիստերի ընթացքում։

4.3.2 Ձեր սցենարի համար ճիշտ իրադարձությունների ընտրություն

Արդյունավետության մոնիթորինգը պահանջում է իրադարձություններ, որոնք գրանցում են ռեսուրսների սպառումը: Ընտրեք RPC:Completed և SQL:BatchCompleted՝ հարցման կատարումը հետևելու համար: Ներառեք Duration, CPU, Reads և Writes սյունակները՝ ռեսուրսների օգտագործումը չափելու համար: Այս իրադարձությունները հիմք են հանդիսանում արդյունավետության խոչընդոտները բացահայտելու համար:

Անվտանգության աուդիտը պահանջում է իրադարձություններ, որոնք հետևում են նույնականացմանը և լիազորմանը: Ընտրեք «Աուդիտոր մուտք», «Աուդիտոր ելք», «Աուդիտոր մուտքը ձախողվեց» և «Օբյեկտ.բացված»՝ տվյալների բազայի մուտքը վերահսկելու համար: Ներառեք «Մուտք գործել», «Տվյալների բազայի անուն» և «Օբյեկտի անուն» սյունակները՝ պարզելու համար, թե ով որ ռեսուրսներին է մուտք գործել:

Վրիպազերծման սցենարները օգտվում են իրադարձությունների համապարփակ գրանցումից: Ներառեք պահված ընթացակարգերի իրադարձությունները, SQL խմբաքանակի իրադարձությունները և սխալի իրադարձությունները՝ ամբողջական կատարման հոսքերը հետևելու համար: Գրանցեք լրացուցիչ համատեքստ SPID, ApplicationName և HostName սյուների միջոցով՝ իրադարձությունները որոշակի սեսիաների հետ կապելու համար:

4.4 Տվյալների սյուների կարգավորում

Ըստ լռելյայնի, երբ դուք ընտրում եք որևէ իրադարձություն, դրա բոլոր տվյալների սյուները կընտրվեն (նշված է): Դուք կարող եք հանել ավելորդ սյուների ընտրությունը՝ ծախսերը նվազեցնելու և վերլուծությունը պարզեցնելու համար:

Ընտրեք/Հանեք ընտրությունը իրադարձության տվյալների սյուների համար «Հետևման հատկություններ» երկխոսության պատուհանում։

Յուրաքանչյուր հետագծի համար անհրաժեշտ սյուները ներառում են EventClass-ը՝ իրադարձության տեսակը նույնականացնելու համար, TextData-ն՝ իրական SQL հրահանգը գրանցելու համար, LoginName-ը՝ կատարող օգտատիրոջը նույնականացնելու համար, և StartTime-ը՝ իրադարձության տեղի ունենալու ժամանակը նշելու համար: Այս սյուները տրամադրում են յուրաքանչյուր գրանցված իրադարձության հիմնարար համատեքստ:

Արդյունավետությանը վերաբերող սյուները չափում են ռեսուրսների սպառումը: Տևողությունը ցույց է տալիս, թե որքան ժամանակ է տևել իրադարձությունը միկրովայրկյաններով: CPU-ն ցույց է տալիս պրոցեսորի ժամանակը միլիվայրկյաններով: Կարդացումները հաշվում են տրամաբանական էջի ընթերցումները: Գրառումները հետևում են տրամաբանական էջի գրառումներին: Այս չափանիշները նույնականացնում են օպտիմալացման կարիք ունեցող ռեսուրսներ պահանջող գործողությունները:

Անվտանգության և աուդիտի սյուները հետևում են տվյալների մուտքի օրինաչափություններին: Տվյալների բազայի անունը (DatabaseName) որոշում է, թե որ տվյալների բազային է մուտք գործել: ObjectName-ը նշում է ներգրավված աղյուսակը կամ օբյեկտը: ApplicationName-ը ցույց է տալիս, թե որ ծրագիրն է նախաձեռնել գործունեությունը: Այս սյուները միասին տրամադրում են աուդիտի համապարփակ հետքեր:

4.5 Ֆիլտրերի կարգավորում աղմուկը նվազեցնելու համար

4.5.1 Ընդհանուր ֆիլտրի չափանիշներ

Կարգավորեք ֆիլտրերը հետևյալ մեթոդով.

  1. Բացել Հետևման հատկություններ երկխոսություն:
  2. Սեղմեք է Միջոցառումների ընտրություն էջանիշը.
  3. Սեղմել Սյունակային ֆիլտրեր կոճակը ներքևի աջ անկյունում։
    Սեղմեք «Սյունակի զտիչներ» կոճակը «Հետագծի հատկություններ» երկխոսության պատուհանում։
  4. Ընտրեք սյունակ ձախ կողմում գտնվող ցանկից։
  5. Կարգավորեք ֆիլտրի չափանիշները աջ կողմում գտնվող վահանակում։
    Սահմանեք տվյալների սյունակի ֆիլտրը «Հետագծի հատկություններ» երկխոսության պատուհանում։
  6. Սեղմել OK ֆիլտրը կիրառելու համար։

Հավելվածի անվան զտիչները մեկուսացնում են գործունեությունը որոշակի հավելվածներից: Զտիչի երկխոսության պատուհանում ընդարձակեք Հավելվածի անվան սյունակը, մուտքագրեք ձեր հավելվածի անունը նման դաշտ, և SQL Server Profiler-ը գրանցում է միայն այդ ծրագրի իրադարձությունները: Այս ֆիլտրը անգնահատելի է ծրագրին հատուկ խնդիրները լուծելիս:

Տվյալների բազայի անվան ֆիլտրերը սահմանափակում են որոշակի տվյալների բազաների գրանցումը: Ֆիլտրեք տվյալների բազայի անվան միջոցով՝ համակարգի տվյալների բազայի գործունեությունը բացառելու և ձեր ծրագրի տվյալների բազաների վրա կենտրոնանալու համար: Մուտքագրեք տվյալների բազայի անունները նման or հավասար դաշտը՝ կախված նրանից, թե արդյոք ձեզ անհրաժեշտ է wildcard համընկնում։

Տևողության ֆիլտրերը գրանցում են միայն դանդաղ կատարվող գործողությունները: Սահմանեք նվազագույն շեմը Ավելի մեծ կամ հավասար դաշտը «Տևողություն» սյունակի տակ։ Օրինակ, «Տևողություն >= 1000» սահմանելը գրանցում է միայն մեկ վայրկյանից ավելի տևող իրադարձությունները՝ զտելով արագ կատարվող հարցումները։

Օգտանունի ֆիլտրերը հետևում են որոշակի օգտատիրոջ գործունեությանը: Զտեք ըստ LoginName-ի՝ տվյալների բազայի որոշակի օգտատերերին վերահսկելու համար: Այս մոտեցումը օգնում է պարզել, թե որ օգտատերերն են կատարում խնդրահարույց հարցումներ կամ մուտք գործում զգայուն տվյալների:

4.4.2 Լավագույն փորձի ֆիլտրում

Արդյունավետ ֆիլտրացումը հավասարակշռում է տվյալների հավաքագրումը արդյունավետության վրա ազդեցության հետ։ Միշտ կիրառեք առնվազն մեկ ֆիլտր՝ համակարգի չափազանց ակտիվության գրանցումը կանխելու համար։ Տվյալների բազայի անվանում և հավելվածի անվանում ֆիլտրերը պետք է լինեն ձեր մեկնարկային կետը հետագծման մեծ մասի համար։

Արտադրական միջավայրերում խուսափեք չափազանց լայն հետքերից: Չֆիլտրված հետքերը գրանցում են տվյալների հսկայական ծավալներ, որոնք կարող են վատթարացնել սերվերի աշխատանքը և վերլուծությունը դարձնել անիրագործելի: Սահմանեք ֆիլտրի հատուկ չափանիշներ, որոնք ուղղված են ձեր խնդիրների լուծման նպատակներին:

Արտադրության մեջ տեղակայելուց առաջ փորձարկեք ֆիլտրերը: Սկզբում կատարեք հետագծեր մշակման կամ փորձարկման միջավայրերի նկատմամբ՝ ստուգելու համար, որ ֆիլտրերը գրանցում են սպասվող իրադարձությունները առանց ավելորդ ծանրաբեռնվածության: Կարգավորեք ֆիլտրի չափանիշները՝ հիմնվելով գրանցված տվյալների ծավալի վրա:

4.5 Հետագծման ձևանմուշների հետ աշխատելը

4.5.1 Ներկառուցված ձևանմուշների ակնարկ

Ստանդարտ ձևանմուշը ապահովում է հավասարակշռված իրադարձությունների գրանցում, որը հարմար է ընդհանուր մոնիթորինգի համար: Այն ներառում է հարցումների կատարման տարածված իրադարձություններ, պահված ընթացակարգերի կանչեր և սխալների հիմնական հետևում: Օգտագործեք այս ձևանմուշը, երբ ձեզ անհրաժեշտ է համապարփակ տեսանելիություն՝ առանց ճշգրիտ իմանալու, թե ինչ փնտրել:

TSQL ձևանմուշը կենտրոնանում է հատկապես հարցումների կատարման վրա՝ իրադարձությունների նվազագույն ընտրությամբ: Այն գրանցում է SQL:BatchCompleted և RPC:Completed իրադարձությունները՝ կատարողականի վերլուծության համար անհրաժեշտ սյուներով: Այս ձևանմուշն առաջարկում է ավելի ցածր ծախսեր, քան ստանդարտ ձևանմուշը:

Կարգավորման ձևանմուշը օպտիմալացնում է իրադարձությունների ընտրությունը տվյալների բազայի շարժիչի կարգավորման խորհրդատուի վերլուծության համար: Այն գրանցում է աշխատանքային ծանրաբեռնվածության վերլուծության և ինդեքսների առաջարկությունների համար անհրաժեշտ իրադարձություններն ու սյուները: Օգտագործեք այս ձևանմուշը ավտոմատացված կատարողականի կարգավորման համար հետագծեր պատրաստելիս:

TSQL_Replay ձևանմուշը ներառում է բոլոր իրադարձություններն ու սյուները, որոնք անհրաժեշտ են հետագծման վերարտադրման ֆունկցիոնալության համար: Այն գրանցում է կատարման համապարփակ մանրամասները՝ թույլ տալով վերարտադրել գրանցված աշխատանքային բեռները փորձարկման միջավայրերում: Այս ձևանմուշը ստեղծում է ավելի մեծ հետագծման ֆայլեր՝ տվյալների լայնածավալ հավաքագրման շնորհիվ:

4.5.2 Պատվերով ձևանմուշների ստեղծում

Ստեղծեք անհատական ​​ձևանմուշներ՝ հետևելով այս քայլերին.

  1. Սեղմել Ֆայլ -> Templates -> Նոր ձևանմուշ…
  2. Մուտքագրեք նկարագրական անուն դաշտում Նոր ձևանմուշի անունը դաշտը.
  3. Ըստ ցանկության, ստուգեք Նոր ձևանմուշը հիմնեք արդեն իսկ գոյություն ունեցողի վրա և ընտրեք արդեն իսկ գոյություն ունեցող ձևանմուշ, եթե չեք ուզում այն ​​զրոյից կառուցել։
    Ստեղծեք նոր ձևանմուշ մեջ SQL Server Պրոֆիլավորող.
  4. Սեղմեք է Իրադարձության ընտրություն ներդիրում, հարմարեցրեք հետագծի ձևանմուշը ձեր ցանկալի իրադարձություններով, սյուներով և ֆիլտրերով, ինչպես դուք անել սովորական հետքով.
  5. Սեղմել Փրկել կաղապարը պահպանելու համար։

Արտահանեք ձևանմուշներ՝ թիմի անդամների հետ կիսվելու կամ պահուստավորման նպատակներով.

  1. Սեղմել Ֆայլ -> Templates -> Արտահանման ձևանմուշ.
  2. Ընտրեք այն ձևանմուշը, որը ցանկանում եք արտահանել։
    Արտահանեք հետագծի ձևանմուշը SQL Server Պրոֆիլավորող.
  3. Նավարկեք դեպի ձեր ցանկալի պահպանման վայրը։
  4. Մուտքագրեք ֆայլի անունը և սեղմեք Փրկել.
  5. Կիսվեք *.tdf ֆայլով (SQL Server Profiler-ի ձևանմուշի ֆայլ) այլի հետ SQL Server Պրոֆիլերի օգտատերեր։

4.6 Հետագծման արդյունքի պահպանում

Որպես լռակյաց, SQL Server Profiler-ը կցուցադրի իրադարձությունները հետագծման պատուհանում, բայց չի պահպանի դրանք։ Դուք կարող եք ընտրել հետագծման տվյալները պահպանել ֆայլում կամ աղյուսակում։ Հետևման հատկություններ երկխոսության պատուհան, երբ ստեղծում եք նոր հետք։

4.6.1 Պահպանել ֆայլում

  1. Է Հետևման հատկություններ երկխոսություն, ստուգում Պահպանել ֆայլում.
  2. Սեղմեք թղթապանակի պատկերակը՝ ֆայլերի դիտարկիչը բացելու համար։
  3. Նավարկեք դեպի ձեր ցանկալի պահպանման վայրը։
  4. Մուտքագրեք .trc ընդլայնմամբ ֆայլի անուն։
  5. Սեղմել Փրկել.
  6. հավաքածու Սահմանեք ֆայլի առավելագույն չափը առանձին ֆայլերի չափը սահմանափակելու համար։
  7. Թույլատրել Միացնել ֆայլի վերափոխումը բազմաթիվ ֆայլեր ստեղծելու համար։
  8. Ըստ ցանկության միացնել Սերվերը մշակում է հետագծման տվյալները սերվերի կողմի հետքերի համար։

Կարգավորել հետագծման տվյալները ֆայլում պահպանելը «Հետագծման հատկություններ» երկխոսության պատուհանում։

Ֆայլի չափի կառավարումը կանխում է սկավառակի տարածքի սպառումը: Սահմանեք ֆայլի առավելագույն չափը ողջամիտ արժեքի, օրինակ՝ 500 ՄԲ կամ 1 ԳԲ՝ հիմնվելով սկավառակի հասանելի տարածքի և սպասվող հետագծման տևողության վրա: Ֆայլի տեղափոխումը ավտոմատ կերպով ստեղծում է նոր ֆայլեր, երբ չափի սահմանաչափը հասնի՝ ֆայլի անվանը թիվ ավելացնելով:

4.6.2 Պահպանել աղյուսակում

  1. Է Հետևման հատկություններ երկխոսություն, ստուգում Պահպանել աղյուսակում.
  2.   Նպատակակետային աղյուսակ հայտնվում է երկխոսության պատուհան։
    Ընտրեք նպատակակետային աղյուսակը՝ հետագծման տվյալները պահպանելու համար։
  3. Ընտրեք սերվերը ցանկից Server dropdown:
  4. Ընտրեք տվյալների բազան ցանկից Database dropdown:
  5. Ընտրեք առկա աղյուսակ կամ մուտքագրեք նոր աղյուսակի անուն Սեղան դաշտը.
  6. Սեղմել OK հաստատելու համար:
  7. Ըստ ցանկության սահմանել Սահմանել առավելագույն տողերը աղյուսակի չափը սահմանափակելու համար։

Սահմանել հետագծման տվյալները պահպանելու համար աղյուսակում՝ «Հետագծման հատկություններ» երկխոսության պատուհանում։

Աղյուսակներում պահելիս կիրառվում են կատարողականության նկատառումներ: Աղյուսակների պահպանումը ֆայլերի պահպանման համեմատ առաջացնում է լրացուցիչ ծախսեր, քանի որ SQL Server պետք է գրանցի հետագծման տվյալները պահեստավորման շարժիչի միջոցով: Օգտագործեք աղյուսակային պահեստ, երբ անհրաժեշտ է անմիջապես հարցում ուղարկել հետագծման տվյալներին T-SQL-ի միջոցով:

Տվյալների պահպանումը կարևոր է դառնում աղյուսակային հետագծերի համար: Սահմանեք տողերի առավելագույն սահմանաչափեր՝ աղյուսակների չափազանց մեծացումը կանխելու համար: Արդյունավետությունը պահպանելու համար պարբերաբար արխիվացրեք կամ ջնջեք հետագծի հին տվյալները: Ավելի լավ կառավարելիության համար դիտարկեք մեծ հետագծի աղյուսակների բաժանումը:

5. Գործարկում և կառավարում SQL Server Հետքեր

5.1 Հետագծերի մեկնարկը, դադարեցումը և դադարեցումը

Կառավարեք հետագծման կատարումը՝ օգտագործելով գործիքագոտու կոճակները.Կառավարեք հետքերը գործիքագոտու կոճակների միջոցով SQL Server Պրոֆիլավորող.

  • Կանաչ սկիզբ կոճակը սկսում է իրադարձությունների գրանցումը՝ ըստ ձեր կարգավորումների։
  • Սեղմել դադար տվյալների հավաքագրումը ժամանակավորապես կասեցնելու համար՝ առանց կապը կորցնելու։
  • Սեղմել Դադարեցնել հետքը ավարտելու և կապը փակելու համար։

Մենյուի տարրերի միջոցով՝
Կառավարեք հետքերը ընտրացանկի տարրերի միջոցով SQL Server Պրոֆիլավորող.

Հետևման պատուհանում ցանկացած գրառման վրա աջ սեղմելով՝

Կառավարեք հետքերը աջ սեղմումով ընտրացանկի տարրերի միջոցով SQL Server Պրոֆիլավորող.

Հետքերի կենսացիկլի կառավարումը ազդում է սերվերի ռեսուրսների վրա: Ակտիվ հետքերը սպառում են հիշողություն և մշակման հզորություն՝ համեմատած գրանցված իրադարձությունների ծավալի հետ: Դադարեցրեք հետքերը այն ժամանակահատվածներում, երբ մոնիթորինգ անհրաժեշտ չէ՝ ծանրաբեռնվածությունը նվազեցնելու համար: Վերլուծությունն ավարտվելուց հետո ամբողջությամբ դադարեցրեք հետքերը՝ ռեսուրսներն ազատելու համար:

Հաճախորդի կողմից հետագծերը պահանջում են ակտիվ Profiler կապ։ Փակելով SQL Server Profiler պատուհանը անմիջապես դադարեցնում է հաճախորդի կողմից հետագծերի ստեղծումը: Մինիմալացրեք Profiler պատուհանը՝ այն փակելու փոխարեն, որպեսզի հետագծերը շարունակվեն աշխատել այլ ծրագրերում աշխատելիս:

5.2 Իրական ժամանակի հետքերի մոնիթորինգ

Հետևեք գրանցված իրադարձություններին, երբ դրանք տեղի են ունենում գլխավոր հետագծման պատուհանում: Յուրաքանչյուր տող ներկայացնում է մեկ իրադարձություն՝ սյուներով, որոնք ցուցադրում են իրադարձության հատկությունները: Ակտիվ հետագծման ընթացքում ցանցը անընդհատ թարմացվում է, լռելյայնորեն ներքևում ցուցադրելով ամենավերջին իրադարձությունները:

Իրական ժամանակի հետքերի մոնիտոր SQL Server Պրոֆիլավորող.

Հայտնաբերեք օրինաչափություններն ու խնդիրները՝ դիտարկելով իրադարձությունների հաճախականությունը և բնութագրերը: Երկարատև իրադարձությունները վկայում են կատարողականի հետ կապված խնդիրների մասին: Հաճախակի սխալների դեպքերը վկայում են ծրագրի հետ կապված խնդիրների մասին: Անսովոր մուտքի գործունեությունը կարող է ազդանշան լինել անվտանգության հետ կապված խնդիրների մասին: Իրական ժամանակի մոնիթորինգը հնարավորություն է տալիս անհապաղ արձագանքել ի հայտ եկող խնդիրներին:

Գլորեք գրանցված իրադարձությունները՝ կոնկրետ դեպքերը ուսումնասիրելու համար: Սեղմեք ցանկացած տողի վրա՝ իրադարձություն ընտրելու և դրա ամբողջական մանրամասները դիտելու համար: Կրկնակի սեղմեք իրադարձությունների վրա՝ բոլոր սյունակների արժեքները ցուցադրող մանրամասն հատկությունների երկխոսության պատուհանները բացելու համար: Օգտագործեք գլորման կողպեքի գործառույթը՝ պատմական իրադարձությունները վերանայելիս ավտոմատ գլորումը կանխելու համար:

5.3 Միաժամանակյա բազմաթիվ հետագծերի կառավարում

Միաժամանակ մի քանի հետագծերի գործարկումը ճկունություն է ապահովում բարդ մոնիթորինգի սցենարների համար: Ստեղծեք առանձին հետագծեր տվյալների բազայի գործունեության տարբեր ասպեկտների համար, ինչպիսիք են մեկ հետագիծը կատարողականի մոնիթորինգի համար, իսկ մյուսը՝ անվտանգության աուդիտի համար: Յուրաքանչյուր հետագիծ աշխատում է անկախ՝ իր սեփական կազմաձևով:

Կառավարեք բազմաթիվ միաժամանակյա հետագծեր SQL Server Պրոֆիլավորող.

Ռեսուրսների բաշխումը դառնում է կարևորագույն բազմակի հետագծերի դեպքում: Յուրաքանչյուր ակտիվ հետագիծ սպառում է հիշողություն, CPU և հնարավոր է՝ սկավառակի մուտք/ելք: Սահմանափակեք միաժամանակյա հետագծերի քանակը և համոզվեք, որ յուրաքանչյուր հետագիծ օգտագործում է համապատասխան ֆիլտրեր՝ ծանրաբեռնվածությունը նվազագույնի հասցնելու համար: Վերահսկեք սերվերի աշխատանքը՝ բազմակի հետագծեր գործարկելիս:

Համակարգեք հետագծման ժամանակացույցը՝ կանխելու համար բարձր ծանրաբեռնվածությամբ հետագծումների համընկնումը: Հնարավորության դեպքում, աշխատացրեք ռեսուրսների մեծ ծախսեր պահանջող հետագծումներ ցածր ակտիվության ժամանակահատվածներում: Պլանավորեք տարբեր հետագծումներ տարբեր ժամանակներում՝ ամեն ինչ միաժամանակ աշխատեցնելու փոխարեն:

5.4 Հաճախորդի կողմից հետագծերն ընդդեմ սերվերի կողմից հետագծերի

Ըստ լռելյայնի, նոր ստեղծված հետքը հաճախորդի կողմից հետք է, որը պահանջում է ակտիվ կապ SQL Server Profiler-ը տվյալների բազայի սերվերին։ Հետևումը անմիջապես դադարում է, եթե կապը կորչում է կամ Profiler-ը փակվում է։

Կարող եք նաև ստեղծել սերվերի կողմից հետք, որը ամբողջությամբ կաշխատի SQL Server օրինակ՝ առանց ակտիվ Profiler կապի անհրաժեշտության։ Սերվերի կողմից հետագծումը շարունակում է աշխատել նույնիսկ փակվելուց հետո։ SQL Server Պրոֆիլեր, տվյալների գրառում նշված ֆայլի տեղակայման մեջ։

Սերվերի կողմից հետք ստեղծելու համար՝

  1. Սեղմեք Ֆայլ -> Նոր հետք…
  2. Է Հետևման հատկություններ երկխոսություն, ստուգում Պահպանել ֆայլում
  3. Սահմանեք ֆայլի գտնվելու վայրը և այլ պարամետրերը:
  4. Թույլատրել Սերվերը մշակում է հետագծման տվյալները սերվերի կողմից հետք ստեղծելու համար։

Ստեղծեք սերվերի կողմի հետք SQL Server Պրոֆիլավորող.

Արդյունավետության հետևանքները զգալիորեն տարբերվում են հետագծման տեսակների միջև: Հաճախորդի կողմից հետագծումները պետք է տվյալները փոխանցեն ցանցի միջոցով Profiler ինտերֆեյսին, ինչը ավելացնում է լատենտությունը և թողունակության սպառումը: Սերվերի կողմից հետագծումները ավելի քիչ ծանրաբեռնվածություն են առաջացնում, քանի որ տվյալները գրվում են անմիջապես սերվերի սկավառակի վրա:

Օգտագործեք հաճախորդի կողմից հետագծեր՝ ad hoc խնդիրների լուծման, արագ ախտորոշիչ սեանսների և այն իրավիճակների համար, երբ անհապաղ տեսողական հետադարձ կապը արժեքավոր է: Ընտրեք սերվերի կողմից հետագծեր՝ արտադրության մոնիթորինգի, երկարատև ձայնագրությունների և անվերահսկելի գործողություն պահանջող սցենարների համար:

6. Վերլուծելով SQL Server Պրոֆիլերի տվյալներ

6.1 Պահպանված հետքերի բացում և վերանայում

Բեռնեք պահպանված հետագծման ֆայլերը՝ օգտագործելով այս քայլերը.

  1. Launch SQL Server Պրոֆիլավորող.
  2. Սեղմել Ֆայլ -> բաց -> Հետևման ֆայլ.
  3. Նավարկեք հետագծման ֆայլի գտնվելու վայրը։
  4. Ընտրեք .trc ֆայլը և սեղմեք բաց.
  5. Հետագծի տվյալները բեռնվում են գլխավոր պատուհանում։

Բեռնեք հետագծման աղյուսակները հետևյալ գործընթացից հետո՝

  1. Սեղմել Ֆայլ -> բաց -> Հետագծման աղյուսակ.
  2. Միացեք հետագծման աղյուսակը հյուրընկալող սերվերին։
  3. Ընտրեք տվյալների բազան ցանկից Database dropdown:
  4. Ընտրեք աղյուսակը ցանկից Սեղան dropdown:
  5. Սեղմել OK տվյալները բեռնելու համար։

6.2 Հետագծային տվյալների ֆիլտրում և որոնում

6.2.1 Հետգրավման ֆիլտրացում

Կիրառեք ֆիլտրեր բեռնված հետագծման տվյալների վրա՝ օգտագործելով այս քայլերը.

  1. Սեղմել Խմբագրել -> Գտնել կամ սեղմեք Ctrl + F.
  2. Մուտքագրեք որոնման տեքստը Գտեք ինչ դաշտը.
  3. Ընտրեք որոնման սյունակը Տես dropdown:
  4. Սեղմել Գտեք հաջորդը համապատասխան իրադարձություններ գտնելու համար։

Գտեք հետագծման տվյալները SQL Server Պրոֆիլավորող.

Սյունակային ֆիլտրացումը մաքրում է ցուցադրված տվյալները՝ առանց իրադարձությունները վերականգնելու: Սեղմեք աջ կոճակով ցանկացած սյունակի վերնագրի վրա և համատեքստային ցանկից ընտրեք ֆիլտրի տարբերակները: Մուտքագրեք ֆիլտրի չափանիշներ՝ միայն համապատասխան տողերը ցուցադրելու համար: Այս մոտեցումը արագացնում է վերլուծությունը՝ թաքցնելով անտեղի իրադարձությունները:

6.2.2 Հատուկ իրադարձությունների որոնում

Որոնման ֆունկցիոնալությունը օգնում է գտնել որոշակի իրադարձություններ մեծ հետագծման ֆայլերում: Օգտագործեք «Գտնել» երկխոսության պատուհանը՝ տեքստային բովանդակության, իրադարձության տեսակի կամ սյունակի արժեքի միջոցով որոնելու համար: Կանոնավոր արտահայտությունները անհրաժեշտության դեպքում հնարավորություն են տալիս գտնել բարդ որոնման ձևեր:

Նշեք կարևոր իրադարձությունները՝ վերլուծության ընթացքում արագ հղումներ ստանալու համար: Աջ սեղմեք հետաքրքիր իրադարձությունների մասին և ընտրեք էջանիշերի տարբերակները՝ դրանք նշելու համար: Նավարկեք էջանիշերի միջև՝ օգտագործելով ստեղնաշարի կարճ ստեղները կամ ընտրացանկի հրամանները, ինչը հեշտացնում է կապակցված իրադարձությունների համեմատությունը:

6.3 Իրադարձությունների խմբավորում և ամփոփում

Խմբավորել իրադարձությունները սյունակի արժեքներով՝ օրինաչափությունները նույնականացնելու և գործունեությունը ամփոփելու համար: Սեղմեք աջ կոճակով ցանկացած սյունակի վերնագրի վրա և ընտրեք Խմբավորել այս սյունակով միջոցառումները կազմակերպելու համար: Խմբավորված դիտումները միասին են հավաքում նմանատիպ միջոցառումները՝ հեշտացնելով ընդհանուր օրինաչափությունները տեսնելը:

Ամփոփված տեսքերը տրամադրում են հետագծման տվյալների վիճակագրական ամփոփումներ: Խմբավորեք ըստ TextData-ի՝ տեսնելու համար, թե քանի անգամ է կատարվել յուրաքանչյուր հարցումը: Խմբավորեք ըստ LoginName-ի՝ տեսնելու համար յուրաքանչյուր օգտատիրոջ գործունեության ամփոփումները: Ամփոփումը բացահայտում է օրինաչափություններ, որոնք անմիջապես ակնհայտ չեն մանրամասն իրադարձությունների ցանկերում:

Ընդլայնեք և ծալեք խմբերը՝ որոշակի կատեգորիաների մեջ խորանալու համար: Սեղմեք խմբերի վերնագրերի կողքին գտնվող գումարած և հանած պատկերակները՝ խմբավորված իրադարձությունները ցուցադրելու կամ թաքցնելու համար: Այս հիերարխիկ տեսքը հեշտացնում է վերևից ներքև վերլուծությունը՝ սկսելով բարձր մակարդակի օրինաչափություններից և խորանալով մանրամասների մեջ:

6.4 SQL հարցումների արդյունահանում հետքերից

Հետևյալ քայլերից արդյունահանեք հարցումներ՝ հետևելով հետևյալ քայլերին.

  1. Գտեք հետաքրքրության հարցումը հետագծի ցանցում։
  2. Սեղմեք տողի վրա՝ իրադարձությունն ընտրելու համար։
  3. Դիտեք հարցման ամբողջական տեքստը ներքևի վահանակում։
  4. մամուլ Ctrl + A ամբողջ հարցման տեքստը ընտրելու համար։
  5. մամուլ Ctrl + C հարցման տեքստը պատճենելու համար։
  6. Հետագա վերլուծության համար հարցումը տեղադրեք Management Studio-ում։

Արդյունահանեք SQL հարցումը հետագծման իրադարձությունից։

Խնդրահարույց հարցումները նույնականացրեք՝ ըստ կատարողականության սյուների տեսակավորելով։ Սեղմեք «Տևողություն» սյունակի վերնագրին՝ կատարման ժամանակի տեսակավորելու համար։ Ամենադանդաղ հարցումները հայտնվում են վերևում կամ ներքևում՝ կախված տեսակավորման ուղղությունից։ Նմանապես, տեսակավորեք ըստ CPU-ի, ընթերցումների կամ գրառումների՝ ռեսուրսների ինտենսիվություն պահանջող գործողությունները նույնականացնելու համար։

Արտահանեք հարցումները փորձարկման համար՝ դրանք հետագծումից պատճենելով հարցումների պատուհաններ: Փոփոխեք արդյունահանված հարցումները՝ օպտիմալացման ռազմավարությունները փորձարկելու համար: Համեմատեք կատարման պլանները և կատարողականության չափանիշները սկզբնական և օպտիմիզացված տարբերակների միջև:

6.5 Իրադարձությունների փոխկապակցումը և կատարման հոսքի ըմբռնումը

Ծնող-զավակ իրադարձությունների հարաբերությունները ցույց են տալիս կատարման հիերարխիաները: SQL:BatchStarting իրադարձությունները ծնող SQL:StmtStarting իրադարձություններ են, որոնք իրենց հերթին ծնող են ընթացակարգերի կատարման իրադարձություններին: Այս հարաբերությունների ըմբռնումը օգնում է հետևել ձեր կոդի կատարման ամբողջական ուղիներին:

Գործարքների հետևումը ժամանակի ընթացքում կապում է փոխկապակցված իրադարձությունները: Օգտագործեք SPID սյունակը՝ իրադարձությունները սեսիաների միջոցով խմբավորելու համար: Սեսիայի ընթացքում իրադարձությունները տեղի են ունենում ժամանակագրական կարգով՝ ցույց տալով գործողությունների հաջորդականությունը: Այս տեսքը ցույց է տալիս, թե ինչպես են տարբեր գործողությունները փոխազդում գործարքների շրջանակներում:

Համօգտագործվող սյունակների արժեքները ուսումնասիրելով՝ կապեք իրադարձությունները։ Նույն SPID-ով իրադարձությունները տեղի են ունեցել նույն սեսիայի ընթացքում։ Նույն ApplicationName-ով իրադարձությունները ծագել են նույն ծրագրից։ Օգտագործեք այս կապակցությունները՝ բարդ կատարման սցենարները հասկանալու համար։

7. Ընդհանուր SQL Server Պրոֆիլերի օգտագործման դեպքեր

7.1 Արդյունավետության խնդիրների լուծում

7.1.1 Դանդաղ հարցումների նույնականացում

Գրանցեք դանդաղ հարցումները՝ օգտագործելով հետևյալ կարգավորումը՝

  1. Ստեղծեք նոր հետք՝ օգտագործելով TSQL շաբլոն
  2. Է Միջոցառումների ընտրություն ներդիր, ստուգել SQL:Խմբային ավարտ և RPC: Ավարտված է ընտրված են:
  3. Սեղմել Սյունակային ֆիլտրեր.
  4. ընտրել Տևողություն սյունակների ցանկից։
  5. Մուտքագրեք 1000000-ը դաշտում Ավելի մեծ կամ հավասար դաշտ՝ 1 վայրկյանից ավելի տևող հարցումները գրանցելու համար։
  6. Սեղմել OK և սկսեք հետքը։
  7. Գործարկեք հետագծումը գագաթնակետային օգտագործման ժամանակահատվածներում։
  8. Կանգնեցրեք հետքը և տեսակավորեք ըստ տևողության՝ ամենադանդաղ հարցումները նույնականացնելու համար։

Տևողության վրա հիմնված վերլուծությունը բացահայտում է կատարման ժամանակի օրինաչափությունները: Դասավորեք գրանցված իրադարձությունները «Տևողություն» սյունակով՝ նախ տեսնելու համար ամենաերկարատև գործողությունները: Ուսումնասիրեք TextData սյունակը՝ այս իրադարձությունների համար՝ ուշացումների համար պատասխանատու իրական հարցումները բացահայտելու համար:

CPU-ի և I/O-ի հետ կապված հարցումները պահանջում են տարբեր օպտիմալացման մոտեցումներ: Դասավորեք CPU սյունակով՝ պրոցեսորին կապված հարցումները գտնելու համար, որոնք ալգորիթմական բարելավումների կարիք ունեն: Դասավորեք ըստ «Կարդում» կամ «Գրում» սյունակների՝ ինդեքսավորումից կամ հարցումների վերաշարադրումից օգուտ քաղող I/O-ի հետ կապված հարցումները նույնականացնելու համար:

7.1.2 Արգելափակումների և փակուղիների հայտնաբերում

Կարգավորեք արգելափակման հայտնաբերումը հետևյալ քայլերով.

  1. Ստեղծեք նոր հետք։
  2. Է Միջոցառումների ընտրություն ներդիր, ընդարձակել Փականներ.
  3. ընտրել Կողպեք՝ փակուղի և Կողպեք՝ փակուղի շղթա.
  4. Ընդարձակել Սխալներ և նախազգուշացումներ.
  5. ընտրել Արգելափակված գործընթացի մասին զեկույց.
  6. Ներառել սյուները՝ spid, Տեքստային տվյալներ, Տվյալների բազայի անունը, Մուտքանուն.
  7. Սկսեք հետագծումը և վերահսկեք կողպման իրադարձությունները։

Կողպման իրադարձությունների մոնիթորինգը բացահայտում է ծրագրի աշխատանքի վրա ազդող զուգահեռականության խնդիրներ: Կողպում. Փակման իրադարձությունները ցույց են տալիս, թե երբ SQL Server Հայտնաբերված և լուծված փակուղային իրավիճակներ: Lock:Deadlock շղթայական իրադարձությունները ցույց են տալիս փակուղային իրավիճակներում ներգրավված գործընթացները:

Փակուղու գրաֆիկները ներկայացնում են փակուղու սցենարները։ Երբ տեղի է ունենում փակուղու իրադարձություն, TextData սյունակը պարունակում է XML, որը նկարագրում է փակուղին։ Պատճենեք այս XML-ը և բացեք այն SQL Server Management Studio՝ գրաֆիկական փակուղային դիագրամը դիտելու համար, որը ցույց է տալիս, թե որ գործընթացներն են արգելափակել միմյանց։

7.1.3 Բացակայող ինդեքսների որոնում

Գրանցեք ինդեքսի վերլուծության աշխատանքային ծանրաբեռնվածությունը՝ օգտագործելով այս քայլերը.

  1. Ստեղծեք նոր հետք՝ օգտագործելով կարգավորում շաբլոն
  2. Կարգավորեք հետքը ֆայլում պահպանելու համար։
  3. Գործարկեք հետագիծը ներկայացուցչական աշխատանքային ժամանակահատվածներում։
  4. Հավաքեք առնվազն մի քանի ժամվա գործունեություն։
  5. Դադարեցրեք հետքը և պահպանեք ֆայլը։
  6. Գործարկել տվյալների բազայի շարժիչի կարգավորման խորհրդատուն։
  7. Ընտրեք հետագծման ֆայլը որպես աշխատանքային բեռնվածության աղբյուր։
  8. Գործարկեք վերլուծությունը՝ ինդեքսի առաջարկություններ ստանալու համար։

Տվյալների բազայի շարժիչի կարգավորման խորհրդատուի հետ ինտեգրումը ավտոմատացնում է ինդեքսների առաջարկությունները: Կարգավորման խորհրդատուն վերլուծում է գրանցված աշխատանքային ծանրաբեռնվածությունը և առաջարկում է ինդեքսներ, որոնք կբարելավեն արդյունավետությունը: Ուշադիր վերանայեք առաջարկությունները ներդրումից առաջ՝ հաշվի առնելով պահեստավորման վերադիր ծախսերը և սպասարկման ծախսերը:

7.2 Ծրագրի խնդիրների լուծում

7.2.1 Ծրագրի սխալների վրիպազերծում

Հետևեք ծրագրի սխալներին՝ օգտագործելով այս կարգավորումը՝

  1. Ստեղծեք նոր հետք։
  2. Ընդարձակել Սխալներ և նախազգուշացումներ «Միջոցառումների ընտրություն» ներդիրում։
  3. ընտրել Բացառություն, Օգտատիրոջ սխալի հաղորդագրություն, եւ ուշադրություն.
  4. Ներառել սյուները՝ սխալ, Տեքստային տվյալներ, Ծրագրի անունը, spid.
  5. Զտել ըստ Ծրագրի անունը կենտրոնանալ ձեր դիմումի վրա։
  6. Սկսեք հետագծումը և վերարտադրեք սխալի սցենարը։
  7. Վերանայեք գրանցված սխալի իրադարձությունները՝ ախտորոշիչ տեղեկատվության համար։

Սխալների հետևումը բացահայտում է բացառությունների մանրամասները, որոնք հաճախ թաքնված են հավելվածներից: «Սխալ» սյունակը պարունակում է SQL Server Սխալի համարներ: TextData սյունակը ցույց է տալիս սխալի հաղորդագրությունները և սխալի պատճառ հանդիսացող հարցումը: Լրջության աստիճանը ցույց է տալիս սխալի լրջության մակարդակները:

Բացառությունների մոնիթորինգը գրանցում է կատարման ժամանակի խնդիրները, ներառյալ սահմանափակումների խախտումները, թույլտվության սխալները և ժամանակի ավարտի իրադարձությունները: Կապեք սխալի իրադարձությունները նախորդող հարցման իրադարձությունների հետ՝ հասկանալու համար, թե ինչն է առաջացրել բացառությունները:

7.2.2 Դիմում-տվյալների բազա հաղորդակցության հետևում

Հետևեք ծրագրի գործունեությանը հետևյալ քայլերին.

  1. Ստեղծեք նոր հետք՝ օգտագործելով Ստանդարտ շաբլոն
  2. Սեղմել Սյունակային ֆիլտրեր.
  3. ընտրել Ծրագրի անունը և մուտքագրեք ձեր դիմումի անունը դաշտում նման դաշտը.
  4. Ըստ ցանկության՝ զտեք ըստ Հոսթի անունը որոշակի սերվերներ մեկուսացնելու համար։
  5. Սկսեք հետագծումը ծրագրի գործողությունների ընթացքում։
  6. Վերանայեք գրանցված իրադարձությունները՝ տվյալների բազայի բոլոր փոխազդեցությունները տեսնելու համար։

Ծրագրի անվան ֆիլտրացումը մեկուսացնում է հարցումները որոշակի ծրագրերից։ SQL Server սահմանում է ծրագրի անունը միացման տողերից, հեշտացնելով առանձին ծրագրերի հետևումը բազմածրագրային միջավայրերում: Համոզվեք, որ ձեր միացման տողը ներառում է ծրագրի անվան պարամետրը՝ արդյունավետ զտման համար:

Կապի հետևումը ցույց է տալիս սեսիայի կյանքի ցիկլը, ներառյալ մուտքը, հարցման կատարումը և ելքը: Հետևեք կապերի ստեղծման արագությանը՝ կապերի համախմբման խնդիրները հայտնաբերելու համար: Կապի չափազանց մեծ կորուստը ցույց է տալիս ծրագրի կարգավորման հնարավոր խնդիրներ:

7.2.3 Ծրագրի վարքագծի ստուգում

Ստուգեք ծրագրի սպասվող վարքագիծը՝ օգտագործելով հետքային վերլուծություն: Գրանցեք բոլոր տվյալների բազայի գործողությունները գործարքի ընթացքում և ստուգեք, որ հարցումները ճիշտ են կատարվում համապատասխան հաջորդականությամբ: Համեմատեք գրանցված իրական հարցումները սպասվող վարքագծի հետ՝ անհամապատասխանությունները հայտնաբերելու համար:

Պարամետրերի վավերացումը ապահովում է, որ հավելվածները ճիշտ արժեքներ են փոխանցում պահված ընթացակարգերին և պարամետրացված հարցումներին: Ուսումնասիրեք գրանցված հարցման տեքստը՝ ստուգելու համար, որ պարամետրերի արժեքները համապատասխանում են սպասումներին: Սխալ պարամետրերը հաճախ տրամաբանական սխալներ են առաջացնում, որոնք դրսևորվում են որպես սխալ բիզնես արդյունքներ:

7.3 Անվտանգության աուդիտ

7.3.1 Մուտք գործելու փորձերի մոնիթորինգ

Կարգավորեք մուտքի մոնիթորինգը՝ օգտագործելով այս քայլերը.

  1. Ստեղծեք նոր հետք։
  2. Ընդարձակել Անվտանգության աուդիտ «Միջոցառումների ընտրություն» ներդիրում։
  3. ընտրել Աուդիտի մուտք, Աուդիտի ելք, եւ Աուդիտի մուտքը ձախողվեց.
  4. Ներառել սյուները՝ Մուտքանուն, Հոսթի անունը, Ծրագրի անունը, Սկզբի ժամանակը.
  5. Սկսեք հետագծումը՝ նույնականացման ակտիվությունը վերահսկելու համար։
  6. Ստուգեք մուտքի անհաջող դեպքերը՝ հնարավոր անվտանգության խնդիրների համար։

Հաջող և անհաջող մուտքերը ապահովում են համապարփակ նույնականացման հետևում: Աուդիտի մուտքի իրադարձությունները գրանցում են հաջող նույնականացման փորձերը՝ օգտատիրոջ ինքնության և աղբյուրի տեղեկատվության հետ միասին: Աուդիտի մուտքի ձախողված իրադարձությունները ցույց են տալիս անհաջող մուտքի փորձեր, որոնք կարող են ցույց տալ հարձակումներ կամ կարգավորման խնդիրներ:

Նույնականացման հետևումը բացահայտում է տվյալների բազայի մուտքի օրինաչափությունները: Վերահսկեք մուտքի հաճախականությունը՝ անսովոր գործունեություն հայտնաբերելու համար: Բազմակի անհաջող մուտքի փորձերը, որոնց հաջորդում է հաջող մուտքը, կարող են վկայել մուտքի տվյալների խափանման մասին: Անսպասելի վայրերից անհաջող մուտքերը պահանջում են հետաքննություն:

7.3.2 Տվյալների մուտքի և փոփոխությունների հետևում

Վերահսկեք տվյալների հասանելիությունը՝ օգտագործելով այս կարգավորումը՝

  1. Ստեղծեք նոր հետք։
  2. Ընդարձակել Անվտանգության աուդիտ.
  3. ընտրել Աուդիտի տվյալների բազայի օբյեկտի մուտք.
  4. Ներառել սյուները՝ Օբյեկտի անունը, Մուտքանուն, Տեքստային տվյալներ, Տվյալների բազայի անունը.
  5. Զտել ըստ Օբյեկտի անունը որոշակի զգայուն աղյուսակների վերահսկման համար։
  6. Սկսեք հետագծումը՝ մուտքի փորձերը գրանցելու համար։

SELECT, INSERT, UPDATE, DELETE հետևումը ապահովում է տվյալների համապարփակ փոփոխության աուդիտ: Գրանցեք SQL:BatchCompleted իրադարձությունները համապատասխան ֆիլտրերով՝ տվյալների մուտքի բոլոր գործողությունները վերահսկելու համար: Զտեք ըստ ObjectName-ի կամ TextData-ի՝ զգայուն աղյուսակների վրա կենտրոնանալու համար:

Զգայուն տվյալների մուտքը պահանջում է ուշադիր մոնիթորինգ՝ անվտանգության քաղաքականությանը համապատասխանությունն ապահովելու համար: Ստեղծեք հետքեր հատուկ անձնական տեղեկատվություն, ֆինանսական տվյալներ կամ այլ գաղտնի տեղեկատվություն պարունակող աղյուսակների համար: Պարբերաբար վերանայեք մուտքի ձևերը՝ տվյալներին անպատշաճ մուտքը հայտնաբերելու համար:

7.3.3 Չարտոնված գործողությունների բացահայտում

Հայտնաբերեք կասկածելի գործունեություն՝ վերլուծելով որոնման հետքերում առկա հարցումների ձևանմուշները: Փնտրեք անսովոր հարցումներ, որոնք չեն համապատասխանում ծրագրի սովորական վարքագծին: SELECT հրամանները, որոնք չունեն WHERE կետ, որոնք վերականգնում են ամբողջական աղյուսակներ, կարող են վկայել տվյալների արտահոսքի փորձերի մասին:

Արտոնությունների էսկալացիայի փորձերը հայտնվում են որպես թույլտվության սխալներ կամ վարչական հրամաններ կատարելու փորձեր: Հետևեք համակարգային աղյուսակներին մուտք գործելու, սերվերի կոնֆիգուրացիան փոփոխելու կամ արտոնյալ հաշիվներ ստեղծելու փորձեր կատարող հարցումներին: Զտեք սխալի իրադարձությունները և վերանայեք TextData սյունակը կասկածելի գործունեության համար:

7.4 Հզորության պլանավորում և աշխատանքային ծանրաբեռնվածության վերլուծություն

Սահմանեք բազային գծեր՝ գրանցելով ներկայացուցչական աշխատանքային ծանրաբեռնվածությունը սովորական գործունեության ընթացքում: Կատարեք հետագծեր սովորական աշխատանքային ժամերի ընթացքում՝ ստանդարտ գործունեության օրինաչափությունները հասկանալու համար: Պահպանեք այս հետագծերը որպես կատարողականի բազային գծեր՝ ապագա համեմատության համար:

Գագաթնակետային օգտագործման նույնականացումը ցույց է տալիս, թե երբ է ձեր համակարգը ունենում առավելագույն ծանրաբեռնվածություն: Գրանցեք հետքերը տարբեր ժամանակահատվածներում, ներառյալ աշխատանքային ժամերը, խմբաքանակային մշակման պատուհանները և աշխատանքային ժամերից հետո ակտիվությունը: Վերլուծեք իրադարձությունների քանակը և ռեսուրսների սպառումը՝ գագաթնակետային ժամանակահատվածները նույնականացնելու համար:

Ռեսուրսների օգտագործման օրինաչափությունները ի հայտ են գալիս աշխատանքային բեռնվածության վերլուծությունից: Խմբավորեք իրադարձությունները ժամանակային միջակայքերով՝ օրվա ընթացքում գործունեության բաշխումը տեսնելու համար: Հաշվարկեք CPU-ի, սկավառակի մուտքի/ելքի և տևողության ամփոփ ցուցանիշները՝ ռեսուրսների սպառումը քանակականացնելու համար: Օգտագործեք այս տվյալները՝ հզորությունների արդիականացումը պլանավորելու կամ օպտիմալացման հնարավորությունները բացահայտելու համար:

8. Ընդլայնված SQL Server Պրոֆիլերի տեխնիկաներ

8.1 T-SQL-ի միջոցով սերվերի կողմից հետքերի ստեղծում

8.1.1 sp_trace_create-ի և դրան առնչվող ընթացակարգերի օգտագործումը

Ստեղծեք սերվերի կողմի հետքեր ծրագրային եղանակով՝ օգտագործելով T-SQL պահված ընթացակարգերը: Այս մոտեցումը հնարավորություն է տալիս ավտոմատ կերպով ստեղծել և կառավարել հետքերը՝ առանց անհրաժեշտության: SQL Server Profiler-ի գրաֆիկական ինտերֆեյսը։

Սահմանեք սերվերի կողմից հետագծում՝ օգտագործելով այս օրինակ կոդը.

  1. Հայտարարեք հետագծի ID-ի և ֆայլի ուղու փոփոխականները։
  2. Կանչեք sp_trace_create ֆունկցիան՝ նոր հետք ստեղծելու համար։
  3. Օգտագործեք sp_trace_setevent ֆունկցիան՝ իրադարձություններ և սյուներ ավելացնելու համար։
  4. Ֆիլտրերը կարգավորելու համար կարող եք օգտագործել sp_trace_setfilter-ը։
  5. Կանչեք sp_trace_setstatus ֆունկցիան՝ հետագծումը սկսելու համար։

sp_trace_create պրոցեդուրան նախնականացնում է նոր հետագծի սահմանումը: Նշեք ելքային ֆայլի ուղին, ֆայլի առավելագույն չափը և rollover-ի տարբերակները: Պրոցեդուրան վերադարձնում է հետագծի ID, որն օգտագործվում է հետագա ընթացակարգերի կանչերում՝ հետագիծը կարգավորելու համար:

Ավելացրեք իրադարձություններ՝ օգտագործելով sp_trace_setevent պրոցեդուրան: Նշեք հետագծի ID-ն, իրադարձության ID-ն և սյունակի ID-ն յուրաքանչյուր իրադարձություն-սյունակ համակցության համար, որը ցանկանում եք գրանցել: Կանչեք այս պրոցեդուրան մի քանի անգամ՝ հետագծի ամբողջական կոնֆիգուրացիաներ կառուցելու համար:

Կարգավորեք ֆիլտրերը sp_trace_setfilter պրոցեդուրայով: Նշեք հետագծի ID-ն, սյունակի ID-ն, տրամաբանական օպերատորը, համեմատության օպերատորը և ֆիլտրի արժեքը: Բազմակի ֆիլտրի կանչերը միավորվում են՝ բարդ ֆիլտրի չափանիշներ ստեղծելու համար:

Սկսեք հետքը՝ կանչելով sp_trace_setstatus-ը 1 կարգավիճակի արժեքով։ Դադարեցրեք հետքերը՝ կանչելով նույն պրոցեդուրան 0 կարգավիճակի արժեքով։ Ջնջեք հետքի սահմանումները՝ կանչելով 2 կարգավիճակի արժեքով։

8.1.2 Սերվերի կողմից հետքերի առավելությունները

Հաճախորդի կողմից կատարվող ծախսերի կրճատումը սերվերի կողմից իրականացվող հետագծումները դարձնում է իդեալական արտադրության մոնիթորինգի համար: Տվյալների բազայի սերվերը կատարում է բոլոր հետագծման գործողությունները՝ առանց հաճախորդի մեքենայի ռեսուրսները սպառելու: Ցանցի թողունակությունը չի սպառվում իրադարձությունները հաճախորդի ծրագրին փոխանցելու համար:

Ավտոմատացված կատարումը հնարավորություն է տալիս հավաքել աննկատ հետքեր։ Սերվերի կողմից հետքերը շարունակում են աշխատել ստեղծումից հետո, նույնիսկ եթե հաճախորդի հետ կապ չկա։ Հետքերի ստեղծումը պլանավորեք հետևյալ կերպ։ SQL Server Գործակալի աշխատանքներ ավտոմատացված մոնիթորինգի համար։

Սերվերի կողմից մշակումը ցածր արդյունավետության վրա է ազդում։ Իրադարձությունները գրվում են անմիջապես սկավառակի վրա՝ առանց լրացուցիչ սերիականացման կամ ցանցային փոխանցման։ Բուֆերի կառավարումը օպտիմալացնում է սկավառակի մուտքը/ելքը՝ ընդհանուր արդյունավետությունն ավելի լավ դարձնելու համար։

8.2 Հետքի վերարտադրման ֆունկցիոնալություն

8.2.1 Հետքերի գրանցում վերարտադրման համար

Ստեղծեք վերարտադրման համար պատրաստ հետքեր՝ հետևելով այս քայլերին.

  1. Ստեղծեք նոր հետք՝ օգտագործելով TSQL_Replay շաբլոն
  2. Ստուգեք, որ ընտրված են բոլոր անհրաժեշտ իրադարձությունները և սյուները։
  3. Կարգավորեք հետքը ֆայլում պահպանելու համար։
  4. Գործարկեք հետագիծը այն աշխատանքային ծանրաբեռնվածության ժամանակահատվածում, որը ցանկանում եք գրանցել։
  5. Դադարեցրեք հետքը և պահպանեք ֆայլը։

Պահանջվող իրադարձություններն ու սյուները ապահովում են հետագծի ամբողջական վերարտադրությունը: TSQL_Replay ձևանմուշը ներառում է բոլոր անհրաժեշտ իրադարձությունների տեսակները և տվյալների սյուները: Պահանջվող տարրերի բացակայությունը կանխում է վերարտադրության հաջող ընթացքը, ուստի վերարտադրության նպատակով նկարահանելիս միշտ օգտագործեք այս ձևանմուշը:

8.2.2 Հետքերի վերարտադրում

Վերարտադրեք գրանցված աշխատանքային բեռները՝ օգտագործելով այս քայլերը.

  1. In SQL Server Պրոֆիլեր, սեղմեք Ֆայլ -> բաց -> Հետևման ֆայլ.
  2. Ընտրեք վերարտադրման համար պատրաստ հետագծի ֆայլը։
  3. Սեղմել Կրկնել -> սկիզբ.
  4. Միացեք թիրախային սերվերին վերարտադրման երկխոսության պատուհանում։
  5. Կարգավորեք վերարտադրության տարբերակները, ներառյալ վերարտադրության կարգը և ժամանակը։
  6. Սեղմել OK վերարտադրությունը սկսելու համար։
  7. Հետևեք վերարտադրման ընթացքին կարգավիճակի պատուհանում։

Վերարտադրման կարգավորման տարբերակները կարգավորում են, թե ինչպես SQL Server Profiler-ը վերարտադրում է գրանցված աշխատանքային ծանրաբեռնվածությունը: Վերարտադրեք իրադարձությունները այն հերթականությամբ, որով դրանք գրանցվել են՝ ժամանակային կապերը պահպանելու համար: Կարգավորեք՝ պահպանել սկզբնական ժամանակագրությունը, թե՞ հնարավորինս արագ վերարտադրել իրադարձությունները:

8.2.3 Հետագծի կրկնության օգտագործման դեպքեր

Բեռի թեստավորումը օգտվում է հետքերի վերարտադրությունից՝ վերարտադրելով իրատեսական աշխատանքային բեռներ: Գրանցեք արտադրական աշխատանքային բեռների հետքերը և վերարտադրեք դրանք փորձարկման համակարգերի համեմատ՝ իրական օգտագործման օրինաչափությունների դեպքում կատարողականությունը ստուգելու համար: Կարգավորեք զուգահեռականության կարգավորումները՝ տարբեր բեռնվածության մակարդակներ մոդելավորելու համար:

Միջավայրի միգրացիայի վավերացումը ապահովում է, որ նոր համակարգերը կարողանան կառավարել առկա աշխատանքային բեռները: Գրանցեք ընթացիկ արտադրական համակարգերից ստացված հետքերը և վերարտադրեք դրանք նոր կամ թարմացված սարքավորումների վրա: SQL Server տարբերակները։ Համեմատեք կատարողականության չափանիշները՝ ստուգելու համար, որ տեղափոխությունները չեն վատթարացնի կատարողականությունը։

Փորձարկման սցենարները ներառում են կոդի փոփոխություններից հետո ռեգրեսիոն թեստավորում, օպտիմիզատորի փոփոխությունների վավերացում SQL Server տարբերակները և սթրեսի թեստավորման սարքավորումների կոնֆիգուրացիաները: Replay-ը ապահովում է հետևողական, կրկնվող աշխատանքային բեռներ՝ հուսալի թեստավորման համար:

8.3 SQL Profiler-ի ինտեգրումը տվյալների բազայի շարժիչի կարգավորման խորհրդատուի հետ

Ստեղծեք աշխատանքային բեռների ֆայլեր տվյալների բազայի շարժիչի կարգավորման խորհրդատուի համար՝ համապատասխան իրադարձություններով հետքեր գրանցելով: Օգտագործեք կարգավորման ձևանմուշը՝ վերլուծության համար անհրաժեշտ բոլոր տեղեկությունները գրանցելու համար:

Գործարկեք Database Engine Tuning Advisor-ը և ընտրեք ձեր հետագծման ֆայլը որպես աշխատանքային բեռնվածության աղբյուր: Advisor-ը վերլուծում է գրանցված հարցումները և առաջարկում է ինդեքսներ, ինդեքսավորված տեսքեր կամ բաժանման ռազմավարություններ, որոնք կբարելավեն արդյունավետությունը:

Արդյունավետության օպտիմալացման աշխատանքային հոսքը ինտեգրում է հետքերի գրանցումը կարգավորման վերլուծության հետ: Գրանցեք ներկայացուցչական աշխատանքային բեռները սովորական գործունեության ընթացքում, վերլուծեք Tuning Advisor-ի միջոցով, վերանայեք առաջարկությունները, փորձարկեք մշակման առաջարկվող փոփոխությունները և վերջապես ներդնեք հաստատված փոփոխությունները արտադրության մեջ:

8.4 Հետքերի հավաքագրման ավտոմատացում

Ժամանակացույցի միջոցով հետագծերի ժամանակացույց SQL Server Գործակալի աշխատանքներ՝ տվյալներն ավտոմատ կերպով հավաքելու համար: Ստեղծեք T-SQL սկրիպտներ, որոնք սահմանում են սերվերի կողմից հետագծեր՝ օգտագործելով sp_trace ընթացակարգերը: Պլանավորեք այս սկրիպտները որոշակի ժամանակներում կամ ընդմիջումներով գործարկելու համար:

PowerShell ավտոմատացումը հնարավորություն է տալիս ստեղծել բարդ հետքերի կառավարման սցենարներ: Գրեք PowerShell սկրիպտներ, որոնք ստեղծում են հետքեր, վերահսկում են դրանց կարգավիճակը և մշակում են հավաքված տվյալները: Պլանավորեք PowerShell սկրիպտները առաջադրանքների ժամանակացույցի կամ SQL Server Գործակալ:

SQL Server Գործակալի աշխատանքները ապահովում են հուսալի ժամանակացույցով կատարում: Ստեղծեք աշխատանքներ, որոնք սկսում են հետագծումը մոնիթորինգի ժամանակահատվածների սկզբում և դադարեցնում են հետագծումը տվյալների հավաքագրման ավարտից հետո: Կարգավորեք աշխատանքների ծանուցումները՝ ադմինիստրատորներին տեղեկացնելու ձախողումների մասին:

8.5 Հետքերի ծրագրային վերլուծություն

Կարդացեք հետագծման ֆայլերը T-SQL-ով՝ օգտագործելով fn_trace_gettable ֆունկցիան: Այս աղյուսակային արժեքներով ֆունկցիան վերլուծում է հետագծման ֆայլերը և վերադարձնում է իրադարձությունների տվյալները որպես արդյունքների հավաքածու: Հարցում ուղարկեք այս տվյալներին՝ օգտագործելով ստանդարտ T-SQL՝ հատուկ վերլուծություն կատարելու համար:

Հատուկ վերլուծության սկրիպտները հնարավորություն են տալիս ավտոմատացնել հետքերի մշակումը: Գրեք հարցումներ, որոնք հաշվարկում են ամփոփ վիճակագրությունը, նույնականացնում օրինաչափությունները կամ նշում անոմալիաները: Պլանավորեք այս սկրիպտները ավտոմատ կերպով գործարկել հետքերի հավաքագրման ավարտից հետո:

Ստեղծեք հաշվետվություններ՝ հարցումներ կատարելով աղյուսակներում պահված հետագծման տվյալների վերաբերյալ: Ստեղծեք դիտումներ, որոնք ամփոփում են իրադարձությունները ըստ ժամանակահատվածի, օգտատիրոջ կամ ծրագրի: Ստեղծեք հաշվետվությունների լուծումներ, որոնք կանոնավոր կերպով տեղեկատվություն են տրամադրում տվյալների բազայի գործունեության և արդյունավետության վերաբերյալ:

9. SQL Server Պրոֆայլերի լավագույն փորձը

9.1 Արդյունավետության լավագույն փորձը

9.1.1 Հետևողական ծախսերի նվազագույնի հասցնելը

Ընտրեք միայն անհրաժեշտ իրադարձությունները՝ հետագծման ծանրաբեռնվածությունը նվազեցնելու համար: Յուրաքանչյուր լրացուցիչ իրադարձության տեսակ մեծացնում է հետագծման շարժիչի կողմից մշակվող տվյալների քանակը: Վերանայեք ձեր մոնիթորինգի նպատակները և ներառեք միայն այդ նպատակներին անմիջականորեն վերաբերող իրադարձությունները:

Արդյունավետորեն օգտագործեք ֆիլտրերը՝ անտեղի տվյալների գրանցումը կանխելու համար: Ֆիլտրեք ըստ տվյալների բազայի անվան՝ համակարգի տվյալների բազաները բացառելու համար: Ֆիլտրեք ըստ տևողության՝ միայն դանդաղ հարցումները գրանցելու համար: Ֆիլտրեք ըստ հավելվածի անվան՝ որոշակի ծրագրերի վրա կենտրոնանալու համար: Ճիշտ ֆիլտրացումը զգալիորեն նվազեցնում է հետագծման ծանրաբեռնվածությունը:

Սերվերի և հաճախորդի կողմից նկատառումները ազդում են արտադրողականության վրա: Սերվերի կողմից իրականացվող հետքերը տվյալները գրում են անմիջապես սկավառակի վրա՝ նվազագույն ծանրաբեռնվածությամբ: Հաճախորդի կողմից իրականացվող հետքերը իրադարձությունները ցանցի միջոցով փոխանցում են Profiler ինտերֆեյսին՝ ավելացնելով լատենտությունը և թողունակության սպառումը: Արտադրության մոնիթորինգի համար օգտագործեք սերվերի կողմից իրականացվող հետքերը:

9.1.2 Հետքերի պահպանման օպտիմալացում

Ֆայլի չափի կառավարումը կանխում է սկավառակի տարածքի սպառումը: Սահմանեք ֆայլի առավելագույն չափի սահմանաչափեր՝ համապատասխան առկա պահեստին: Միացրեք ֆայլերի տեղափոխումը՝ մի քանի ֆայլ ստեղծելու համար, մեկ ֆայլը անորոշ ժամանակով մեծացնելու փոխարեն: Հետևեք սկավառակի տարածքին հետագծման կատարման ընթացքում:

Աղյուսակների և ֆայլերի պահեստավորումը ենթադրում է տարբեր կատարողականի փոխզիջումներ: Ֆայլերի պահեստավորումն ապահովում է ավելի լավ կատարողականություն հետագծման կատարման ժամանակ, քանի որ այն շրջանցում է պահեստավորման շարժիչը: Աղյուսակների պահեստավորումը հնարավորություն է տալիս T-SQL հարցումներ կատարել հետագծման տվյալների նկատմամբ, բայց ավելացնում է գրելու ծանրաբեռնվածություն: Ընտրեք պահեստավորման տեսակը՝ հիմնվելով ձեր վերլուծության պահանջների վրա:

9.2 Անվտանգության լավագույն փորձը

Թույլտվությունների կառավարումը վերահսկում է, թե ով կարող է ստեղծել և գործարկել հետքեր: ALTER TRACE թույլտվություն տրամադրեք միայն վստահելի օգտատերերին, ովքեր հետքերի հնարավորությունների կարիք ունեն: Համակարգի ադմինիստրատորի դերի անդամներն ունեն անսահմանափակ հետքերի մուտք: Պարբերաբար վերանայեք և աուդիտեք հետքերի թույլտվությունները:

Զգայուն տվյալների պաշտպանությունը պահանջում է զգույշ հետագծման կարգավորում: Զգայուն տվյալների հետ աշխատելիս խուսափեք հարցման ամբողջական տեքստը գրանցելուց: Դիտարկեք գաղտնի տեղեկատվություն պարունակող հետագծման արդյունքի ֆիլտրումը կամ կոդավորումը: Հետագծման ֆայլերը պահեք անվտանգ վայրերում՝ համապատասխան մուտքի վերահսկիչներով:

Հետևողական ֆայլերի անվտանգությունը կանխում է գրանցված տվյալներին չարտոնված մուտքը: Սահմանեք ֆայլերի թույլտվություններ՝ հետևողական ֆայլերին մուտքը սահմանափակելու համար: Գաղտնագրեք հետևողական ֆայլերը, եթե դրանք պարունակում են զգայուն տեղեկատվություն: Ջնջեք հետևողական ֆայլերը վերլուծության ավարտից հետո՝ ազդեցության ռիսկը նվազագույնի հասցնելու համար:

9.3 Արտադրական միջավայրի նկատառումներ

9.3.1 Ե՞րբ օգտագործել Profiler-ը արտադրության մեջ

Ռիսկի գնահատումը որոշում է, թե երբ SQL Server Profiler-ը հարմար է արտադրական օգտագործման համար: Profiler-ը ներմուծում է չափելի վերադիր ծախսեր, որոնք աճում են հետևման շրջանակի հետ մեկտեղ: Արտադրական հետևումները գործարկելուց առաջ գնահատեք, թե արդյոք ախտորոշիչ արժեքը արդարացնում է արդյունավետության վրա ազդեցությունը:

Նվազագույն ազդեցության կարգավորումները հնարավորություն են տալիս ավելի անվտանգ հետևողականություն ապահովել արտադրության վրա: Օգտագործեք բարձր ընտրողականության ֆիլտրեր՝ միայն կարևորագույն իրադարձությունները գրանցելու համար: Սահմանեք տևողության շեմեր՝ արագ կատարվող հարցումները անտեսելու համար: Սահմանափակեք հետևողականության տևողությունը կարճ ժամանակահատվածներով՝ խնդիրների լուծման նիստերի ընթացքում: Կարգավորեք սերվերի կողմից հետևողականությունները՝ հաճախորդի ծանրաբեռնվածությունը նվազեցնելու համար:

9.3.2 Արտադրության մոնիթորինգի այլընտրանքներ

Ընդլայնված միջոցառումները ապահովում են արտադրության մոնիթորինգի ավելի ցածր ծախսային ծախսեր: Այս ժամանակակից տեխնոլոգիան առաջարկում է ավելի լավ արդյունավետություն և ճկունություն, քան SQL Server Profiler: Մոնիթորինգի լուծումները տեղափոխեք Extended Events՝ երկարաժամկետ արտադրական օգտագործման համար:

Query Store-ը ավտոմատ կերպով գրանցում է հարցումների կատարողականության տվյալները՝ առանց ձեռքով հետևման կարգավորման: Միացրեք Query Store-ը արտադրական տվյալների բազաներում՝ հարցումների կատարման վիճակագրությունը ժամանակի ընթացքում հետևելու համար: Query Store-ը ապահովում է կատարողականության մոնիթորինգի հնարավորությունների մեծ մասը՝ առանց հետևման ավելորդ ծախսերի:

Դինամիկ կառավարման տեսարանները ապահովում են թեթև մոնիթորինգ որոշակի սցենարների համար: DMV-ները տրամադրում են ընթացիկ վիճակի մասին տեղեկատվություն՝ առանց պատմական իրադարձությունները գրանցելու: Պարբերաբար հարցումներ ուղարկեք DMV-ներին՝ սերվերի վիճակը վերահսկելու համար՝ առանց շարունակական հետևման ծախսերի:

9.4 Հետքերի կառավարման լավագույն փորձը

Անվանակոչման կոնվենցիաները ապահովում են հետագծման ֆայլերի նույնականացումը և կազմակերպվածությունը: Հետագծման ֆայլերի անվանումներում ներառեք ամսաթիվը, ժամը, սերվերի անունը և նպատակը: Օգտագործեք անվանակոչման հետևողական ձևանմուշներ բոլոր հետագծումների համար՝ կառավարումն ու վերլուծությունը հեշտացնելու համար:

Փաստաթղթավորումը գրանցում է հետագծի կազմաձևումը և նպատակը: Փաստաթղթավորեք, թե ինչ իրադարձություններ եք գրանցել, ինչու եք ստեղծել հետագիծը և ինչ եք սովորել վերլուծությունից: Պահպանեք արտադրական համակարգերի հետ կատարված հետագծերի գրանցամատյան՝ համապատասխանության և խնդիրների լուծման նպատակով:

Պահպանման քաղաքականությունը կանխում է հետագծման ֆայլերի չափազանց կուտակումը: Սահմանեք, թե որքան ժամանակ պետք է պահպանվեն հետագծման ֆայլերը՝ հիմնվելով բիզնեսի պահանջների և պահեստավորման ծավալի վրա: Ավտոմատացրեք հին հետագծման ֆայլերի ջնջումը՝ սկավառակի վրա տարածք ազատելու համար: Արխիվացրեք կարևոր հետքերը երկարաժամկետ պահեստում ջնջելուց առաջ:

9.5 սովորական սխալներ, որոնցից պետք է խուսափել

Չափից շատ հետագծումը առաջացնում է չափազանց մեծ արդյունավետության ծանրաբեռնվածություն և անկառավարելի տվյալների ծավալներ։ Խուսափեք բոլոր իրադարձությունները առանց ֆիլտրերի գրանցելուց։ Սկսեք նեղ, կենտրոնացված հետագծումներից և ընդլայնեք շրջանակը միայն անհրաժեշտության դեպքում։ Ավելի շատ տվյալներ միշտ չէ, որ ավելի լավ են խնդիրների արդյունավետ լուծման համար։

Հետևումները դադարեցնելու մասին մոռանալը վատնում է ռեսուրսները և լցնում սկավառակի տարածքը: Միշտ դադարեցրեք հետքերը, երբ մոնիթորինգն ավարտված է: Սահմանեք հետքերի տևողության սահմանափակումներ կամ ֆայլերի առավելագույն չափսեր՝ խուսափելու համար անգործուն հետքերից: Պարբերաբար վերահսկեք գործող հետքերը և դադարեցրեք ոչ ակտիվ կամ ավելորդ հետքերը:

Ֆիլտրի օպտիմալացման անտեսումը հանգեցնում է վատ աշխատանքի և դժվար վերլուծության: Ժամանակ ներդրեք արդյունավետ ֆիլտրերը կարգավորելու վրա՝ նախքան հետագծումը սկսելը: Փորձարկեք ֆիլտրերը մշակման միջավայրերում՝ ստուգելու համար, որ դրանք գրանցում են սպասվող տվյալները: Վերանայեք և կատարելագործեք ֆիլտրերը՝ հիմնվելով գրանցված արդյունքների վրա:

10. Այլընտրանքներ SQL Server Պրոֆիլյատոր 2025 թվականին

10.1 Երկարաձգված իրադարձություններ. Ժամանակակից փոխարինում

10.1.1 Ի՞նչ են ընդլայնված իրադարձությունները

Ընդլայնված միջոցառումները ներկայացնում են SQL Serverժամանակակից միջոցառումների մշակման ճարտարապետությունը։ Microsoft-ը նախագծել է այս համակարգը հատուկ՝ լուծելու համար SQL Server Profiler-ի սահմանափակումները, այդ թվում՝ կատարողականի վրա ծախսված գումարը և կարգավորման ճկունությունը: Extended Events-ը ապահովում է համապարփակ մոնիթորինգի հնարավորություններ՝ զգալիորեն ցածր ռեսուրսների սպառմամբ:

Ճարտարապետությունն ու առավելությունները տարբերակում են ընդլայնված իրադարձությունները հին հետևողական տեխնոլոգիաներից: Իրադարձությունների շարժիչը խորապես ինտեգրվում է SQL Server-ի հիմնական ճարտարապետությունը, որը գրանցում է իրադարձությունները նվազագույն ծախսերով: Ասինխրոն իրադարձությունների բուֆերացումը կանխում է մոնիթորինգի կողմից տվյալների բազայի գործողությունների խափանումը: Ճկուն թիրախավորման տարբերակները հնարավորություն են տալիս բազմազան ելքային կոնֆիգուրացիաներ:

Արդյունավետության առավելությունները Extended Events-ը դարձնում են իդեալական արտադրության մոնիթորինգի համար: Չափանիշները ցույց են տալիս, որ Extended Events-ը 50-90%-ով պակաս վերադիր ծախսեր է առաջացնում, քան համարժեքը: SQL Server Պրոֆիլերի հետքեր։ Ճարտարապետությունն ավելի լավ է մասշտաբավորվում բարձր իրադարձությունների ծավալի դեպքում և աջակցում է ավելի շատ միաժամանակյա մոնիթորինգի սեսիաներ։

10.1.2 Profiler-ից անցում դեպի Extended Events

Իրադարձությունների քարտեզագրումը թարգմանում է SQL Server Profiler-ի իրադարձությունները ընդլայնված իրադարձությունների համարժեքների վերածելը: Profiler-ի իրադարձությունների մեծ մասն ունի համապատասխան ընդլայնված իրադարձությունների համարժեքներ: Microsoft-ը տրամադրում է փաստաթղթեր, որոնք քարտեզագրում են երկու համակարգերի միջև ընդհանուր իրադարձությունները:

Extended Events-ում սեսիաների ստեղծումը պահանջում է նոր շարահյուսություն և հասկացություններ սովորել: Սահմանեք իրադարձությունների սեսիաները՝ օգտագործելով T-SQL CREATE EVENT SESSION հրամանները կամ Management Studio-ի Extended Events գրաֆիկական ինտերֆեյսը: Սեսիաները նշում են, թե որ իրադարձությունները պետք է գրանցվեն, ինչ տվյալներ պետք է հավաքագրվեն և որտեղ պետք է պահպանվեն արդյունքները:

10.1.3 Ընդլայնված միջոցառումների գործիքներ և ինտերֆեյսներ

SSMS Extended Events UI-ը ապահովում է գրաֆիկական սեսիաների կառավարում: Մուտք գործեք Extended Events-ին Object Explorer-ի Management թղթապանակի միջոցով: Ստեղծեք, փոփոխեք և վերահսկեք իրադարձությունների սեսիաները ինտերֆեյսի միջոցով: Դիտեք գրանցված տվյալները գրաֆիկական ձևաչափերով, ներառյալ ցանցերը և գծապատկերները:

T-SQL սեսիաների կառավարումը հնարավորություն է տալիս ծրագրային կերպով կառավարել Extended Events-ը: Գրեք CREATE EVENT SESSION հրամաններ՝ կոդում սեսիաները սահմանելու համար: Օգտագործեք ALTER EVENT SESSION-ը՝ գործող սեսիաները փոփոխելու համար: Հեռացրեք սեսիաները DROP EVENT SESSION-ի միջոցով: Այս մոտեցումը հեշտացնում է ավտոմատացված մոնիթորինգի լուծումները:

10.2 SQL Server Հարցումների խանութ

Query Store-ը ավտոմատ կերպով գրանցում է հարցումների կատարողականության տվյալները այն տվյալների բազաների համար, որտեղ այն միացված է: Այս գործառույթը հետևում է հարցումների պլաններին, կատարման վիճակագրությանը և կատարողականության չափանիշներին ժամանակի ընթացքում՝ առանց ձեռքով հետևման կարգավորման: Query Store-ը պահպանում է պատմական տվյալները, որոնք հնարավորություն են տալիս վերլուծել միտումները և հայտնաբերել ռեգրեսիան:

Հարցումների խանութի միջոցով իրական ժամանակում հարցումների կատարողականի մոնիթորինգը բացահայտում է համակարգի ընթացիկ վարքագիծը: Դիտեք վերջերս կատարված հարցումները, դրանց կատարման պլանները և ռեսուրսների սպառումը: Նույնականացրեք այն հարցումները, որոնց տևողությունը մեծանում է կամ փոփոխվող կատարման պլանները կարող են խնդիրներ վկայել:

Պատմական հարցումների վերլուծությունը հնարավորություն է տալիս համեմատել ժամանակահատվածները: Հարցումների խանութը պահպանում է կատարողականի տվյալները կարգավորելի պահպանման ժամանակահատվածների համար: Համեմատեք ընթացիկ կատարողականը պատմական բազային ցուցանիշների հետ՝ ռեգրեսիաները բացահայտելու համար: Վերլուծեք կատարողականի միտումները՝ ապագա հզորությունների կարիքները կանխատեսելու համար:

Օգտագործեք Query Store-ը, երբ ձեզ անհրաժեշտ է ավտոմատ, միշտ միացված կատարողականի մոնիթորինգ: Միացրեք Query Store-ը արտադրական տվյալների բազաներում՝ հարցումների վարքագիծը անընդհատ հետևելու համար: Query Store-ը լրացնում է հետագծման վրա հիմնված խնդիրների լուծումը՝ ապահովելով կատարողականի խնդիրների պատմական համատեքստ:

10.3 Դինամիկ կառավարման տեսարաններ (DMV)

DMV-ների միջոցով թեթև մոնիթորինգը տրամադրում է ընթացիկ վիճակի մասին տեղեկատվություն՝ առանց պատմական իրադարձությունները գրանցելու։ DMV-ները բացահայտում են ներքին SQL Server վիճակագրություն և մետատվյալներ հարցվող դիտումների միջոցով: Հարցումներ կատարեք DMV-ներում՝ օգտագործելով ստանդարտ T-SQL SELECT հրամանները:

Արդյունավետության մոնիթորինգի համար DMV-ի տարածված հարցումներից են sys.dm_exec_query_stats-ը՝ հարցումների արդյունավետության վիճակագրության համար, sys.dm_exec_requests-ը՝ ներկայումս կատարվող հարցումների համար, և sys.dm_os_wait_stats-ը՝ սպասման վիճակագրության համար: Այս դիտումները տրամադրում են ժամանակային պատկերացում սերվերի վիճակի և ակտիվության մասին:

DMV-ները լրացնում են հետքի վրա հիմնված մոնիթորինգը՝ տրամադրելով իրական ժամանակի չափանիշներ: Օգտագործեք DMV-ները արագ առողջության ստուգման և ընթացիկ վիճակի վերլուծության համար: Միավորեք DMV հարցումները հետքի տվյալների հետ՝ խնդիրների լուծման համապարփակ մոտեցումներ ստանալու համար:

10.4 Երրորդ կողմի մոնիթորինգի գործիքներ

Առևտրային այլընտրանքները առաջարկում են բարելավված մոնիթորինգի հնարավորություններ՝ SQL Server-ի ներկառուցված գործիքները: SolarWinds-ի, Redgate-ի և Quest-ի նման մատակարարների արտադրանքը ապահովում է համապարփակ մոնիթորինգի, ահազանգման և վերլուծության հնարավորություններ: Այս գործիքները հաճախ համատեղում են բազմաթիվ տվյալների աղբյուրներ, ներառյալ հետագծերը, DMV-ները և կատարողականության հաշվիչները:

Հատկանիշների համեմատությունը բացահայտում է տարբեր մոնիթորինգի մոտեցումների ուժեղ կողմերը: Երրորդ կողմի գործիքները ապահովում են գերազանց օգտագործողի ինտերֆեյսներ, ավտոմատացված ահազանգեր և պատմական միտումների հաշվառում: SQL Server-ի ներկառուցված գործիքները առաջարկում են զրոյական լրացուցիչ ծախսեր և ավելի խորը ինտեգրում: Գնահատեք գործիքները՝ հիմնվելով ձեր կոնկրետ պահանջների և բյուջեի վրա:

10.5 Ձեր կարիքներին համապատասխանող ճիշտ գործիքի ընտրություն

Որոշումների մատրիցը օգնում է ընտրել համապատասխան մոնիթորինգի գործիքներ: Ad hoc խնդիրների լուծման համար՝ SQL Server Profiler-ը մնում է մատչելի և արդյունավետ: Արտադրության մոնիթորինգի համար Extended Events-ը կամ Query Store-ը ապահովում են ավելի լավ արդյունավետություն: Ձեռնարկության համապարփակ մոնիթորինգի համար երրորդ կողմի լուծումներն առաջարկում են ամենաշատ հնարավորությունները:

Գործիքների ընտրության չափանիշներից են՝ կատարողականի վրա ծախսվող գումարը, օգտագործման հեշտությունը, տվյալների պահպանման պահանջները և բյուջեի սահմանափակումները: Գործիքներ ընտրելիս հաշվի առեք ձեր թիմի փորձը: Ծանոթ գործիքները հնարավորություն են տալիս ավելի արագ լուծել խնդիրները, նույնիսկ եթե նոր այլընտրանքներն առաջարկում են ավելի լավ հնարավորություններ:

Համապարփակ մոնիթորինգի ռազմավարությունների համար համատեղեք բազմաթիվ գործիքներ: Օգտագործեք Query Store-ը՝ շարունակական կատարողականի հետևման համար, Extended Events-ը՝ կոնկրետ խնդիրների հետաքննության համար, և DMV-ներ՝ իրական ժամանակում առողջության ստուգումների համար: Այս շերտավորված մոտեցումը ապահովում է հուսալի մոնիթորինգ՝ առանց ավելորդ ծախսերի:

11: Անսարքություն SQL Server Պրոֆիլերի խնդիրներ

11.1 Հաճախակի միացման խնդիրներ

Նույնականացման ձախողումները կանխում են SQL Server Պրոֆայլերը չի կարողանում միանալ թիրախային սերվերներին։ Ստուգեք, որ ընտրված նույնականացման մեթոդի համար ճիշտ մուտքագրումներ եք օգտագործում։ Windows-ի նույնականացումը պահանջում է, որ ձեր Windows հաշիվն ունենա համապատասխան տվյալներ։ SQL Server թույլտվությունները: SQL Server Նույնականացումը պահանջում է վավեր SQL մուտքի տվյալներ։

Ցանցային կապի խնդիրները դրսևորվում են որպես ժամանակի սպառման սխալներ կամ կապի խափանումներ: Ստուգեք SQL Server թույլ է տալիս հեռակա միացումներ իր կոնֆիգուրացիայում: Ստուգեք firewall-ի կարգավորումները, որոնք թույլ են տալիս երթևեկությունը SQL Server's պորտը։ Profiler-ի հետ կապված խնդիրները լուծելուց առաջ ստուգեք հիմնական կապը ping և telnet միջոցով։

11.2 Profiler-ի կատարողականության խնդիրներ

Հետևման դանդաղ կատարումը ցույց է տալիս հետևման կարգավորման չափազանց ծանրաբեռնվածությունը: Վերանայեք ընտրված իրադարձությունները և վերացրեք ավելորդները: Ավելացրեք ֆիլտրեր՝ գրանցված իրադարձությունների ծավալը նվազեցնելու համար: Խորհուրդ է տրվում օգտագործել սերվերի կողմից հետքեր՝ հաճախորդի կողմից մշակման բեռը նվազեցնելու համար:

Բարձր ռեսուրսների սպառումը ազդում է երկուսի վրա էլ SQL Server և Profiler հաճախորդը: Հետևեք սերվերի CPU-ին և հիշողությանը հետագծման կատարման ընթացքում: Եթե սերվերի ռեսուրսները սահմանափակ են, մեծացրեք ֆիլտրի ընտրողականությունը կամ կրճատեք գրանցման տևողությունը: Հաճախորդի ռեսուրսների հետ կապված խնդիրները պահանջում են այլ ծրագրերի փակում կամ հաճախորդի սարքավորումների թարմացում:

11.3 Հետևման ֆայլի և աղյուսակի հետ կապված խնդիրներ

Վնասված հետագծման ֆայլերը կանխում են բացումը SQL Server Պրոֆիլեր։ Վնասվածքը սովորաբար առաջանում է անորակ հետքի դադարեցման կամ սկավառակի սխալների պատճառով։ Փորձեք ֆայլը բացել տեքստային խմբագրիչով՝ համոզվելու համար, որ այն ամբողջությամբ վնասված չէ։ Երբեմն մասնակի տվյալները կարելի է վերականգնել՝ fn_trace_gettable-ի միջոցով աղյուսակ ներմուծելով։

Աղյուսակին մուտք գործելու խնդիրներ են առաջանում, երբ փորձում եք բեռնել հետքերը SQL Server աղյուսակներ։ Ստուգեք, որ ունեք SELECT թույլտվություն հետագծման աղյուսակի վրա։ Ստուգեք, որ աղյուսակը չի հեռացվել կամ վերանվանվել։ Համոզվեք, որ միանում եք հետագծման աղյուսակը պարունակող ճիշտ սերվերին և տվյալների բազային։

11.4 Բացակայող իրադարձություններ կամ թերի տվյալներ

Ֆիլտրի սխալ կարգավորումը հանգեցնում է նրան, որ հետագծերը բաց են թողնում սպասվող իրադարձությունները: Ուշադիր վերանայեք ֆիլտրի չափանիշները՝ համոզվելու համար, որ դրանք չեն բացառում ցանկալի իրադարձությունները: Ստուգեք ֆիլտրերը՝ կարճ հետագծեր գործարկելով և ստուգելով, որ գրանցված տվյալները համապատասխանում են սպասվողին: Ժամանակավորապես հեռացրեք ֆիլտրերը՝ պարզելու համար, թե արդյոք դրանք են խնդիրը առաջացնում:

Բուֆերային արտահոսքը տեղի է ունենում, երբ SQL Server Հնարավոր չէ բավականաչափ արագ գրել հետագծման տվյալները՝ իրադարձությունների առաջացմանը համընթաց լինելու համար: Սա սովորաբար տեղի է ունենում չֆիլտրված հետագծումների դեպքում՝ բարձր ակտիվության դեպքում: Ախտանիշներից են բացակայող իրադարձությունները կամ «Իրադարձությունները չեն գրանցվել» նախազգուշացումները: Լուծեք՝ ավելացնելով ֆիլտրեր՝ իրադարձությունների ծավալը նվազեցնելու կամ հետագծման ֆայլի գտնվելու վայրի սկավառակի մուտքի/ելքի արտադրողականությունը բարձրացնելու համար:

11.5 Պրոֆիլերի խափանումներ և սխալներ

Հաճախակի սխալի հաղորդագրություններից են՝ «Հնարավոր չէ ստեղծել հետք» հաղորդագրությունը, որը ցույց է տալիս թույլտվության խնդիրներ կամ ռեսուրսների սահմանափակումներ: «Հետքը դադարեցվել է» հաղորդագրությունը ենթադրում է սերվերի կողմից հետքի ձախողումներ, հնարավոր է՝ սկավառակի լիության պատճառով: «Հետքի անվավեր սահմանում» սխալը ցույց է տալիս կարգավորման խնդիրներ:

Լուծման ռազմավարությունները կախված են կոնկրետ սխալից: Թույլտվության սխալները պահանջում են օգտատիրոջը ALTER TRACE թույլտվություն տրամադրել: Ռեսուրսների սխալները պահանջում են ազատ սկավառակի տարածք կամ հիշողություն: Կարգավորման սխալները պահանջում են հետագծման կարգավորումների վերանայում և ուղղում: Վերագործարկեք: SQL Server Profiler-ը, եթե այն դադարի արձագանքել։

12. Գործնական SQL Server Պրոֆիլերի սցենարներ և օրինակներ

12.1 Սցենար 1. Ձեր տվյալների բազայում ամենադանդաղ հարցումների նույնականացումը

Այս ուղեցույցը ցույց է տալիս դանդաղ հարցումների գրանցումը և վերլուծությունը։

Կարգավորեք հետագիծը հետևյալ քայլերով.

  1. Launch SQL Server Profiler-ը և միացեք ձեր թիրախային սերվերին։
  2. Սեղմել Ֆայլ -> Նոր հետք.
  3. Մուտքագրեք «Դանդաղ հարցման վերլուծություն» դաշտում Հետագծի անվանումը դաշտը.
  4. ընտրել TSQL - ից Օգտագործեք ձևանմուշը dropdown:
  5. Սեղմել Միջոցառումների ընտրություն էջանիշը.
  6. Սեղմել Սյունակային ֆիլտրեր.
  7. ընտրել Տևողություն և մուտքագրեք 1000000 Ավելի մեծ կամ հավասար.
  8. ընտրել Տվյալների բազայի անունը և մուտքագրեք ձեր տվյալների բազայի անունը նման.
  9. Սեղմել OK ֆիլտրերը փակելու համար։
  10. Թույլատրել Պահպանել ֆայլում և նշեք ֆայլի ուղին։
  11. Սեղմել Վազում նկարահանումը սկսելու համար։

Գործարկեք հետագծումը գագաթնակետային աշխատանքային ժամերին առնվազն 30 րոպե՝ ներկայացուցչական աշխատանքային ծանրաբեռնվածությունը գրանցելու համար: Դադարեցրեք հետագծումը բավարար տվյալներ հավաքելուց հետո:

Վերլուծեք այս գործընթացից հետո ստացված արդյունքները.

  1. Սեղմեք է Տևողություն սյունակի վերնագիր՝ կատարման ժամանակով տեսակավորելու համար։
  2. Նշեք 10 ամենաերկարատև հարցումները։
  3. Յուրաքանչյուր հարցման համար ուսումնասիրեք Տեքստային տվյալներ սյունակ:
  4. Պատճենեք հարցման տեքստը և տեղադրեք Management Studio-ում։
  5. օգտագործում Ցուցադրել գնահատված կատարման պլանը հարցումը վերլուծելու համար։
  6. Փնտրեք աղյուսակների սկանավորում, բացակայող ինդեքսներ կամ անարդյունավետ միացումներ։
  7. տեսություն CPU, կարդում է, եւ Գրում է սյուներ՝ ռեսուրսների սպառման օրինաչափությունների համար։

12.2 Սցենար 2. Փակուղու խնդրի վրիպազերծում

Այս օրինակը ցույց է տալիս, թե ինչպես կարելի է գրավել և վերլուծել փակուղիները։

Կարգավորեք փակուղու մոնիթորինգը՝ օգտագործելով այս քայլերը.

  1. Ստեղծեք նոր հետք՝ անվանելով «Փակուղու հետազոտություն»։
  2. Սեղմել Միջոցառումների ընտրություն էջանիշը.
  3. Սեղմել Ցույց տալ բոլոր իրադարձությունները.
  4. Ընդարձակել Փականներ աստիճան.
  5. ընտրել Կողպեք՝ փակուղի.
  6. ընտրել Կողպեք՝ փակուղի շղթա.
  7. Ընդարձակել Սխալներ և նախազգուշացումներ աստիճան.
  8. ընտրել Արգելափակված գործընթացի մասին զեկույց.
  9. Ապահովել Տեքստային տվյալներ սյունը ընտրված է։
  10. Սեղմել Վազում մոնիթորինգը սկսելու համար։

Երբ հետագծի կատարման ընթացքում տեղի է ունենում փակուղի, հետագծի ցանցում հայտնվում է Lock:Deadlock իրադարձությունը։

Մեկնաբանեք փակուղու տեղեկատվությունը հետևյալ քայլերով.

  1. Սեղմեք է Կողպեք՝ փակուղի իրադարձությունների շարք։
  2. Դիտել Տեքստային տվյալներ սյունը ներքևի վահանակում։
  3. Պատճենեք XML բովանդակությունը TextData-ից։
  4. Բացեք Management Studio-ն և ստեղծեք նոր հարցման պատուհան։
  5. Տեղադրեք XML-ը հարցման պատուհանում։
  6. Պահպանեք ֆայլը .xdl ընդլայնմամբ։
  7. Բացեք .xdl ֆայլը Management Studio-ում՝ փակուղու գրաֆիկը դիտելու համար։
  8. Գրաֆիկը ցույց է տալիս ներգրավված գործընթացները, արգելափակված ռեսուրսները և ընտրված զոհը։
  9. Վերանայեք երկու գործընթացներից ստացված հարցումները՝ հակամարտությունը հասկանալու համար։

Լուծման քայլերը սովորաբար ներառում են ծրագրային կոդում գործողությունների վերադասավորումը՝ ռեսուրսներին համապատասխան հերթականությամբ մուտք գործելու համար, գործարքների շրջանակի կրճատում կամ համապատասխան արգելափակման հուշումների իրականացում։

12.3 Սցենար 3. Բոլոր հարցումների հետևում որոշակի ծրագրից

Այս սցենարը ցուցադրում է ծրագրին հատուկ հարցումների մոնիթորինգը։

Կարգավորեք ծրագրին հատուկ հետագծումը՝ օգտագործելով այս քայլերը.

  1. Ստեղծեք նոր հետք՝ անվանված «Application Query Tracking» (Ծրագրի հարցման հետևում):
  2. Ընտրել Ստանդարտ շաբլոն
  3. Սեղմել Միջոցառումների ընտրություն էջանիշը.
  4. Սեղմել Սյունակային ֆիլտրեր.
  5. ընտրել Ծրագրի անունը.
  6. Մուտքագրեք ձեր դիմումի անունը դաշտում նման դաշտը.
  7. Եթե ​​ձեր ծրագիրը օգտագործում է միացումների միավորում, ապա ձեզ կարող է անհրաժեշտ լինել wildcard համապատասխանեցում։
  8. Սեղմել OK ֆիլտրը կիրառելու համար։
  9. Թույլատրել Պահպանել աղյուսակում ավելի հեշտ հարցում կատարելու համար։
  10. Սեղմել Վազում նկարահանումը սկսելու համար։

Հարցման օրինաչափության վերլուծությունը ցույց է տալիս, թե ինչպես է ձեր ծրագիրը փոխազդում SQL Server:

  1. Տվյալները հավաքելուց հետո դադարեցրեք հետագծումը։
  2. Բացեք Management Studio-ն և միացեք սերվերին հետագծման աղյուսակի միջոցով։
  3. Հարցում կատարեք հետագծերի աղյուսակում՝ օրինաչափությունները վերլուծելու համար։
  4. Հաշվեք հարցումները ըստ տեսակի՝ գործողությունների համադրությունը տեսնելու համար։
  5. Սահմանեք ամենահաճախ կատարվող հարցումները։
  6. Փնտրեք հարցումներ, որոնք կարող են քեշավորվել կամ օպտիմալացվել։
  7. Ստուգեք կրկնվող նույնական հարցումները, որոնք ցույց են տալիս կապի միավորման բացակայությունը։

12.4 Սցենար 4. Տվյալների հասանելիության աուդիտ համապատասխանության համար

Այս օրինակը ցույց է տալիս անվտանգության աուդիտի հետքի ստեղծումը։

Կարգավորեք անվտանգության աուդիտը՝ հետևելով հետևյալ քայլերին.

  1. Ստեղծեք նոր հետք՝ անվանված «Անվտանգության աուդիտի հետք»։
  2. Սեղմել Միջոցառումների ընտրություն էջանիշը.
  3. Սեղմել Ցույց տալ բոլոր իրադարձությունները.
  4. Ընդարձակել Անվտանգության աուդիտ աստիճան.
  5. ընտրել Աուդիտի մուտք, Աուդիտի ելք, Աուդիտի մուտքը ձախողվեց.
  6. ընտրել Աուդիտի տվյալների բազայի օբյեկտի մուտք.
  7. Ընդարձակել TSQL աստիճան.
  8. ընտրել SQL:Խմբային ավարտ.
  9. Սեղմել Սյունակային ֆիլտրեր.
  10. Զտել ըստ Օբյեկտի անունը որոշակի զգայուն աղյուսակների վերահսկման համար։
  11. Թույլատրել Պահպանել աղյուսակում երկարատև պահպանման համար։
  12. Միացնել սերվերի կողմից հետագծումը անվերահսկելի գործողության համար։
  13. Սեղմել Վազում աուդիտ սկսելու համար։

Ստեղծեք աուդիտի հաշվետվություններ՝ հարցումներ կատարելով հետագծման աղյուսակում.

  1. Ստեղծեք հարցումներ, որոնք ամփոփում են մուտքը ըստ օգտատիրոջ և ժամանակահատվածի։
  2. Բացահայտեք անսովոր մուտքի ձևերը կամ աշխատանքային ժամերից հետո ակտիվությունը։
  3. Անհաջող մուտք գործելու փորձերը փաստաթղթավորեք անվտանգության ստուգման համար։
  4. Արտահանել աուդիտի տվյալները հաշվետվողական համակարգեր՝ համապատասխանության փաստաթղթավորման համար։
  5. Արխիվացրեք ավարտված աուդիտի հետքերը պահպանման քաղաքականության համաձայն։

12.5 Սցենար 5. Աշխատանքային բեռի հաշվառում կատարողականի ստուգման համար

Այս սցենարը ցույց է տալիս աշխատանքային բեռնվածության գրանցումը փորձարկման նպատակներով։

Ստեղծեք վերարտադրման համար պատրաստ հետքեր՝ օգտագործելով այս քայլերը.

  1. Ստեղծեք նոր հետք՝ անվանված «Աշխատանքային բեռի գրավում»։
  2. ընտրել TSQL_Replay ձևանմուշի իջնող ցանկից։
  3. Այս ձևանմուշը ներառում է վերարտադրման համար անհրաժեշտ բոլոր իրադարձություններն ու սյուները։
  4. Սեղմել Միջոցառումների ընտրություն էջանիշը.
  5. Կիրառեք ֆիլտրեր, եթե ցանկանում եք գրանցել աշխատանքային բեռի որոշակի հատվածներ։
  6. Թույլատրել Պահպանել ֆայլում.
  7. Նշեք ֆայլի ուղի՝ բավարար սկավառակի տարածքով։
  8. Սահմանեք համապատասխան ֆայլի չափի սահմանափակումներ և միացրեք rollover-ը։
  9. Սեղմել Վազում նկարահանումը սկսելու համար։

Գրանցել ներկայացուցչական բիզնես գործողությունների ընթացքում: Աշխատանքային ծանրաբեռնվածության համապարփակ գրանցման համար մի քանի ժամ շարունակ աշխատացրեք հետևումը, ընդգրկելով տարբեր գործունեության ձևեր: Դադարեցրեք հետևումը բավարար տվյալներ հավաքելուց հետո:

Աշխատանքային ծանրաբեռնվածության վերլուծությունը բացահայտում է համակարգի վարքագծի օրինաչափությունները.

  1. Բացեք գրանցված հետագծման ֆայլը SQL Server Պրոֆիլավորող.
  2. Վերանայեք իրադարձությունների բաշխումը ըստ տեսակի և ժամանակի։
  3. Հաշվարկել ռեսուրսների սպառման ընդհանուր ցուցանիշները։
  4. Սահմանել ակտիվության գագաթնակետային ժամանակահատվածները և ռեսուրսների խցանումները։
  5. Օգտագործեք հետքը տվյալների բազայի շարժիչի կարգավորման խորհրդատուի վերլուծության համար։
  6. Վերարտադրեք հետքը փորձարկման համակարգերի համեմատ՝ փոփոխությունները հաստատելու համար։

13. Տվյալների բազայի կոռուպցիայի հայտնաբերում SQL Server Պրոֆիլավոր

13.1 Օգտագործում SQL Server Կոռուպցիայի վաղ նախազգուշացման նշանների պրոֆիլավորիչ

Տվյալների բազայի վնասումը ներկայացնում է տվյալների ամբողջականության և համակարգի հուսալիության ամենալուրջ սպառնալիքներից մեկը։ Մինչդեռ SQL Server Profiler-ը կոռուպցիայի հայտնաբերման մասնագիտացված գործիք չէ, այն կարող է արձանագրել կարևորագույն նախազգուշացնող նշաններ, որոնք ցույց են տալիս կոռուպցիայի հետ կապված հնարավոր խնդիրներ, որոնք պահանջում են անհապաղ հետաքննություն։

13.2 Հնարավոր կոռուպցիայի վկայող կարևորագույն սխալի դեպքեր

  • Լրջության 24 սխալներ (823, 824, 825): Սարքավորումների և մեդիայի խափանումներ:
  • Սխալ 605. Էջի վերականգնման անհաջող փորձեր
  • Սխալ 8928 և 8929. Օբյեկտի վնասում

13.3 Կասկածելի տվյալների բազայի վարքագծեր և նախազգուշացման օրինաչափություններ

  • Կրկնակի հարցումների ժամկետների ավարտ որոշակի օբյեկտների վրա
  • Մուտքի խախտումներ և հավելվածի խափանումներ
  • Անսովոր սխալների կլաստերացում

13.4 Գործարկեք DBCC CHECKDB-ը՝ հիմնվելով պրոֆիլերի արդյունքների վրա

If SQL Server Եթե ​​Profiler-ը գտնում է կասկածելի վնասներ, դուք կարող եք օգտագործել DBCC CHECKDB-ը՝ տվյալների բազայի ամբողջական ստուգման համար: Այնուհետև կատարեք վերանորոգում, եթե վնասները հաստատվեն: Մենք գրել ենք համապարփակ ուղեցույց, թե ինչպես կատարել այս առաջադրանքները.

Եթե ​​DBCC CHECKDB-ն չի կարողանում վերականգնել տվյալների բազան, վնասները լուրջ են։ Այդ դեպքում կարող եք դիմել հետևյալին. երրորդ կողմի SQL վերականգնման գործիք.

14. ՀՏՀ

Հ. Է SQL Server Profiler-ը դեռևս աջակցվում է SQL Server 2022.

Ա. Այո, SQL Server Profiler-ը դեռևս ներառված է SQL Server 2022 եւ SQL Server Management Studio-ն, չնայած այն հանգամանքին, որ այն հնացած է եղել այդ ժամանակվանից ի վեր SQL Server 2016թ. Microsoft-ը շարունակում է գործիքը մատակարարել ներկայիս տարբերակներով, սակայն նոր մոնիթորինգի իրականացման համար խորհուրդ է տալիս անցնել Extended Events-ի: Գործիքը շարունակում է գործել և լայնորեն օգտագործվում է խնդիրների լուծման և ad-hoc վերլուծության համար:

Հարց: Ո՞րն է տարբերությունը SQL Server Profiler և SQL Trace?

A: SQL Server Profiler-ը գրաֆիկական ինտերֆեյսի գործիք է, որը միանում է SQL Trace շարժիչին, որը գործում է ներսում։ SQL ServerSQL Trace-ը հիմքում ընկած տեխնոլոգիան է, որն իրականում գրանցում է իրադարձությունները: Դուք կարող եք ստեղծել հետքեր՝ օգտագործելով Profiler-ի ինտերֆեյսը կամ անմիջապես T-SQL պահված ընթացակարգերի միջոցով, ինչպիսին է sp_trace_create-ը: Profiler-ը ապահովում է ավելի հեշտ կարգավորում, մինչդեռ T-SQL trace-ները առաջարկում են ավելի շատ ավտոմատացման հնարավորություններ:

Հարց. Որքա՞ն է կազմում կատարողականի վրա ծախսվող գումարը SQL Server Պրոֆիլերի ավելացում՞

Ա. Արդյունավետության վրա ազդեցությունը տարբերվում է՝ կախված հետագծի կարգավորումից: Միայն որոշակի իրադարձություններ գրանցող լավ ֆիլտրացված հետագիծը կարող է ավելացնել 1-5% ծախս: Վատ կարգավորված հետագծերը առանց ֆիլտրերի կարող են ավելացնել 20-50% կամ ավելի ծախս, հատկապես գերծանրաբեռնված համակարգերի դեպքում: Սերվերի կողմի հետագծերն ավելի քիչ ազդեցություն ունեն, քան հաճախորդի կողմի հետագծերը: Միշտ օգտագործեք ֆիլտրեր՝ իրադարձությունների ծավալը նվազագույնի հասցնելու և հետագծերը նախ ոչ արտադրական միջավայրերում փորձարկելու համար:

Հարց. Կարո՞ղ եմ վազել SQL Server Պրոֆայլեր արտադրական սերվերների վրա՞

Ա: Դուք կարող եք վազել SQL Server Պրոֆայլեր արտադրական սերվերների վրա, բայց զգույշ եղեք: Օգտագործեք բարձր ընտրողականության ֆիլտրեր, սահմանափակեք հետագծման տևողությունը և նախընտրեք սերվերի կողմից հետագծումը՝ ազդեցությունը նվազագույնի հասցնելու համար: Հնարավորության դեպքում գործարկեք արտադրական հետագծերը ցածր ակտիվության ժամանակահատվածներում: Արտադրության անընդհատ մոնիթորինգի համար դիտարկեք Extended Events-ը կամ Query Store-ը, քանի որ դրանք առաջարկում են ավելի ցածր վերադիր ծախսեր:

Հարց. Ի՞նչ թույլտվություններ եմ պետք օգտագործել SQL Server Պրոֆիլեր՞

Ա. Հետքեր ստեղծելու և գործարկելու համար ձեզ անհրաժեշտ է ALTER TRACE թույլտվություն: Համակարգի ադմինիստրատորի ֆիքսված սերվերի դերի անդամները ավտոմատ կերպով ունեն այս թույլտվությունը: Համակարգի ադմինիստրատոր չհանդիսացող օգտատերերի համար հստակորեն տրամադրեք ALTER TRACE թույլտվություն: Բացի այդ, ձեզ անհրաժեշտ են համապատասխան թույլտվություններ հետքերի տվյալները ֆայլերում կամ աղյուսակներում պահպանելու համար՝ ձեր կարգավորումներին համապատասխան:

Հարց. Ինչո՞ւ չեմ կարող տեսնել իմ հետագծման մեջ եղած բոլոր իրադարձությունները։

Ա. Բացակայող իրադարձությունները սովորաբար առաջանում են չափազանց սահմանափակող ֆիլտրերի կամ բուֆերի գերբեռնվածության պատճառով: Վերանայեք ձեր ֆիլտրի կարգավորումը՝ համոզվելու համար, որ այն չի բացառում ցանկալի իրադարձությունները: Բուֆերի գերբեռնվածությունը տեղի է ունենում, երբ SQL Server Հնարավոր չէ բավականաչափ արագ գրել իրադարձությունները, սովորաբար զբաղված համակարգերի վրա չֆիլտրված հետքերով։ Ավելացրեք ֆիլտրեր՝ իրադարձությունների ծավալը նվազեցնելու կամ սկավառակի մուտքի/ելքի արտադրողականությունը բարձրացնելու համար։ Ստուգեք սխալի հաղորդագրությունները, որոնք ցույց են տալիս, որ իրադարձությունները չեն գրանցվել։

Հարց. Ինչպե՞ս կարող եմ գրանցել փակուղու մասին տեղեկատվությունը SQL Server Պրոֆիլեր՞

Ա. Ստեղծեք հետք, որը ներառում է Lock:Deadlock և Lock:Deadlock Chain իրադարձությունները Locks կատեգորիայից: Համոզվեք, որ ընտրված է TextData սյունակը, քանի որ այն պարունակում է deadlock գրաֆիկի XML-ը: Երբ deadlock տեղի է ունենում, պատճենեք XML-ը TextData սյունակից, պահպանեք այն .xdl ընդլայնմամբ և բացեք այն SQL Server Management Studio-ն՝ գրաֆիկական փակուղային դիագրամը դիտելու համար։

Հարց. Ի՞նչ տարբերություն կա ֆայլերում հետքերը պահպանելու և աղյուսակներում պահելու միջև։

Ա. Ֆայլերը ավելի լավ կատարողականություն են ապահովում հետագծման կատարման ժամանակ, քանի որ դրանք շրջանցում են SQL Server Պահեստավորման շարժիչ։ Ֆայլերի հետագծերը տվյալները գրում են անմիջապես սկավառակի վրա՝ նվազագույն ծանրաբեռնվածությամբ։ Աղյուսակների հետագծերը գրում են պահեստավորման շարժիչի միջոցով՝ ավելացնելով ծանրաբեռնվածություն, բայց հնարավորություն տալով անմիջապես T-SQL հարցումներ կատարել հետագծման տվյալների նկատմամբ։ Օգտագործեք ֆայլեր արտադրողականության նկատմամբ զգայուն սցենարների և աղյուսակների համար, երբ անհրաժեշտ է հարցումներ կատարել տվյալների վերաբերյալ անմիջապես գրանցման ընթացքում կամ դրանից հետո։

Հարց. Կարո՞ղ եմ ավտոմատացնել SQL Server Պրոֆիլերի հետքերի հավաքագրում;

Ա. Այո, ավտոմատացնել հետքերի հավաքագրումը՝ օգտագործելով T-SQL պահված պրոցեդուրաներով ստեղծված սերվերի կողմից ստեղծված հետքերը: Գրել սկրիպտներ՝ օգտագործելով sp_trace_create և դրանց հետ կապված պրոցեդուրաները, այնուհետև ժամանակացույց կազմել դրանց համար: SQL Server Գործակալի աշխատանքներ: Այս մոտեցումը հնարավորություն է տալիս աննկատ հետքերի հավաքագրում կատարել սահմանված ժամանակացույցերով: PowerShell սկրիպտները ապահովում են ավտոմատացման մեկ այլ տարբերակ ավելի բարդ սցենարների համար:

Հարց. Որքա՞ն ժամանակ պետք է հետագիծը աշխատեցնեմ։

Ա. Հետևման տևողությունը կախված է ձեր նպատակներից: Հատուկ խնդիրների լուծման համար, հետքեր գրանցեք խնդիրը վերարտադրելու ընթացքում, սովորաբար 5-30 րոպե: Արդյունավետության վերլուծության համար գրանցեք առնվազն մեկ ժամ ակտիվության գագաթնակետային ժամանակահատվածներում: Աշխատանքային ծանրաբեռնվածության վերլուծության կամ հզորությունների պլանավորման համար հավաքագրեք մի քանի ժամ տարբեր ժամանակահատվածներում: Միշտ դադարեցրեք հետքերը, երբ մոնիթորինգն ավարտված է՝ ռեսուրսներն ազատելու համար:

Հարց. Ի՞նչ պետք է անեմ, եթե հետագծման ֆայլը չափազանց մեծանա։

Ա. Միացրեք ֆայլերի տեղափոխումը հետագծման հատկություններում՝ մեկ մեծ ֆայլի փոխարեն մի քանի փոքր ֆայլեր ստեղծելու համար: Սահմանեք ֆայլի առավելագույն չափը, որը համապատասխանում է ձեր սկավառակի տարածքին և վերլուծության կարիքներին: Օգտագործեք ֆիլտրեր՝ գրանցված իրադարձությունների ծավալը նվազեցնելու համար: Մեծ հետագծման դեպքում խորհուրդ է տրվում վերլուծել տվյալները հատվածներով, այլ ոչ թե միանգամից բեռնել ամբողջ հետքը: Սկավառակի տարածքը կառավարելու համար պարբերաբար արխիվացրեք կամ ջնջեք հին հետագծման ֆայլերը:

Հարց. Ինչպե՞ս գտնեմ հարցումները, որոնք առաջացնում են CPU-ի բարձր ծանրաբեռնվածություն:

Ա. Ստեղծեք հետք SQL:BatchCompleted և RPC:Completed իրադարձություններով: Ներառեք CPU, Duration և TextData սյուները: Զտեք ըստ Duration-ի՝ միայն 1000 միլիվայրկյան շեմը գերազանցող հարցումները գրանցելու համար: Տվյալները հավաքելուց հետո տեսակավորեք ըստ CPU սյունակի՝ նվազման կարգով: Վերևում գտնվող հարցումները ամենաշատն են սպառում պրոցեսորի ժամանակը: Ուսումնասիրեք այս հարցումները՝ օպտիմալացման հնարավորությունների համար, ինչպիսիք են բացակայող ինդեքսները կամ անարդյունավետ տրամաբանությունը:

Q: Կարող է SQL Server Profiler-ի գրանցման հարցումների կատարման պլաններ՞

A: SQL Server Profiler-ը կարող է գրանցել կատարման պլանի տեղեկատվությունը Showplan XML իրադարձությունների միջոցով Performance կատեգորիայում: Ընտրեք Showplan XML կամ Showplan XML Statistics Profile իրադարձությունները՝ կատարման ամբողջական պլանները գրանցելու համար: TextData սյունակը պարունակում է XML պլանի տվյալները: Այնուամենայնիվ, կատարման պլանի ռուտինային վերլուծության համար՝ SQL Server Management Studio-ի գրաֆիկական կատարման պլանի գործառույթները կամ Query Store-ը ապահովում են ավելի հեշտ այլընտրանքներ։

Հարց. Ո՞րն է ընդհանուր մոնիթորինգի համար սկսելու լավագույն ձևանմուշը։

Ա. Ստանդարտ ձևանմուշը լավ մեկնարկային կետ է ընդհանուր մոնիթորինգի համար: Այն ներառում է հարցումների կատարման տարածված իրադարձություններ, պահված ընթացակարգերի կանչեր և սխալների հետևում՝ հավասարակշռված վերադիր ծախսերով: Հարցման կատարողականության վրա կենտրոնացած ցածր ազդեցության մոնիթորինգի համար օգտագործեք TSQL ձևանմուշը: Հիմունքները հասկանալուց հետո անհատականացրեք ձևանմուշները ձեր կոնկրետ կարիքներին համապատասխան՝ ավելացնելով ֆիլտրեր և կարգավորելով իրադարձությունների ընտրությունը:

Հարց. Ինչպե՞ս հետևել միայն որոշակի ծրագրի կամ օգտատիրոջ:

Ա. Օգտագործեք սյունակային ֆիլտրեր՝ որոշակի ծրագրեր կամ օգտատերեր մեկուսացնելու համար: Ծրագրերի համար զտեք ըստ ApplicationName սյունակի՝ օգտագործելով ձեր կապի տողում նշված անունը: Օգտատերերի համար զտեք ըստ LoginName սյունակի՝ օգտագործելով SQL Server մուտքի կամ Windows հաշվի անվան համար: Միավորեք մի քանի ֆիլտրեր՝ կենտրոնացումն ավելի նեղացնելու համար, օրինակ՝ ֆիլտրեք ըստ և՛ «ApplicationName»-ի, և՛ «DatabaseName»-ի՝ որոշակի տվյալների բազայում մեկ ծրագրի գործունեությունը վերահսկելու համար:

15. Եզրակացություն և հաջորդ քայլեր

15.1 Հիմնական միջոցներ

SQL Server Profiler-ը մնում է արժեքավոր գործիք ad-hoc տվյալների բազայի խնդիրների լուծման համար, չնայած իր հնացած կարգավիճակին: Պարզ ինտերֆեյսը և համապարփակ իրադարձությունների գրանցումը այն դարձնում են իդեալական արագ ախտորոշիչ սեանսների համար, երբ ձեզ անհրաժեշտ են անհապաղ արդյունքներ: Օգտագործեք Profiler-ը որոշակի խնդիրների լուծման, հավելվածի վարքագիծը վերլուծելու և անվտանգության աուդիտի համար:

Լավագույն փորձը ներառում է ֆիլտրերի ագրեսիվ օգտագործում՝ կատարողականի վրա ազդեցությունը նվազագույնի հասցնելու համար, արտադրական միջավայրերի համար սերվերի կողմից հետագծման նախապատվությունը տալը և հետագծման տևողությունը սահմանափակելը անհրաժեշտ ժամանակահատվածներով: Ընտրեք միայն կարևոր իրադարձություններն ու սյուները՝ ծանրաբեռնվածությունը նվազեցնելու համար: Հետագծումը պահպանեք ֆայլերում՝ աղյուսակների փոխարեն՝ գրանցման ընթացքում ավելի լավ կատարողականություն ապահովելու համար:

15.2 Առաջ շարժվելով՝ ժամանակակից գործիքների կիրառում

Անցում SQL Server Profiler-ից Extended Events՝ երկարաժամկետ մոնիթորինգի լուծումների համար: Մինչ Profiler-ը շարունակում է գործել, Extended Events-ի ուսումնասիրության մեջ ժամանակ ներդնելը ձեզ տեղավորում է ապագայի համար: SQL Server տարբերակներ։ Սկսեք պարզ ընդլայնված իրադարձությունների նիստերից, որոնք կրկնօրինակում են ձեր ընդհանուր Profiler-ի հետքերը։

Միացրեք Query Store-ը արտադրական տվյալների բազաներում՝ ավտոմատ կատարողականի մոնիթորինգ ստանալու համար՝ առանց ձեռքով հետագծման կարգավորման: Query Store-ը անընդհատ գրանցում է հարցումների պլանները և կատարման վիճակագրությունը՝ ապահովելով կատարողականի վերլուծության համար բազային տվյալներ: Համապարփակ մոնիթորինգի համար համատեղեք Query Store-ը թիրախային ընդլայնված իրադարձությունների նիստերի հետ:

15.3 Լրացուցիչ ռեսուրսներ

Հետևյալ ռեսուրսները կօգնեն ձեզ խորացնել ձեր SQL Server Պրոֆիլերի վերաբերյալ գիտելիքներ և մոնիթորինգի լավագույն փորձի վերաբերյալ տեղեկացված մնալը.

Microsoft-ի պաշտոնական փաստաթղթեր

Համայնքի ռեսուրսներ

  • SQL Server Կենտրոնական – Հոդվածներ, ֆորումներ և սկրիպտներ տվյալների բազայի մասնագետների համար
  • Բլոկի արտահոսք SQL Server Թեգ – Համայնքի հարց ու պատասխան՝ խնդիրների լուծման կոնկրետ հարցերի համար
  • Reddit r/SQLServer – Քննարկման ֆորում SQL Server թեմաներ և խորհուրդներ
  • SQLServerCentral.com Ֆորումներ – Ակտիվ համայնքային քննարկումներ պրոֆիլավորման և արդյունավետության վերաբերյալ
  • MSDN SQL Server Ֆորումներ – Microsoft-ի կողմից հյուրընկալվող համայնքի աջակցության ֆորումներ

Բլոգներ և տեխնիկական հոդվածներ

  • SQL Server Performance Monitor- ը – Նվիրված կատարողականի մոնիթորինգի և օպտիմալացման բովանդակություն
  • Բրենտ Օզար անսահմանափակ բլոգ – Արդյունավետության կարգավորման և մոնիթորինգի լավագույն փորձը
  • SQLSkills.com – Մասնագիտական ​​մակարդակ SQL Server բովանդակություն ոլորտի առաջատարներից
  • Microsoft SQL Server Բլոգ – Պաշտոնական արտադրանքի թարմացումներ և գործառույթների մասին հայտարարություններ
  • Պարզ զրույց՝ գործնական SQL Server ձեռնարկներ և դեպքերի ուսումնասիրություններ

Ուսուցում և սերտիֆիկացում

  • Microsoft Սովորեք – Անվճար առցանց ուսուցողական մոդուլներ SQL Server
  • Microsoft-ի հավաստագրված՝ Azure տվյալների բազայի ադմինիստրատորի օգնական - Պաշտոնական հավաստագրման ուղի
  • Պլյուրալսթայթ SQL Server Դասընթացներ – Տեսանյութերի ուսուցում պրոֆիլավորման և կատարողականի կարգավորման վերաբերյալ
  • LinkedIn- ի ուսուցում SQL Server Վերապատրաստում – Մասնագիտական ​​զարգացման դասընթացներ
  • Udemy SQL Server Կատարողական դասընթացներ՝ գործնական ուսուցման տարբերակներ

Գրքեր

  • SQL Server Հարցման կատարողականության կարգավորում – կատարողականության օպտիմալացման համապարփակ ուղեցույց
  • յուրաքանչյուր SQL Server Ներքին կողմեր՝ խորը ուսումնասիրություն SQL Server ճարտարապետություն
  • SQL Server Կատարման պլաններ – Հարցումների օպտիմալացման ըմբռնում
  • Մասնագիտական ​​​​կատարողականության ինդեքսավորում SQL Server – Ինդեքսի դիզայն և օպտիմալացում
  • SQL Server Առաջադեմ խնդիրների լուծում և կատարողականի կարգավորում – Առաջադեմ ախտորոշիչ մեթոդներ

Գործիքներ և օգտակար ծրագրեր

  • SQL Server Կառավարման ստուդիա – Հիմնական ինտերֆեյս SQL Server Պրոֆիլավոր
  • Azure DataStudio – Ժամանակակից խաչաձև հարթակների տվյալների բազայի գործիք
  • sp_WhoIsActive – Համայնքի կողմից ստեղծված հայտնի մոնիթորինգի պահեստավորված ընթացակարգ
  • SQL Sentry Plan Explorer – Կատարման պլանի վերլուծության անվճար գործիք
  • DBForge Studio – Երրորդ կողմ SQL Server մշակման և կառավարման գործիք

Հեղինակի մասին

Յուան Շենգ տվյալների բազայի ավագ ադմինիստրատոր (DBA) է՝ ավելի քան 10 տարվա փորձով։ SQL Server միջավայրերի և ձեռնարկությունների տվյալների բազայի կառավարման ոլորտում: Նա հաջողությամբ լուծել է տվյալների բազայի վերականգնման հարյուրավոր սցենարներ ֆինանսական ծառայությունների, առողջապահության և արտադրական կազմակերպություններում:

Յուանը մասնագիտանում է SQL Server տվյալների բազայի վերականգնում, բարձր մատչելիության լուծումներև կատարողականի օպտիմալացում: Նրա լայնածավալ գործնական փորձը ներառում է բազմաբայթ ծավալով տվյալների բազաների կառավարում, իրականացում Միշտ հասանելիության խմբեր, և մշակելով ավտոմատացված պահուստավորման և վերականգնման ռազմավարություններ կարևորագույն բիզնես համակարգերի համար։

Իր տեխնիկական փորձագիտության և գործնական մոտեցման միջոցով Յուանը կենտրոնանում է համապարփակ ուղեցույցներ ստեղծելու վրա, որոնք կօգնեն տվյալների բազայի ադմինիստրատորներին և ՏՏ մասնագետներին լուծել բարդ խնդիրներ։ SQL Server արդյունավետորեն մարտահրավերներ է նետում։ Նա տեղեկացված է մնում վերջին նորություններից SQL Server թողարկումները և Microsoft-ի զարգացող տվյալների բազայի տեխնոլոգիաները, պարբերաբար փորձարկելով վերականգնման սցենարները՝ համոզվելու համար, որ նրա առաջարկությունները արտացոլում են իրական աշխարհի լավագույն փորձը։

Հարցեր ունեք SQL Server Վերականգնո՞ւմ, թե՞ անհրաժեշտ է տվյալների բազայի խնդիրների լուծման լրացուցիչ ուղեցույց: Յուանը ողջունում է ձեզ: արձագանքներ և առաջարկություններ այս տեխնիկական ռեսուրսները բարելավելու համար։

Կիսվել հիմա ՝