1 ။ နိဒါန်း
၁၈ ဘာလဲ SQL Server လုပ်ဆောင်ချက် စောင့်ကြည့်မလား။
SQL Server Activity Monitor သည် built-in diagnostic tool တစ်ခုဖြစ်သည်။ SQL Server သတင်းအချက်အလက်များကိုပြသသောစီမံခန့်ခွဲမှုစတူဒီယို SQL Server လုပ်ငန်းစဉ်များနှင့် ဆာဗာစွမ်းဆောင်ရည်အပေါ် ၎င်းတို့၏သက်ရောက်မှု။ ခြေရာခံနိုင်ရမယ်။ SQL Server လုပ်ငန်းစဉ်များ၊ အရင်းအမြစ်စောင့်ကြပ်ကြည့်ရှုခြင်း၊ စျေးကြီးသောမေးမြန်းချက်များအား ပိုင်းခြားစိတ်ဖြာပြီး I/O ပုံစံများ—အားလုံးသည် အင်တာဖေ့စ်တစ်ခုတည်းမှဖြစ်သည်။
1.2 ဘာကြောင့်သုံးတာလဲ။ SQL Server လုပ်ဆောင်ချက် စောင့်ကြည့်မလား။
စွမ်းဆောင်ရည်ပြဿနာများကို ဖြေရှင်းရာတွင် လုပ်ဆောင်ချက်စောင့်ကြည့်ကိရိယာသည် သင်၏ပထမဆုံးကာကွယ်ရေးလိုင်းအဖြစ် လုပ်ဆောင်သည်။ ၎င်းသည် သင့်တွင်ဖြစ်ပျက်နေသည့်အရာများကို ချက်ချင်းမြင်နိုင်စေသည်။ SQL Server ရှုပ်ထွေးသော T-SQL မေးမြန်းမှုများ သို့မဟုတ် ပြင်ပအဖွဲ့အစည်းကိရိယာများ မလိုအပ်ဘဲ ဥပမာ။
အဆိုပါကိရိယာသည် ပိတ်ဆို့ခြင်းအစည်းအဝေးများ၊ CPU အထူးသုံးသည့်မေးခွန်းများ၊ အလွန်အကျွံမေးမြန်းမှုလုပ်ဆောင်မှုများနှင့် I/O ပိတ်ဆို့မှုများကဲ့သို့သော ဘုံပြဿနာများကို လျင်မြန်စွာဖော်ထုတ်နိုင်ရန် ကူညီပေးသည့်ကိရိယာသည် ထူးချွန်သည်။ အပလီကေးရှင်းတစ်ခုသည် နှေးကွေးခြင်း သို့မဟုတ် တုံ့ပြန်မှုမရှိပါက အသုံးပြုသူများထံ သတင်းပို့သည့်အခါ၊ ဒေတာဘေ့စ်ဆာဗာသည် တရားခံဟုတ်မဟုတ်၊ လုပ်ဆောင်ချက်စောင့်ကြည့်စစ်ဆေးရန် ကူညီပေးသည်။
ဒေတာဘေ့စ်စီမံခန့်ခွဲသူများနှင့် အလုပ်မလုပ်သောသူများအတွက် SQL Server နေ့စဉ်နှင့်အမျှ Activity Monitor သည် server လုပ်ဆောင်ချက်ကို နားလည်ရန် ဝင်ရောက်နိုင်သော နေရာတစ်ခုကို ပေးဆောင်သည်။ အတွေ့အကြုံရှိ DBA များပင် စွမ်းဆောင်ရည် စုံစမ်းစစ်ဆေးမှုများအတွက် စတင်သည့်နေရာအဖြစ် အသုံးပြုကြသည်။
1.3 လုပ်ဆောင်ချက် Monitor နှင့် အခြားသော စောင့်ကြည့်ရေးကိရိယာများ
Activity Monitor သည် အဖိုးတန်သော်လည်း၊ ၎င်းသည် အခြားစောင့်ကြည့်ရေးရွေးချယ်စရာများနှင့် မည်သို့နှိုင်းယှဉ်သည်ကို နားလည်ရန် အရေးကြီးသည်-
လုပ်ဆောင်ချက် Monitor vs sp_WhoIsActive- လုပ်ဆောင်ချက် Monitor သည် အကွက်များစွာပါသော ဂရပ်ဖစ်အင်တာဖေ့စ်ကို ပံ့ပိုးပေးသော်လည်း sp_WhoIsActive သည် ရလဒ်အစုတစ်ခုတွင် ပိုမိုအသေးစိတ်အချက်အလက်များကို ပေးဆောင်သည့် ကျယ်ကျယ်ပြန့်ပြန့်သိမ်းဆည်းထားသည့်လုပ်ငန်းစဉ်တစ်ခုဖြစ်သည်။ sp_WhoIsActive သည် Activity Monitor ကို အတူတကွ အုပ်စုဖွဲ့ပြီး ပိုမိုအသေးစိတ်သော ပိတ်ဆို့ခြင်းဆိုင်ရာ အချက်အလက်များကို ပံ့ပိုးပေးသည့် သီးခြားစောင့်ဆိုင်းအမျိုးအစားများကို ပြသသည်။
လုပ်ဆောင်ချက်စောင့်ကြည့်သူ vs sp_who2- သမားရိုးကျ sp_who2 command သည် အခြေခံစက်ရှင်အချက်အလက်ကို ပြသသော်လည်း Activity Monitor သည် စောင့်ဆိုင်းစာရင်းဇယားများ၊ စျေးကြီးသောမေးမြန်းချက်များနှင့် I/O မက်ထရစ်များကို စနစ်တကျဖွဲ့စည်းထားသော အမြင်ဖော်မက်ဖြင့် ပြသခြင်းဖြင့် ပိုမိုလုပ်ဆောင်သွားမည်ဖြစ်သည်။
Activity Monitor vs Third-Party Tools- SolarWinds Database Performance Analyzer ကဲ့သို့သော စီးပွားဖြစ် စောင့်ကြည့်ရေး ဖြေရှင်းချက်များသည် Activity Monitor တွင် မရှိသော သမိုင်းဝင် ခြေရာခံခြင်း၊ သတိပေးခြင်းနှင့် အဆင့်မြင့် ခွဲခြမ်းစိတ်ဖြာမှုများကို ပေးဆောင်သည်။ သို့သော် Activity Monitor တွင် အပိုကုန်ကျစရိတ် သို့မဟုတ် တပ်ဆင်မှု မလိုအပ်ပါ။
1.4 ဒေတာဘေ့စ်စီမံခန့်ခွဲသူများအတွက် အဓိကအကျိုးကျေးဇူးများ
Activity Monitor သည် မရှိမဖြစ် DBA tool တစ်ခုဖြစ်စေသည့် အားသာချက်များစွာကို ပေးဆောင်သည်-
- သုညကုန်ကျစရိတ်- built-in အဖြစ် SQL Server Management Studio အင်္ဂါရပ်၊ လိုင်စင်ကြေး သို့မဟုတ် အသုံးချရန် အားထုတ်မှု မလိုအပ်ပါ။
- အချိန်နှင့်တပြေးညီ စောင့်ကြည့်လေ့လာခြင်း- 1 စက္ကန့်မှ 1 နာရီအထိ သတ်မှတ်နိုင်သော ပြန်လည်ဆန်းသစ်မှုကာလများနှင့်အတူ လက်ရှိဆာဗာလုပ်ဆောင်ချက်ကို ကြည့်ပါ။
- ပေါင်းစပ်လုပ်ဆောင်ချက်များ- ဆက်ရှင်များကိုသတ်ရန်၊ မေးမြန်းမှုအသေးစိတ်များကိုကြည့်ရှုရန် သို့မဟုတ် စတင်ရန်အတွက် လုပ်ငန်းစဉ်များပေါ်တွင် ညာဖက်ကလစ်နှိပ်ပါ။ SQL Server ပရိုဖိုင်းခြေရာခံများ—အားလုံးသည် ကိရိယာအတွင်းမှဖြစ်သည်။
- ရှုထောင့်မျိုးစုံ- အထူးပြု အကွက်ငါးခုမှတဆင့် ဆာဗာကျန်းမာရေးကို ရှုထောင့်အမျိုးမျိုးမှ ကြည့်ရှုပြီး တစ်ခုစီသည် စွမ်းဆောင်ရည်၏ သီးခြားရှုထောင့်များကို အာရုံစိုက်ပါ။
- အမြန်ပြဿနာဖြေရှင်းခြင်း- အဖြစ်အများဆုံး စွမ်းဆောင်ရည်ပြဿနာများကို မိနစ်ပိုင်းအတွင်း ဖော်ထုတ်ပြီး ဖြေရှင်းရန် သင့်ပျမ်းမျှအချိန်ကို အရှိန်မြှင့်လိုက်ပါ။
- ဝင်ရောက်ရန် အတားအဆီးနည်းပါးသည်- ပိုမိုနက်ရှိုင်းသော်လည်း ကိရိယာကို ထိထိရောက်ရောက် စတင်အသုံးပြုရန် အဆင့်မြင့်အသိပညာ မလိုအပ်ပါ။ SQL Server ကျွမ်းကျင်မှုက အဓိပ္ပာယ်ဖွင့်ဆိုရာမှာ ကူညီပေးတယ်။
၂။ Activity Monitor ကို စတင်အသုံးပြုခြင်း
Activity Monitor ကို ထိထိရောက်ရောက် မလုပ်ဆောင်မီ၊ ကိရိယာကို စတင်ရန်အတွက် လိုအပ်သော ခွင့်ပြုချက်များ၊ လိုအပ်သော ခွင့်ပြုချက်များနှင့် နည်းလမ်းအမျိုးမျိုးကို နားလည်ရန် လိုအပ်ပါသည်။
2.1 ကြိုတင်လိုအပ်ချက်များနှင့် စနစ်လိုအပ်ချက်များ
အသုံးပြုရန် SQL Server Activity Monitor၊ သင်လိုအပ်သည်။ SQL Server Management Studio (SSMS) ကို သင့်စက်တွင်းစက် သို့မဟုတ် jump server တွင် ထည့်သွင်းထားသည်။ Activity Monitor tool ကို သိသိသာသာ ပြန်လည်ဒီဇိုင်းထုတ်ထားပါသည်။ SQL Server 2008 ဖြစ်သောကြောင့် ဤလမ်းညွှန်ပါ အချက်အလက်များနှင့် သက်ဆိုင်ပါသည်။ SQL Server 2008 နှင့် နောက်ပိုင်းဗားရှင်းများ။
သင့်တွင် ကွန်ရက်ချိတ်ဆက်မှု ရှိရမည်။ SQL Server သင်စောင့်ကြည့်လိုသော instance။ cloud-hosted databases များအတွက်၊ instance ကိုဝင်ရောက်ရန် VPN ချိတ်ဆက်မှု သို့မဟုတ် ကောင်းစွာ configure လုပ်ထားသော firewall စည်းမျဉ်းများ လိုအပ်ပါသည်။
Activity Monitor သည် ဗားရှင်းအားလုံးနှင့် အလုပ်လုပ်သည်။ SQL ServerExpress၊ Standard နှင့် Enterprise တို့ အပါအဝင်။ ကိရိယာသည် SSMS အတွင်းရှိ သင့်ဖောက်သည်စက်ပေါ်တွင် လုပ်ဆောင်နေသောကြောင့် ဆာဗာ၏အရင်းအမြစ်များကို ၎င်းလုပ်ဆောင်သည့် စောင့်ကြည့်စစ်ဆေးမေးမြန်းမှုများကြောင့်သာ သက်ရောက်မှုရှိသည်။
2.2 လိုအပ်သောခွင့်ပြုချက်များ
Activity Monitor မှန်ကန်စွာ လုပ်ဆောင်နိုင်ရန် သင့်လျော်သော ခွင့်ပြုချက်များသည် မရှိမဖြစ် လိုအပ်ပါသည်။ သင့်လျော်သောအခွင့်အရေးများမရှိဘဲ၊ သင်သည် ကွက်လပ်ပြသမှုကို မြင်နိုင်သည် သို့မဟုတ် ဝင်ရောက်ခွင့်ငြင်းပယ်ထားသော အမှားများကို သင်လက်ခံရရှိနိုင်ပါသည်။
2.2.1 SERVER STATE ခွင့်ပြုချက်ကို ကြည့်ပါ။
အဆိုပါ ဆာဗာပြည်နယ်ကိုကြည့်ပါ။ ခွင့်ပြုချက်သည် Activity Monitor ကိုအသုံးပြုရန်အတွက် အဓိကလိုအပ်ချက်ဖြစ်သည်။ ဤဆာဗာအဆင့်ခွင့်ပြုချက်သည် သင့်အား လက်ရှိလုပ်ဆောင်နေသောလုပ်ငန်းစဉ်များနှင့် ၎င်းတို့၏ဆက်စပ်မက်ထရစ်များအားလုံးကို မြင်နိုင်စေပါသည်။
ဤခွင့်ပြုချက်ကို ခွင့်ပြုရန်၊ ဆာဗာစီမံခန့်ခွဲသူသည် လုပ်ဆောင်နိုင်သည်-
GRANT VIEW SERVER STATE TO [YourLoginName];
VIEW SERVER STATE မရှိဘဲ၊ လုပ်ဆောင်ချက်စောင့်ကြည့်ကိရိယာသည် ဖွင့်နိုင်သော်လည်း ၎င်း၏အကန့်များတွင် မည်သည့်ဒေတာကိုမျှ ပြသမည်မဟုတ်ပါ။
2.2.2 ဒေတာဘေ့စ်အဆင့် ခွင့်ပြုချက်များ
ဒေတာဖိုင် I/O အကွက်တွင် အချက်အလက်ကြည့်ရှုရန်၊ သင်သည် ထပ်လောင်းခွင့်ပြုချက်များ လိုအပ်သည်။ အထူးသဖြင့်၊ သင့်တွင် အောက်ပါပေါင်းစပ်မှုများထဲမှ တစ်ခုရှိရမည်-
- ဒေတာဘေ့စ်ဖန်တီးပါ။ ခွင့်ပြုချက်၊ သို့မဟုတ်
- မည်သည့်ဒေတာဘေ့စ်ကိုမဆိုပြောင်းလဲပါ။ ခွင့်ပြုချက်၊ သို့မဟုတ်
- အဓိပ္ပါယ်ဖွင့်ဆိုချက်တစ်ခုခုကို ကြည့်ပါ။ အခွင့်
ဤခွင့်ပြုချက်များနှင့် ပေါင်းစပ်ရပါမည်။ ဆာဗာပြည်နယ်ကိုကြည့်ပါ။ Activity Monitor လုပ်ဆောင်ချက်အပြည့်အစုံအတွက်။
2.2.3 ခွင့်ပြုချက်ပြဿနာဖြေရှင်းခြင်း။
Activity Monitor ပွင့်လာပေမယ့် data မပြဘူးဆိုရင် permission တွေက အဖြစ်အများဆုံးအကြောင်းရင်းပါ။ server level မှာ VIEW SERVER STATE ကို ခွင့်ပြုထားခြင်းရှိမရှိ စစ်ဆေးပါ။ permission တွေကို အောက်ပါအတိုင်း လုပ်ဆောင်ပြီး အတည်ပြုနိုင်ပါတယ်-
SELECT * FROM fn_my_permissions(NULL, 'SERVER');
permission_name ကော်လံတွင် 'VIEW SERVER STATE' ကိုရှာပါ။ ပျောက်ဆုံးနေပါက၊ ၎င်းကိုခွင့်ပြုရန် သင်၏ဒေတာဘေ့စ်စီမံခန့်ခွဲသူကို ဆက်သွယ်ပါ။
2.3 SSMS တွင် Activity Monitor ကို မည်သို့ဖွင့်ရမည်နည်း။
SQL Server Management Studio သည် သင့်အလုပ်အသွားအလာကို ဦးစားပေးမှုများအပေါ်အခြေခံ၍ လိုက်လျောညီထွေဖြစ်စေသော လုပ်ဆောင်ချက်စောင့်ကြည့်လေ့လာခြင်းကို စတင်ရန် မတူညီသောနည်းလမ်းလေးခုကို ပေးစွမ်းပါသည်။
2.3.1 နည်းလမ်း 1- Toolbar မှ
Activity Monitor ကိုဖွင့်ရန်အမြန်ဆုံးနည်းလမ်းမှာ toolbar အိုင်ကွန်ကိုအသုံးပြုခြင်းဖြစ်သည်-
- ဆက်သွယ်ပါ SQL Server ဥပမာအားဖြင့် SQL Server စီမံခန့်ခွဲမှုစတူဒီယို။
- စံတူးလ်ဘားတွင် လုပ်ဆောင်ချက်စောင့်ကြည့်ရေးအိုင်ကွန်ကို ရှာပါ (၎င်းသည် အစိမ်းရောင်ဖွင့်ခလုတ်ပါရှိသော ဘားဇယားနှင့်ဆင်တူသည်)။
- Activity Monitor ကိုဖွင့်ရန် အိုင်ကွန်ကို နှိပ်ပါ။
သင်သည် SSMS တွင် အလုပ်လုပ်နေပြီးဖြစ်ပြီး ဆာဗာလုပ်ဆောင်ချက်ကို အမြန်စစ်ဆေးရန် လိုအပ်သည့်အခါ ဤနည်းလမ်းသည် အမြန်ဆုံးဖြစ်သည်။
2.3.2 နည်းလမ်း 2- Object Explorer မှ
Object Explorer မှလည်း Activity Monitor ကို တိုက်ရိုက်ဖွင့်နိုင်သည်-
- Object Explorer တွင်၊ အဆိုပါနေရာကိုရှာပါ။ SQL Server သင်စောင့်ကြည့်လိုသောဥပမာ။
- instance name ကို right-click နှိပ်ပါ။
- ကို Select လုပ်ပါ Activity ကိုစောင့်ကြည့် ဆက်စပ် menu ကနေ။
သင်သည် မှန်ကန်သော ဥပမာကို စောင့်ကြည့်နေကြောင်း သေချာစေသောကြောင့် ဤနည်းလမ်းသည် ဆာဗာများစွာသို့ ချိတ်ဆက်ရာတွင် အသုံးဝင်ပါသည်။
2.3.3 နည်းလမ်း 3- ကီးဘုတ် ဖြတ်လမ်းကို အသုံးပြုခြင်း။
ကီးဘုတ်ကို အဓိကထား အသုံးပြုသူများအတွက်၊ SQL Server Management Studio သည် သီးခြားဖြတ်လမ်းတစ်ခုကို ပံ့ပိုးပေးသည်-
- SSMS သည် အသက်ဝင်သောဝင်းဒိုးဖြစ်ပြီး သင်သည် သာဓကတစ်ခုနှင့် ချိတ်ဆက်ထားကြောင်း သေချာပါစေ။
- စာနယ်ဇင်းများ Ctrl + + alt + A.
- Object Explorer တွင် လက်ရှိရွေးချယ်ထားသော စံနမူနာအတွက် လုပ်ဆောင်ချက် Monitor ကို ဖွင့်ပါမည်။
Activity Monitor သည် Object Explorer တွင် သင်ရွေးချယ်ထားသော မည်သည့် server instance နှင့် ချိတ်ဆက်မည်ကို သတိပြုပါ၊ ထို့ကြောင့် ဤဖြတ်လမ်းလင့်ခ်ကို အသုံးမပြုမီ သင်သည် မှန်ကန်သော instance ကို ရွေးချယ်ထားကြောင်း သေချာပါစေ။
၂.၃.၄ နည်းလမ်း ၄: Options Menu (Startup Configuration) မှ
Activity Monitor ကို မကြာခဏအသုံးပြုပါက အပလီကေးရှင်းကို စတင်တိုင်း SSMS ကို အလိုအလျောက်စတင်ရန် ပြင်ဆင်သတ်မှတ်နိုင်သည်-
- In SQL Server Management Studio သို့သွားပါ။ Tools များ -> Options ကို.
- Options dialog box တွင်၊ ချဲ့ပါ။ ပတ်ဝန်းကျင်, ပြီးတော့ select လုပ်ပါ startup.
- မှ startup မှာ dropdown list ကိုရွေးချယ်ပါ။ Object Explorer နှင့် Activity Monitor ကိုဖွင့်ပါ။.
- ကို Select လုပ်ပါ OK.
နောက်တစ်ကြိမ် SSMS ကိုဖွင့်ပြီး ဆာဗာတစ်ခုသို့ ချိတ်ဆက်သည့်အခါ၊ လုပ်ဆောင်ချက်စောင့်ကြည့်ကိရိယာသည် Object Explorer နှင့်အတူ အလိုအလျောက်ပွင့်သွားမည်ဖြစ်သည်။
3. လုပ်ဆောင်ချက် Monitor Panes ကို နားလည်ခြင်း။
Activity Monitor သည် အချက်အလက်များကို တိုးချဲ့နိုင်သော အကွက်ငါးခုအဖြစ် စုစည်းပြီး တစ်ခုစီသည် ဆာဗာလုပ်ဆောင်ချက်အပေါ် မတူညီသော ရှုထောင့်ကို ပေးဆောင်သည်။ အကွက်တစ်ခုစီတွင် ပြသထားသည်ကို နားလည်ခြင်းသည် ထိရောက်သော ပြဿနာဖြေရှင်းခြင်းအတွက် အရေးကြီးပါသည်။
3.1 ခြုံငုံသုံးသပ်ချက် အကန့်
ခြုံငုံသုံးသပ်ချက် အကန့်သည် သင့်အား လျင်မြန်သော ကျန်းမာရေး လျှပ်တစ်ပြက်ရိုက်ချက် ပေးစွမ်းသည့် အချိန်နှင့်တပြေးညီ ဂရပ်လေးခုကို တင်ဆက်ပါသည်။ SQL Server ဥပမာ။ ဤဂရပ်များသည် ပြင်ဆင်သတ်မှတ်နိုင်သော ကြားကာလတစ်ခုတွင် အပ်ဒိတ်လုပ်ကာ ပုံမှန်မဟုတ်သောပုံစံများကို တစ်ချက်ချင်းသိရှိနိုင်ရန် ကူညီပေးသည်။
3.1.1 % ပရိုဆက်ဆာအချိန်
ဤဂရပ်သည် ၎င်းအတွက် ပရိုဆက်ဆာသည် idle မဟုတ်သော လိုင်းများကို လုပ်ဆောင်သည့် အချိန်ရာခိုင်နှုန်းကို ပြသသည်။ SQL Server CPU အားလုံးမှာ ဥပမာ။ တန်ဖိုးကို ကိုယ်စားပြုသည်။ SQL Serverဆာဗာတစ်ခုလုံး၏ CPU အသုံးပြုမှုမဟုတ်ဘဲ 's processor အသုံးချမှု။
ပရိုဆက်ဆာအချိန်သည် ၁၀၀% သို့မဟုတ် ၁၀၀% နီးပါးတွင် အမြဲရှိနေပါက သင့်ဆာဗာသည် CPU-bound ဖြစ်နေပါသည်။ ၎င်းသည် ထိရောက်မှုမရှိသော query များ၊ index များ ပျောက်ဆုံးနေခြင်း သို့မဟုတ် hardware စွမ်းရည် မလုံလောက်ခြင်းကို ညွှန်ပြနိုင်သည်။ မည်သည့် query များသည် CPU အများဆုံး အသုံးပြုနေသည်ကို ဖော်ထုတ်ရန် Recent Expensive Queries pane ကို အသုံးပြုပါ။
3.1.2 စောင့်ဆိုင်းခြင်းလုပ်ငန်းများ
ဤမက်ထရစ်သည် ၎င်းတို့ဆက်လက်မလုပ်ဆောင်မီ အရင်းအမြစ်များကို ထုတ်လွှတ်ရန် စောင့်ဆိုင်းနေသည့် လုပ်ဆောင်စရာအရေအတွက်ကို ပြသသည်။ လုပ်ဆောင်စရာများသည် CPU၊ I/O၊ မန်မိုရီ သို့မဟုတ် လော့ခ်ချခြင်းအတွက် စောင့်ဆိုင်းနိုင်သည်။
အဆက်မပြတ် စောင့်ဆိုင်းနေသော အလုပ်များ အများအပြားသည် အရင်းအမြစ် အငြင်းပွားမှုကို ညွှန်ပြသည်။ Resource Waits pane သည် စောင့်ဆိုင်းခြင်းကို ဖြစ်စေသော အရင်းအမြစ်အမျိုးအစားများအကြောင်း အသေးစိတ်ကို ပေးပါသည်။
3.1.3 ဒေတာဘေ့စ် I/O (MB/s)
ဤဂရပ်သည် မန်မိုရီနှင့် ဒစ်ခ်အကြား ဒေတာလွှဲပြောင်းမှုနှုန်းကို ပြသသည်။ ၎င်းသည် တစ်စက္ကန့်လျှင် မီဂါဘိုက်ဖြင့် တိုင်းတာသော ဖတ်ခြင်းနှင့် ရေးခြင်း နှစ်မျိုးလုံးကို ပေါင်းစပ်ထားသည်။
ဒေတာဘေ့စ် I/O တွင် Spikes များသည် ကြီးမားသော စားပွဲစကင်ဖတ်ခြင်းများကို လုပ်ဆောင်သည့် မေးခွန်းများ၊ အလွန်အကျွံ မှတ်တမ်းယူခြင်း သို့မဟုတ် စစ်ဆေးရေးဂိတ်လုပ်ဆောင်မှုများကို ညွှန်ပြနိုင်သည်။ Data File I/O pane သည် ဒေတာဘေ့စ်နှင့် ဖိုင်ဖြင့် I/O လုပ်ဆောင်ချက်ကို ဖြိုခွဲသည်။
3.1.4 အသုတ်တောင်းဆိုမှုများ/စက္ကန့်
ဤမက်ထရစ်သည် အရေအတွက်ကို ကိုယ်စားပြုသည်။ SQL Server instance per second မှရရှိသော အတွဲများ။ အသုတ်တစ်ခုသည် တစ်ခုတည်းသောထုတ်ပြန်ချက် သို့မဟုတ် အများအပြားကို အတူတကွတင်ပြနိုင်သည်။
ဤတန်ဖိုးသည် သင့်အား ဆာဗာတစ်ခုလုံး၏ လုပ်ဆောင်ချက်ကို ခံစားရစေသည်။ ပုံမှန်အလုပ်ချိန်အတွင်း အစုလိုက်တောင်းဆိုမှုများ ရုတ်တရက်ကျဆင်းသွားပါက အက်ပ်ချိတ်ဆက်မှုပြဿနာများ သို့မဟုတ် အသုံးပြုသူရင်ဆိုင်နေရသော ပြဿနာများကို ဖော်ပြနိုင်သည်။
3.1.5 ပြန်လည်စတင်သည့်ကာလများကို သတ်မှတ်ခြင်း။
Activity Monitor သည် ၎င်း၏ဒေတာကို မည်မျှမကြာခဏ အပ်ဒိတ်လုပ်သည်ကို သင်စိတ်ကြိုက်ချိန်ညှိနိုင်သည်-
- Overview အကန့်ရှိ မည်သည့်နေရာတွင်မဆို ညာကလစ်နှိပ်ပါ။
- ကို Select လုပ်ပါ ကြားကာလကို ပြန်လည်စတင်ပါ။.
- ကြိုတင်သတ်မှတ်ထားသော တန်ဖိုးများမှ ကြားကာလကို ရွေးပါ- 1 စက္ကန့်၊ 5 စက္ကန့်၊ 10 စက္ကန့် (ပုံသေ)၊ 30 စက္ကန့်၊ 1 မိနစ် သို့မဟုတ် 1 နာရီ။
10 စက္ကန့်အောက် ပြန်လည်ဆန်းသစ်သည့်ကြားကာလများကို သတ်မှတ်ခြင်းသည် သင့်ဆာဗာပေါ်တွင် စောင့်ကြည့်မှုကို တိုးစေသည်။ လေးလံသောဝန်ထုပ်ဝန်ပိုးရှိသော ထုတ်လုပ်မှုစနစ်များအတွက် ထိခိုက်မှုအနည်းဆုံးဖြစ်စေရန် စက္ကန့် 30 သို့မဟုတ် ပိုကြာသောကြားကာလများကို အသုံးပြုပါ။
3.2 လုပ်ငန်းစဉ်များ အကန့်
Processes pane သည် သင့်တွင် လက်ရှိလုပ်ဆောင်နေသော session များအကြောင်း အချက်အလက်ကို ပြသပေးပါသည်။ SQL Server ဥပမာ။ ဤအကွက်သည် မည်သူလုပ်နေသည်ကို ဖော်ထုတ်ရန်နှင့် ပိတ်ဆို့ခြင်းဆိုင်ရာ ပြဿနာများကို ရှာဖွေရန်အတွက် မရှိမဖြစ်လိုအပ်ပါသည်။
3.2.1 လုပ်ငန်းစဉ်အချက်အလက်များကို နားလည်ခြင်း။
Processes pane ရှိ အတန်းတစ်ခုစီသည် ဆာဗာပေါ်တွင် အသက်ဝင်သော session တစ်ခုကို ကိုယ်စားပြုသည်။ အကန့်သည် ဒေတာဘေ့စ်အားလုံးနှင့် အသုံးပြုသူအားလုံးမှ ဆက်ရှင်များကို ပြသပေးကာ ဆာဗာလုပ်ဆောင်ချက်ကို ကျယ်ကျယ်ပြန့်ပြန့်ကြည့်ရှုနိုင်စေပါသည်။
ပြသထားသော အချက်အလက်များတွင် login name၊ application name၊ host name၊ ဝင်ရောက်ကြည့်ရှုနေသော database နှင့် လက်ရှိ command များ ပါဝင်သည်။ ၎င်းသည် database activity ကို သတ်မှတ်ထားသော user များ သို့မဟုတ် application များနှင့် ဆက်စပ်ရန် ကူညီပေးသည်။
3.2.2 သော့ကော်လံများကို ရှင်းပြထားသည်။
သော့ကော်လံများကို နားလည်ခြင်းဖြင့် လုပ်ငန်းစဉ်အချက်အလက်ကို ထိထိရောက်ရောက် အဓိပ္ပာယ်ပြန်ဆိုရန် ကူညီပေးသည်-
- စက်ရှင် ID- ချိတ်ဆက်မှုတစ်ခုစီအတွက် သီးခြားသတ်မှတ်မှုတစ်ခု။ စနစ်လုပ်ငန်းစဉ်များသည် အနုတ်လက္ခဏာ ဆက်ရှင် ID များကို အသုံးပြုသည်။
- အသုံးပြုသူ လုပ်ငန်းစဉ်- ၎င်းသည် အသုံးပြုသူ စက်ရှင် (Yes) သို့မဟုတ် စနစ်လုပ်ငန်းစဉ် (No) ဟုတ်မဟုတ် ညွှန်ပြသည်။
- လော့ဂ်အင်: အဆိုပါ SQL Server အကောင့်ဝင်ခြင်း သို့မဟုတ် စက်ရှင်နှင့်ဆက်စပ်နေသော Windows အကောင့်။
- ဒေတာဘေ့စ စက်ရှင်အတွက် လက်ရှိဒေတာဘေ့စ်အကြောင်းအရာ။
- လုပ်ဆောင်စရာ အခြေအနေ- စက်ရှင် လက်ရှိလုပ်ဆောင်နေသည့်အရာကို ပြသည် (ပြေးနေခြင်း၊ ရပ်ဆိုင်းခြင်း၊ အိပ်နေခြင်း၊ စသည်ဖြင့်)။
- command: လုပ်ဆောင်နေသည့် command အမျိုးအစား (SELECT၊ INSERT၊ UPDATE စသည်ဖြင့်)။
- လျှောက်လွှာ: ချိတ်ဆက်မှုကို ဖန်တီးသော အပလီကေးရှင်းအမည်။
- စောင့်ဆိုင်းအချိန် စက်ရှင်သည် အရင်းအမြစ်များကို မည်မျှကြာအောင် (မီလီစက္ကန့်အတွင်း) စောင့်ဆိုင်းနေသနည်း။
- စောင့်ဆိုင်းရန် အမျိုးအစား- စက်ရှင်စောင့်မျှော်နေသော သီးခြားအရင်းအမြစ်အမျိုးအစား။
- CPU အချိန်- ၎င်းကိုချိတ်ဆက်ထားသောကြောင့် ဤစက်ရှင်မှအသုံးပြုသည့် စုစုပေါင်း CPU အချိန်။
- မှတ်ဉာဏ်အသုံးပြုမှု- စက်ရှင်အတွက် လက်ရှိခွဲဝေပေးထားသည့် မမ်မိုရီပမာဏ (KB)။
3.2.3 စစ်ထုတ်ခြင်းနှင့် စီခြင်းလုပ်ငန်းစဉ်များ
လုပ်ငန်းစဉ်များ အကန့်တွင် သက်ဆိုင်ရာ ဆက်ရှင်များကို အာရုံစိုက်နိုင်ရန် အားကောင်းသော စစ်ထုတ်နိုင်စွမ်းများ ပါဝင်သည်-
- မည်သည့်ကော်လံခေါင်းစီးရှိ dropdown မြှားကိုနှိပ်ပါ။
- စစ်ထုတ်မှု အပါအဝင် ထိုကော်လံအတွက် ရနိုင်သောတန်ဖိုးများကို ပြသသည်။ အားလုံး, ကွက်လပ်နှင့် ကွက်လပ်များ.
- ဖန်သားပြင်ကို ထိုစက်ရှင်များသာ စစ်ထုတ်ရန် သီးခြားတန်ဖိုးများကို ရွေးပါ။
ဥပမာအားဖြင့်, သင် filter နိုင်ပါတယ်။ Task State ပြေးနေသော ဆက်ရှင်များကိုသာ ပြသရန် သို့မဟုတ် စစ်ထုတ်ပါ။ ဒေတာဘေ့စ သီးခြားဒေတာဘေ့စ်တစ်ခုအပေါ် လုပ်ဆောင်ချက်ကို ကြည့်ရှုရန်။
၎င်း၏ ခေါင်းစီးကို နှိပ်ခြင်းဖြင့် မည်သည့်ကော်လံကိုမဆို စီစဥ်နိုင်သည်။ ကြီးစဉ်ငယ်လိုက်အတွက် တစ်ကြိမ်၊ ကြီးစဉ်ငယ်လိုက်အတွက် နှစ်ကြိမ်နှိပ်ပါ။
3.2.4 ပိတ်ဆို့ခြင်းနှင့် ပိတ်ဆို့ထားသော ဆက်ရှင်များကို ခွဲခြားသတ်မှတ်ခြင်း။
လုပ်ငန်းစဉ်များ အကန့်သည် သင့်အား ဆက်ရှင်တစ်ခုမှ အခြားသူများ ဆက်လက်မလုပ်ဆောင်နိုင်အောင် တားဆီးထားသည့် ပိတ်ဆို့ခြင်းဆိုင်ရာ အခြေအနေကို ခွဲခြားသတ်မှတ်ရန် ကူညီပေးသည်-
- ပိတ်ဆို့ထားသည်- ဤစက်ရှင်ကို ပိတ်ဆို့နေသည့် စက်ရှင်၏ စက်ရှင် ID ကို ပြသည်။ ဤကော်လံတွင် တန်ဖိုးတစ်ခုပါဝင်နေပါက၊ စက်ရှင်သည် အခြားစက်ရှင်တစ်ခုမှ သော့ခတ်မှုကို စောင့်ဆိုင်းနေပါသည်။
- Head Blocker- ဤစက်ရှင်သည် အခြားသူများကို ပိတ်ဆို့ထားသော်လည်း သူ့အလိုလို ပိတ်ဆို့ထားခြင်းမရှိပါက '1' ကို ပြသသည်။ ဤသည်မှာ ပိတ်ဆို့ခြင်းကွင်းဆက်၏ မူလဇစ်မြစ်ဖြစ်သည်။
ပိတ်ဆို့ခြင်းပြဿနာကို စုံစမ်းစစ်ဆေးရန်၊ ဦးစွာ ခေါင်းပိတ်ဆို့ခြင်း (Head Blocker ကော်လံတွင် '1' ဖြင့် အမှတ်အသားပြုထားသည့် ဆက်ရှင်ကို ဖော်ထုတ်ပါ)၊ ထို့နောက် ၎င်းလုပ်ဆောင်နေသည့်အရာကို စစ်ဆေးပြီး ၎င်းကို အပြီးသတ်ခွင့်ပြုရန် သို့မဟုတ် ရပ်စဲရန် ဆုံးဖြတ်ပါ။
3.2.5 လုပ်ငန်းစဉ်လုပ်ဆောင်ချက်များ (သတ်ခြင်း၊ အသေးစိတ်၊ ခြေရာခံခြင်း)
Activity Monitor သည် သင့်အား တစ်ဦးချင်း စက်ရှင်များပေါ်တွင် လုပ်ဆောင်ရန် ခွင့်ပြုသည်-
- Processes pane ရှိ မည်သည့် session ကိုမဆို Right-click နှိပ်ပါ။
- ရွေးချယ်စရာများစွာကို သင်တွေ့လိမ့်မည်-
- အသေးစိတ်: ဤစက်ရှင်မှ လုပ်ဆောင်ခဲ့သော နောက်ဆုံးအမိန့်ကို ပြသည်။
- သတ်ခြင်းလုပ်ငန်းစဉ်- စက်ရှင်ကို ရပ်စဲသည် (သတိဖြင့်သုံးပါ)။
- လုပ်ငန်းစဉ်ကို ခြေရာခံပါ။ SQL Server ပရိုဖိုင်း- မိတ်ဆက် SQL Server အရည်အသွေး နှင့် ဤစက်ရှင်မှ လုပ်ဆောင်ချက်များကိုသာ ပြသရန် အလိုအလျောက် စစ်ထုတ်ပါသည်။
အသေးစိတ်ရွေးချယ်မှုသည် သင့်အား အမိန့်စာစာသားကိုပြသသော်လည်း ၎င်းသည် ၎င်းဖြစ်သည်ကို သတိပြုပါ။ နောက်ဆုံး အမိန့်ကို ကွပ်မျက်သည်- ၎င်းသည် မလည်ပတ်နိုင်သေးပါ။ session တစ်ခုလုပ်ဆောင်နေသည့် command များ၏ ပြီးပြည့်စုံသော sequence ကိုကြည့်ရှုရန် လိုအပ်သောအခါ Trace option သည် အထူးအသုံးဝင်ပါသည်။
3.3 အရင်းအမြစ် စောင့်ဆိုင်းခြင်း အကန့်
Resource Waits pane သည် စောင့်ဆိုင်းမှုစာရင်းအင်းများကို အကျဉ်းချုပ်ဖော်ပြထားပြီး မည်သည့် resource session အမျိုးအစားများကို အများဆုံးစောင့်ဆိုင်းနေသည်ကို ပြသထားသည်။ ဤအချက်အလက်သည် စွမ်းဆောင်ရည် အတားအဆီးများကို ရှာဖွေဖော်ထုတ်ရာတွင် အရေးကြီးပါသည်။
3.3.1 စောင့်ဆိုင်းစာရင်းအင်းများကို နားလည်ခြင်း။
ဘယ်တော့လဲ SQL Server ရင်းမြစ်တောင်းဆိုချက် (သော့ခတ်၊ CPU အချိန် သို့မဟုတ် မှတ်ဉာဏ်ကဲ့သို့) အရင်းအမြစ်တောင်းဆိုမှုကို ချက်ချင်း မပေးနိုင်ပါက တောင်းဆိုသည့်လုပ်ငန်းသည် စောင့်ဆိုင်းရသည့် အခြေအနေသို့ ရောက်ရှိလာပါသည်။ စောင့်ဆိုင်းစာရင်းဇယားများသည် ဤစောင့်ဆိုင်းချိန်များကို ခြေရာခံပြီး အလုပ်လုပ်မည့်အစား ဆာဗာက အချိန်စောင့်ဆိုင်းနေသည့်နေရာကို နားလည်ရန် ကူညီပေးသည်။
Resource Waits pane သည် sys.dm_os_wait_stats နှင့် sys.dm_exec_requests ကဲ့သို့သော စနစ်ပြောင်းလဲနေသော စီမံခန့်ခွဲမှုအမြင်များမှ အချက်အလက်များကို စုဆောင်းပါသည်။ ပြန်လည်ဆန်းသစ်သည့်ကာလတစ်ခုစီတွင်၊ ၎င်းသည် လက်ရှိနှင့် ယခင်လျှပ်တစ်ပြက်ရိုက်ချက်အကြား ကွာခြားချက်ကို တွက်ချက်ပြီး စောင့်ဆိုင်းအမျိုးအစားတစ်ခုစီအတွက် စုဆောင်းမှုနှုန်းကို ပြသပေးပါသည်။
3.3.2 စောင့်ပါ အမျိုးအစားများ
Activity Monitor သည် ရာနှင့်ချီသော တစ်ဦးချင်းစီ စောင့်ဆိုင်းခြင်း အမျိုးအစားများကို အဓိပ္ပာယ်ဖွင့်ဆိုရာတွင် ရိုးရှင်းစေရန် ပိုမိုကျယ်ပြန့်သော အမျိုးအစားများအဖြစ် ဖွဲ့ထားသည်-
- CPU ကို: CPU အချိန်ကို စောင့်ဆိုင်းနေသော အလုပ်များ။
- Buffer Latch- မန်မိုရီအတွင်းရှိ ဒေတာစာမျက်နှာများသို့ ဝင်ရောက်ခွင့်ကို ကာကွယ်ပေးသည့် ရေတိုအချိန်တူ ထပ်တူပြုခြင်း အရာဝတ္ထုများကို စောင့်ပါ။ ဤကဏ္ဍတွင် စာမျက်နှာ ဆိုင်းဘုတ်စောင့်ခြင်း (PAGELATCH_*) ပါဝင်သည်။
- သော့ခတ်: အခြားဆက်ရှင်များ လိုအပ်သည့် သော့ခတ်ထားသော စက်ရှင်များကြောင့် စောင့်ဆိုင်းရခြင်းများ။
- မှတ်ဉာဏ်: အမျိုးအစားခွဲခြင်းနှင့် ဟက်ခြင်းကဲ့သို့သော လုပ်ဆောင်ချက်များအတွက် လိုအပ်သော မန်မိုရီထောက်ပံ့ကြေးများကို စောင့်မျှော်နေပါသည်။
- ကွန်ရက် I/O- ဖောက်သည်များထံမှ ဒေတာပေးပို့ခြင်း သို့မဟုတ် ဒေတာလက်ခံခြင်းကို စောင့်ဆိုင်းပါ။
- SQL CLR- Common Language Runtime နှင့်သက်ဆိုင်သော စောင့်ဆိုင်းခြင်း။
ဤအုပ်စုဖွဲ့ခြင်းက မြင်ကွင်းကို ရိုးရှင်းစေသော်လည်း အရေးကြီးသောအသေးစိတ်အချက်အလက်များကိုလည်း ဖုံးကွယ်ထားသည်။ ဥပမာအားဖြင့်၊ "Buffer Latch" သည် PAGELATCH_SH၊ PAGELATCH_UP နှင့် PAGELATCH_EX စောင့်ဆိုင်းမှုများကို အတူတကွစုဖွဲ့နိုင်ပြီး စွမ်းဆောင်ရည်အတွက် မတူညီသောသက်ရောက်မှုများရှိသည်။
3.3.3 Wait Time နှင့် Wait Tasks ကို ဘာသာပြန်ခြင်း။
Resource Waits pane သည် စောင့်ဆိုင်းမှုအမျိုးအစားတစ်ခုစီအတွက် အဓိက မက်ထရစ်နှစ်ခုကို ပြသသည်-
- စုပြုံစောင့်ဆိုင်းချိန် (ms): ဤစောင့်ဆိုင်းမှုအမျိုးအစားအတွက် လက်ရှိပြန်လည်ဆန်းသစ်မှုကြားကာလအတွင်း စုစုပေါင်း မီလီစက္ကန့်များ စုစည်းမှု။
- စောင့်ဆိုင်းနေသော အလုပ်များ- ဤအမျိုးအစားရှိ အရင်းအမြစ်များကို စောင့်ဆိုင်းနေသည့် လက်ရှိလုပ်ဆောင်စရာ အရေအတွက်။
စောင့်ဆိုင်းချိန်တန်ဖိုးသည် အထူးစိတ်ဝင်စားစရာကောင်းသည်။ အကယ်၍ သင့်တွင် 10 စက္ကန့်ပြန်လည်ဆန်းသစ်သည့်ကာလတစ်ခုရှိပြီး အမျိုးအစားတစ်ခုအတွက် စောင့်ဆိုင်းချိန် 20,000ms ကိုတွေ့ပါက၊ အကြိမ်ပေါင်းများစွာ တစ်ပြိုင်တည်းစောင့်ဆိုင်းမှုများကို ညွှန်ပြသည် (20,000ms / 10,000ms = ကြားကာလအတွင်း ပျမ်းမျှ 2 ကြိမ် တစ်ပြိုင်နက်စောင့်ဆိုင်းခြင်း)။
3.3.4 စွမ်းဆောင်ရည် ပိတ်ဆို့မှုများကို ခွဲခြားသတ်မှတ်ခြင်း။
သင့်ဆာဗာသည် မည်သည့်နေရာတွင် အများဆုံးစောင့်ဆိုင်းနေသည်ကို သိရှိရန် Resource Waits pane ကို အသုံးပြုပါ။
- Resource Waits အကွက်ကို ချဲ့ပါ။
- အမြင့်ဆုံးစောင့်ဆိုင်းချိန်များကို စုဆောင်းထားသည့် စောင့်ဆိုင်းမှုအမျိုးအစားများကို ကြည့်ပါ။
- အစဥ်လိုက် စုပြုံစောင့်ဆိုင်းချိန် ဘယ်အရင်းအမြစ်တွေက အကန့်သတ်ဆုံးဖြစ်လဲဆိုတာ ကြည့်ဖို့။
High Buffer Latch စောင့်ဆိုင်းခြင်းသည် မကြာခဏ I/O ပိတ်ဆို့မှုများ သို့မဟုတ် tempdb ပြိုင်ဆိုင်မှုကို ညွှန်ပြနိုင်သည့် မမ်မိုရီအတွင်းရှိ ဒေတာစာမျက်နှာများအတွက် ငြင်းခုံမှုကို ညွှန်ပြလေ့ရှိသည်။ High Lock သည် ပိတ်ဆို့ခြင်းပြဿနာများကို ထောက်ပြသည်။ မြင့်မားသော Memory စောင့်ဆိုင်းမှုများသည် မေးမြန်းမှုလုပ်ဆောင်မှုများအတွက် မလုံလောက်သော မမ်မိုရီထောက်ပံ့ကြေးများကို အကြံပြုပါသည်။
3.4 ဒေတာဖိုင် I/O အကန့်
ဒေတာဖိုင် I/O အကန့်သည် သင့်ဆာဗာရှိ ဒေတာဘေ့စ်ဖိုင်တစ်ခုစီအတွက် ဒစ်ခ်လုပ်ဆောင်ချက်ကို ပြသပြီး I/O ပိတ်ဆို့မှုများကို ခွဲခြားသိရှိနိုင်ပြီး ဒစ်ခ်အသုံးပြုမှုပုံစံများကို နားလည်ရန် ကူညီပေးသည်။
3.4.1 I/O မက်ထရစ်များကို နားလည်ခြင်း။
ဒေတာဖိုင် I/O အကန့်သည် ဒေတာဘေ့စ်ဖိုင်တစ်ခုစီအတွက် မက်ထရစ်များစွာကို ပြသသည်-
- ဒေတာဘေ့စ ဒေတာဘေ့စ်၏အမည်။
- ဖိုင်အမျိုးအစား: ဒေတာ (ဇယားများနှင့် အညွှန်းများ အပါအဝင်) သို့မဟုတ် မှတ်တမ်း (ငွေပေးငွေယူ မှတ်တမ်း)။
- ယုတ္တိတန်သောအမည်- သတ်မှတ်ထားသည့်အတိုင်း ယုတ္တိရှိသော ဖိုင်အမည် SQL Server.
- MB/sec ဖတ်ရန်- ဤဖိုင်မှ ဒေတာဖတ်နှုန်း။
- MB/sec ရေးသားခဲ့သည်- ဤဖိုင်သို့ ရေးထားသော ဒေတာနှုန်း။
- တုံ့ပြန်ချိန် (ms): ဤဖိုင်ရှိ I/O လုပ်ဆောင်ချက်များအတွက် ပျမ်းမျှတုံ့ပြန်ချိန်။
ဤမက်ထရစ်များသည် ခြုံငုံသုံးသပ်ချက်အကန့်နှင့် တူညီသောအကွာအဝေးတွင် ပြန်လည်ဆန်းသစ်ပြီး ဒစ်ခ်လုပ်ဆောင်ချက်ကို သင့်အား အချိန်နှင့်တစ်ပြေးညီ မြင်နိုင်စွမ်းရှိစေသည်။
3.4.2 I/O ပိတ်ဆို့မှုများကို ခွဲခြားသတ်မှတ်ခြင်း။
I/O စွမ်းဆောင်ရည် ပြဿနာများကို ဖော်ပြသော ဤပုံစံများကို စောင့်ကြည့်ပါ-
- မြင့်မားသောတုံ့ပြန်မှုအချိန်- တုံ့ပြန်မှုအကြိမ်ရေ 15-20ms အထက်တွင် နှေးကွေးသောဒစ်ခွဲစနစ်များကို အကြံပြုပါသည်။ 50ms အထက်တုံ့ပြန်မှုအချိန်များသည် ပြင်းထန်သော I/O ပိတ်ဆို့မှုများကို ဖော်ပြသည်။
- မမျှတသောဝန်- ဒေတာဖိုင်တစ်ခုသည် တူညီသောဒေတာဘေ့စ်ရှိ အခြားသူများထက် I/O နှုန်းများ သိသိသာသာမြင့်မားသည်ကို ပြသပါက၊ ဝန်ကိုဖြန့်ဝေရန်အတွက် နောက်ထပ်ဖိုင်များထည့်ခြင်းမှ သင်အကျိုးကျေးဇူးရရှိနိုင်ပါသည်။
- အလွန်အကျွံ Tempdb လုပ်ဆောင်ချက်- tempdb ဖိုင်များတွင် မြင့်မားသော I/O နှုန်းထားများသည် အလယ်အလတ်ရလဒ်အစုံများကို ဖန်တီးခြင်း သို့မဟုတ် ထိရောက်မှုမရှိသော အကောင်အထည်ဖော်မှုအစီအစဉ်များကို အသုံးပြုနေသည့် စုံစမ်းမေးမြန်းမှုများကို ညွှန်ပြလေ့ရှိသည်။
3.4.3 ဒေတာဘေ့စ် ဖိုင်ခွဲခြမ်းစိတ်ဖြာခြင်း။
သင့်ဒေတာဘေ့စ်များသည် disk အရင်းအမြစ်များကို မည်သို့အသုံးပြုသည်ကို နားလည်ရန် Data File I/O pane ကို အသုံးပြုပါ-
- ဒေတာဖိုင် I/O အကွက်ကို ချဲ့ပါ။
- အစဥ်လိုက် MB/sec ဖတ်ပါ။ or MB/sec ရေးသားထားသည်။ အတက်ကြွဆုံးဖိုင်များကို ဖော်ထုတ်ရန်။
- တသမတ်တည်း မြင့်မားသော လုပ်ဆောင်ချက် သို့မဟုတ် တုံ့ပြန်မှု ကြာမြင့်သော ဖိုင်များကို မှတ်သားပါ။
- မည်သည့်မေးခွန်းများက I/O ဝန်ကို မောင်းနှင်သည်ကို ခွဲခြားသတ်မှတ်ရန် မကြာသေးမီက တန်ဖိုးကြီးမေးခွန်းများ အကန့်နှင့် ဤအချက်အလက်ကို ကူးယူကိုးကားပါ။
3.5 မကြာသေးမီက တန်ဖိုးကြီးမေးခွန်းများ အကန့်
Recent Expensive Queries pane သည် application performance ပြဿနာများကို ဖြေရှင်းရန်အတွက် အဖိုးတန်ဆုံး pane ဖြစ်လေ့ရှိသည်။ ၎င်းသည် server resource များစွာကို အသုံးပြုနေသော query များကို ပြသပေးပြီး optimization အခွင့်အလမ်းများကို ဖော်ထုတ်ရာတွင် ကူညီပေးသည်။
3.5.1 Query Metrics ကို နားလည်ခြင်း။
လုပ်ဆောင်ချက်စောင့်ကြည့်ကိရိယာသည် စျေးကြီးသောမေးခွန်းတစ်ခုစီအတွက် မက်ထရစ်များစွာကို ပြသသည်-
- ကွပ်မျက်ခြင်း/မိနစ်- နောက်ဆုံးမိနစ်အတွင်း မေးမြန်းမှုကို အကြိမ်မည်မျှ လုပ်ဆောင်ခဲ့သည်။
- CPU (ms/sec): ဤမေးမြန်းချက်ကြောင့် တစ်စက္ကန့်လျှင် CPU အချိန်ကုန်သည်။
- ရုပ်ပိုင်းဖတ်ခြင်း/စက္ကန့်- ဤမေးခွန်းအတွက် တစ်စက္ကန့်လျှင် ရုပ်ပိုင်းဆိုင်ရာဒစ်ဖတ်သည့်အရေအတွက်။
- ယုတ္တိဗေဒဆိုင်ရာ ရေးသားချက်များ/စက္ကန့်- တစ်စက္ကန့်လျှင် ယုတ္တိဗေဒဆိုင်ရာ ရေးသားမှုအရေအတွက် (ကြားခံကက်ရှ်သို့)။
- ယုတ္တိရှိရှိဖတ်ခြင်း/စက္ကန့်- တစ်စက္ကန့်လျှင် ယုတ္တိတန်သော ဖတ်ရှုမှုအရေအတွက် (ကြားခံကက်ရှ်မှ)။
- ပျမ်းမျှကြာချိန် (ms): ဤမေးခွန်းအတွက် ပျမ်းမျှလုပ်ဆောင်ချိန်။
- အစီအစဉ် အရေအတွက်- ဤမေးမြန်းချက်အတွက် ကက်ရှ်ရှိ အကောင်အထည်ဖော်မှုအစီအစဉ်အရေအတွက်။
ဤမက်ထရစ်များသည် မည်သည့်မေးခွန်းများ စျေးကြီးရုံမျှမက နားလည်နိုင်စေရန် ကူညီပေးပါသည်။ အဘယ်ကြောင့် စျေးကြီးပြီး ဘယ်နှစ်ကြိမ် ပြေးလဲ။
3.5.2 အမျိုးအစားခွဲခြင်း ရွေးချယ်စရာများ
ပြဿနာအမျိုးအစားများကို ရှာဖွေရန် မကြာသေးမီက တန်ဖိုးကြီးသောမေးခွန်းများ အကန့်ကို မတူညီသော မက်ထရစ်များဖြင့် စီစဥ်နိုင်သည်-
- ထိုမက်ထရစ်ဖြင့် စီရန် ကော်လံခေါင်းစီးကို နှိပ်ပါ။
- အသုံးများသော အမျိုးအစားခွဲခြင်းဗျူဟာများ ပါဝင်သည်-
- CPU ဖြင့် စီရန်- ပရိုဆက်ဆာအချိန် အများဆုံးယူသော မေးမြန်းချက်များကို ရှာပါ။
- ကွပ်မျက်မှုများ/မိနစ်အလိုက် စီရန်- မကြာခဏ အလွန်အကျွံ လည်ပတ်နေသော မေးခွန်းများကို ဖော်ထုတ်ပါ။
- Physical Reads အလိုက် စီရန်- disk I/O အများဆုံးဖြစ်စေတဲ့ query တွေကို ရှာပါ။
- ပျမ်းမျှကြာချိန်အလိုက် စီရန်- ရေရှည်မေးခွန်းများကို ရှာဖွေပါ။
စွမ်းဆောင်ရည်ပြဿနာကို ဖြေရှင်းရာတွင် မတူညီသောအမြင်များရရှိရန် ကော်လံအများအပြားဖြင့် စီရန်ကြိုးစားပါ။ အလယ်အလတ် CPU အသုံးပြုမှု ရှိသော်လည်း တစ်မိနစ်လျှင် အလွန်မြင့်မားသော လုပ်ဆောင်မှုများသည် သင့်ပြဿနာ ဖြစ်နိုင်သည်။
3.5.3 Query စာသားကိုကြည့်ရှုခြင်း။
စျေးကြီးသောမေးမြန်းမှုနောက်ကွယ်ရှိ အမှန်တကယ် SQL ကြေညာချက်ကိုကြည့်ရှုရန်-
- Recent Expensive Queries pane ရှိ query row ပေါ်တွင် right-click လုပ်ပါ။
- ကို Select လုပ်ပါ Query Text ကို တည်းဖြတ်ပါ။.
- ပြီးပြည့်စုံသော SQL ကြေညာချက်ကိုပြသသည့် query window အသစ်တစ်ခုဖွင့်လှစ်သည်။
၎င်းသည် သင့်အား မေးမြန်းမှုဆိုင်ရာ ယုတ္တိဗေဒကို ဆန်းစစ်ရန်နှင့် အလားအလာ အကောင်းဆုံးဖြစ်အောင် လုပ်ဆောင်နိုင်သည့် အခွင့်အလမ်းများကို ဖော်ထုတ်နိုင်စေပါသည်။ ထို့နောက် သင်သည် ပြုပြင်ထားသောဗားရှင်းများကို စမ်းသပ်ရန်အတွက် မေးခွန်းစာသားကို ကူးယူနိုင်ပါသည်။
3.5.4 အကောင်အထည်ဖော်မှုအစီအစဉ်များကို ဆန်းစစ်ခြင်း။
အကောင်အထည်ဖော်မှုအစီအစဥ်က သင့်ကို ဘယ်လိုပြသမလဲ။ SQL Server ပျောက်ဆုံးနေသော အညွှန်းများ သို့မဟုတ် မသင့်လျော်သော ပူးပေါင်းအမျိုးအစားများကဲ့သို့ ထိရောက်မှု မရှိသော စုံစမ်းမေးမြန်းမှုကို လုပ်ဆောင်သည်-
- Recent Expensive Queries pane ရှိ query row ပေါ်တွင် right-click လုပ်ပါ။
- ကို Select လုပ်ပါ အကောင်အထည်ဖော်မှု အစီအစဉ်ကို ပြပါ။.
- SQL Server Management Studio သည် query ကို မည်ကဲ့သို့ လုပ်ဆောင်ပုံ၏ ဂရပ်ဖစ် ကိုယ်စားပြုမှုကို ပြသသည်။
မေးမြန်းမှုကုန်ကျစရိတ်၏ ရာခိုင်နှုန်းများစွာကို အသုံးပြုသည့် လုပ်ဆောင်ချက်များ၊ ပျောက်ဆုံးနေသော စာရင်းအင်းများ သို့မဟုတ် အညွှန်းကိန်းများအကြောင်း သတိပေးချက်များနှင့် မမျှော်လင့်ထားသော ဇယားစကင်န်ဖတ်ခြင်းလုပ်ဆောင်ချက်များကို ရှာဖွေပါ။ ၎င်းတို့သည် ပိုမိုကောင်းမွန်အောင်လုပ်ဆောင်ခြင်း ကြိုးပမ်းအားထုတ်မှုများ မည်သည့်နေရာကို အာရုံစိုက်သင့်သည်ကို မကြာခဏ ညွှန်ပြလေ့ရှိသည်။
3.5.5 ပြဿနာရှိသောမေးခွန်းများကို ခွဲခြားသတ်မှတ်ခြင်း။
မကြာသေးမီက စျေးကြီးသော မေးခွန်းများ အကန့်တွင် ဤပုံစံများကို ကြည့်ပါ-
- အလွန်အကျွံ ကွပ်မျက်မှုများ- တစ်မိနစ်လျှင် အကြိမ်ပေါင်း ထောင်နှင့်ချီပြီး လုပ်ဆောင်သည့် query သည် အပလီကေးရှင်းကုဒ်အား ကွင်းဆက်အတွင်းရှိ ဒေတာဘေ့စ်ကို ခေါ်သည့် N+1 မေးခွန်းပြဿနာကို ညွှန်ပြနိုင်သည်။
- မြင့်မားသော ရုပ်ပိုင်းဆိုင်ရာ ဖတ်ရှုမှုများ- ရုပ်ပိုင်းဆိုင်ရာဖတ်နှုန်းမြင့်မားသောမေးခွန်းများသည် ဒစ်ခ်ကိုမကြာခဏဝင်ရောက်လေ့ရှိပြီး ပျောက်ဆုံးနေသောအညွှန်းများ သို့မဟုတ် အရေးအသားညံ့ဖျင်းသောမေးခွန်းများကိုအကြံပြုပါသည်။
- ကြာမြင့်ချိန်နည်းသော CPU မြင့်မားသည်- စုစည်းမှုတွင် CPU အများအပြားစားသုံးသည့် မြန်ဆန်သောမေးခွန်းများစွာသည် နှေးကွေးသောမေးခွန်းအချို့ကဲ့သို့ပင် ဆာဗာစွမ်းဆောင်ရည်ကို သက်ရောက်မှုရှိနိုင်သည်။
- များစွာသော အစီအစဉ် အရေအတွက်- အကောင်အထည်ဖော်မှုအစီအစဉ်များစွာပါရှိသော မေးခွန်းများသည် ပါရာမီတာ အနံ့ခံခြင်းဆိုင်ရာ ပြဿနာများ သို့မဟုတ် ပရိုဂရမ် ကက်ရှ်ဖောင်းပွမှုကို ဖြစ်စေသည့် ကန့်သတ်ချက်မရှိသော မေးမြန်းမှုများကြောင့် ကြုံတွေ့ရနိုင်သည်။
4. စွမ်းဆောင်ရည်ပြဿနာဖြေရှင်းခြင်းအတွက် လုပ်ဆောင်ချက်စောင့်ကြည့်ကိရိယာကို အသုံးပြုခြင်း။
လုပ်ဆောင်ချက်ပြဿနာများကို ရှာဖွေဖော်ထုတ်ရန်နှင့် ဖြေရှင်းရန် သင်စနစ်တကျအသုံးပြုသောအခါ လုပ်ဆောင်ချက်စောင့်ကြည့်ကိရိယာသည် အမှန်တကယ်တောက်ပနေပါသည်။ ဤကဏ္ဍတွင် အဖြစ်များသော ပြဿနာဖြေရှင်းခြင်းဆိုင်ရာ အခြေအနေများနှင့် ၎င်းတို့ကို မည်သို့ချဉ်းကပ်ရမည်ကို ပါရှိသည်။
4.1 အလွန်အကျွံ မေးမြန်းမှု လုပ်ဆောင်ချက်များကို အဖြေရှာခြင်း။
အဖြစ်အများဆုံး စွမ်းဆောင်ရည်ပြဿနာများထဲမှ တစ်ခုမှာ လိုအပ်သည်ထက် များစွာပိုမို၍ မေးမြန်းချက်များကို လုပ်ဆောင်ခြင်းဖြစ်ပြီး၊ မကြာခဏဆိုသလို အပလီကေးရှင်းဒီဇိုင်းပြဿနာများကြောင့် ဖြစ်သည်။
4.1.1 ထပ်ခါတလဲလဲ မေးမြန်းချက်များကို ခွဲခြားသတ်မှတ်ခြင်း။
မကြာခဏ လုပ်ဆောင်သော မေးခွန်းများကို ရှာဖွေရန်-
- လုပ်ဆောင်ချက် Monitor ကိုဖွင့်ပြီး ချဲ့ထွင်ပါ။ မကြာသေးမီက တန်ဖိုးကြီးမေးခွန်းများ pane ။
- အစဥ်လိုက် ကွပ်မျက်ခြင်း/မိနစ် (တစ်မိနစ်လျှင် သေဒဏ်ပေးခြင်း)။
- ကျိုးကြောင်းဆီလျော်စွာ မြင့်မားပုံပေါ်သော လုပ်ဆောင်မှုအရေအတွက်များဖြင့် ထိပ်ဆုံးရှိ မေးခွန်းများကို ရှာဖွေပါ။
- သံသယမေးခွန်းကို right-click နှိပ်ပြီး ရွေးချယ်ပါ။ Query Text ကို တည်းဖြတ်ပါ။ SQL ကြေညာချက်ကိုစစ်ဆေးရန်။
ဥပမာအားဖြင့်၊ ရိုးရှင်းသော SELECT statement တစ်ခုကို တစ်မိနစ်လျှင် အကြိမ်ရေ ၃၇၀၀၀ လုပ်ဆောင်နေသည်ကို သင်တွေ့ရှိပါက application သည် ဤ query ကို အမှန်တကယ် မကြာခဏ ခေါ်ယူရန် လိုအပ်ခြင်း ရှိ၊ မရှိ မေးခွန်းထုတ်ပါ။ တစ်မိနစ်လျှင် အကြိမ်ရေ ထောင်ဂဏန်းထက်ပို၍ လုပ်ဆောင်နေသော query အများစုသည် စုံစမ်းစစ်ဆေးမှုကို ဖြစ်ပေါ်စေပါသည်။
4.1.2 အမြစ်အကြောင်းရင်း ခွဲခြမ်းစိတ်ဖြာခြင်း။
အလွန်အကျွံ မေးမြန်းမှု လုပ်ဆောင်ချက်များသည် ပုံမှန်အားဖြင့် ဤပြဿနာများမှ ပေါက်ဖွားလာသည်-
- N+1 မေးမြန်းမှု ပြဿနာ- အပလီကေးရှင်းကုဒ်သည် အရာများစာရင်းကို ထုတ်ယူပြီးနောက် ဆက်စပ်ဒေတာကိုရယူရန် အကြောင်းအရာတစ်ခုစီအတွက် သီးခြားမေးမြန်းချက်တစ်ခုကို လုပ်ဆောင်သည်။ ၎င်းသည် N သည် ပစ္စည်းအရေအတွက်ဖြစ်သည့် N ၏ နောက်ထပ်မေးခွန်းများကို ဖန်တီးပေးသည်။
- ပျောက်ဆုံးနေသော သိမ်းဆည်းခြင်း- အပလီကေးရှင်းသည် အပလီကေးရှင်းမှတ်ဉာဏ်တွင် သိမ်းဆည်းထားမည့်အစား ရှားရှားပါးပါးသာ ပြောင်းလဲလေ့ရှိသော အချက်အလက်များအတွက် ဒေတာဘေ့စ်ကို မေးမြန်းပါသည်။
- မဲရုံများ- ကုဒ်သည် ပြောင်းလဲခြင်းသတိပေးချက်များ သို့မဟုတ် မက်ဆေ့ချ်တန်းစီခြင်းကို အသုံးပြုခြင်းထက် ပြည်နယ်ပြောင်းလဲမှုများအတွက် စစ်ဆေးခြင်းဒေတာဘေ့စ်ကို ထပ်ခါတလဲလဲ မေးမြန်းသည်။
- ORM စွမ်းဆောင်ရည်မရှိခြင်း- ဆော့ဖ်ဝဲရေးသားသူများသည် ၎င်းတို့၏ကုဒ်ကို SQL သို့ မည်သို့ဘာသာပြန်ဆိုသည်ကို နားမလည်သောအခါတွင် Entity Framework နှင့် အလားတူကိရိယာများသည် တခါတရံတွင် ထိရောက်မှုမရှိသော မေးမြန်းမှုပုံစံများကို ထုတ်ပေးပါသည်။
မူလအကြောင်းအရင်းကို ဆုံးဖြတ်ရန်၊ မေးမြန်းချက်ကို အပလီကေးရှင်းကုဒ်သို့ ပြန်လည်ခြေရာခံပါ။ မှတ်ထားပါ။ လြှောကျလှာ နှင့် Login query ကို execute လုပ်သောအခါ Processes pane ရှိ ကော်လံများ။ လုပ်ငန်းစဉ်ကို right-click နှိပ်ပြီး ရွေးချယ်နိုင်သည်။ လုပ်ငန်းစဉ်ကို ခြေရာခံပါ။ SQL Server အရည်အသွေး ခေါ်ဆိုမှုပုံစံကိုကြည့်ရှုရန်။
4.1.3 ဖြေရှင်းချက်များနှင့် အကောင်းဆုံးအလေ့အကျင့်များ
အလွန်အကျွံ query executions ကို သင်ရှာဖွေတွေ့ရှိပြီးသည်နှင့်၊ ဤဖြေရှင်းချက်များကို ထည့်သွင်းစဉ်းစားပါ-
- အသုတ်လိုက်လုပ်ဆောင်ခြင်း- ချိတ်ဆက်မှု သို့မဟုတ် IN အပိုဒ်များကို အသုံးပြု၍ မေးမြန်းမှုတစ်ခုတွင် အကြောင်းအရာအများအပြားကို ပြန်လည်ရယူရန် အပလီကေးရှင်းကုဒ်ကို မွမ်းမံပြင်ဆင်ပါ။
- ရလဒ် သိမ်းဆည်းခြင်း- သင့်လျော်သော သက်တမ်းကုန်ဆုံးချိန်များနှင့်အတူ အပလီကေးရှင်းမှတ်ဉာဏ်တွင် မကြာခဏ ကက်ရှ်ကို မကြာခဏ ဝင်ရောက်ကြည့်ရှုသည်။
- အားတက်သရော တင်ပေးသည်- ပိုနည်းပြီး ပိုမိုထိရောက်သော စုံစမ်းမေးမြန်းမှုများတွင် ဆက်စပ်ဒေတာကို ရယူရန် စိတ်အားထက်သန်စွာ တင်သည့်ဗျူဟာများကို အသုံးပြုရန် ORM များကို စီစဉ်သတ်မှတ်ပါ။
- Query Parameterization- အစီအစဥ် ကက်ရှ် ပြန်လည်အသုံးပြုခြင်းကို ပိုမိုကောင်းမွန်စေပြီး စုစည်းမှုအပေါ်ကို လျှော့ချပေးသည့် တန်ဖိုးများကို ပေါင်းစပ်ခြင်းထက် ပါရာမီတာများကို အသုံးပြုကြောင်း သေချာပါစေ။
4.2 ပိတ်ဆို့ခြင်းပြဿနာများကို စုံစမ်းစစ်ဆေးခြင်း။
အခြားဆက်ရှင်များ ဆက်လက်မလုပ်ဆောင်နိုင်အောင် တားဆီးထားသည့် စက်ရှင်တစ်ခုသည် လော့ခ်ချထားသောအခါတွင် ပိတ်ဆို့ခြင်း ဖြစ်ပေါ်သည်။ ၎င်းသည် နှေးကွေးသော အပလီကေးရှင်း တုံ့ပြန်မှုအချိန်များနှင့် စိတ်ပျက်နေသော အသုံးပြုသူများအဖြစ် ထင်ရှားသည်။
4.2.1 ပိတ်ဆို့ခြင်းကွင်းဆက်များကို ခွဲခြားသတ်မှတ်ခြင်း။
ပိတ်ဆို့ခြင်းကို ရှာဖွေပြီး ခွဲခြမ်းစိတ်ဖြာရန်-
- လုပ်ဆောင်ချက် Monitor ကိုဖွင့်ပြီး ချဲ့ထွင်ပါ။ လုပ်ငန်းစဉ်များ pane ။
- အတွင်းရှိတန်ဖိုးများပါရှိသော sessions များကိုရှာဖွေပါ။ ပိတ်ဆို့ထားသည်။ ကော်လံ—ဤအရာများသည် အခြားအစည်းအဝေးများမှ သော့ခတ်မှုများကို စောင့်ဆိုင်းနေပါသည်။
- တွင် '1' ဖြင့် sessions ကိုရှာပါ။ Head Blocker ကော်လံ—ဤအရာများသည် ကွင်းဆက်များပိတ်ဆို့ခြင်း၏ မူလအကြောင်းရင်းဖြစ်သည်။
- အဆိုပါမှတ်ချက် စက်ရှင် ID head blocker ၏
- head blocker session ကို right-click နှိပ်ပြီး ရွေးချယ်ပါ။ အသေးစိတ် မည်သည့် command ကို လုပ်ဆောင်နေသည် ကို ကြည့်ရန်။
ပိတ်ဆို့ခြင်းကွင်းဆက်ကို နားလည်ရန် အရေးကြီးပါသည်။ head blocker သည် ပိတ်ဆို့ထားသော session များမဟုတ်ဘဲ သင်စုံစမ်းရန် လိုအပ်သော session ဖြစ်သည်။
4.2.2 လော့ခ်အမျိုးအစားများကို နားလည်ခြင်း။
အဆိုပါ ခဏနေ ရိုက်ပါ။ လုပ်ငန်းစဉ်များ အကန့်ရှိ ကော်လံသည် သော့ခတ်ပိတ်ဆို့ထားသော ဆက်ရှင်များကို စောင့်မျှော်နေသည့် အမျိုးအစားကို ဖော်ပြသည်-
- LCK_M_X- ပုံမှန်အားဖြင့် UPDATE၊ DELETE သို့မဟုတ် INSERT လုပ်ဆောင်မှုများကြောင့် သီးသန့်သော့ခတ်မှုဖြစ်သည်။
- LCK_M_S- မျှဝေထားသောသော့ခတ်ခြင်းစောင့်ဆိုင်းခြင်း၊ အများအားဖြင့် သီးသန့်သော့ခလောက်များထွက်ရှိလာရန် စောင့်ဆိုင်းနေသည့် SELECT ကြေညာချက်များ။
- LCK_M_U- အပ်ဒိတ်များအတွင်း အသုံးပြုသည့် လော့ခ်ချခြင်း ခေတ္တစောင့်ဆိုင်းခြင်း၊ အလယ်အလတ်လော့ခ်အမျိုးအစား။
- LCK_M_IX- ရည်ရွယ်ချက် သီးသန့်သော့ခတ်စောင့်ဆိုင်းခြင်း၊ စာမျက်နှာ သို့မဟုတ် အတန်းအဆင့် လော့ခ်ချခြင်း အငြင်းပွားမှုကို ညွှန်ပြခြင်း။
အဆိုပါ ခဏနေ Resource ကော်လံသည် မည်သည့်ဒေတာဘေ့စ်အရာဝတ္တုကို လော့ခ်ချထားကြောင်း ပြသသည်၊ ငြင်းခုံမှုတွင် မည်သည့်ဇယား သို့မဟုတ် အညွှန်းပါဝင်နေသည်ကို နားလည်ရန် ကူညီပေးသည်။
4.2.3 ပိတ်ဆို့ခြင်းပြဿနာများကို ဖြေရှင်းခြင်း။
ပိတ်ဆို့ခြင်းကဏ္ဍနှင့် ၎င်းလုပ်ဆောင်နေသည့်အရာကို သင်ဖော်ထုတ်ပြီးသည်နှင့်၊ သင့်တွင် ရွေးချယ်စရာများစွာရှိသည်-
- ပြီးစီးရန် စောင့်ပါ- head blocker သည် မကြာမီ ပြီးမြောက်မည့် တရားဝင်မေးခွန်းကို လုပ်ဆောင်နေပါက၊ ၎င်းကို သဘာဝအတိုင်း ပြီးအောင်ထားရန် အကောင်းဆုံးဖြစ်နိုင်သည်။
- Session ကိုသတ်ပါ- head blocker သည် ပိတ်မိနေပါက သို့မဟုတ် ပယ်ဖျက်သင့်သည့် query တစ်ခုကို လုပ်ဆောင်နေပါက-
- Processes pane ရှိ session ကို right-click လုပ်ပါ။
- ကို Select လုပ်ပါ သတ်ခြင်းလုပ်ငန်းစဉ်.
- ဒိုင်ယာလော့ဘောက်စ်ရှိ လုပ်ဆောင်ချက်ကို အတည်ပြုပါ။
- မေးခွန်းများကို ပိုမိုကောင်းမွန်အောင်ပြုလုပ်ပါ- တူညီသောမေးခွန်းများဖြင့် ပြန်ပိတ်ပါက၊ လော့ခ်ချသည့်ကြာချိန်ကို လျှော့ချရန် ၎င်းတို့ကို အကောင်းဆုံးဖြစ်အောင် ပြုလုပ်ပါ။
- အထီးကျန်အဆင့်များကို ချိန်ညှိပါ ဖတ်ရှုမှုအလွန်များသောအလုပ်များတွင်ပိတ်ဆို့ခြင်းကိုလျှော့ချရန် READ COMMITTED SNAPSHOT ISOLATION ကိုအသုံးပြုရန်စဉ်းစားပါ။
- အညွှန်းချိန်ညှိခြင်း- မေးခွန်းများကို အရှိန်မြှင့်ရန်၊ သော့ခတ်ထားသည့်အချိန်ကို လျှော့ချပြီး မေးခွန်းများကို အရှိန်မြှင့်ရန် အညွှန်းများထည့်ပါ။
4.3 မြင့်မားသော CPU အသုံးပြုမှုကို ပိုင်းခြားစိတ်ဖြာခြင်း။
ခြုံငုံသုံးသပ်ချက်အကန့်သည် ပရိုဆက်ဆာအချိန်ကို 100% တွင် သို့မဟုတ် အနီးတွင် တသမတ်တည်းပြသသောအခါတွင် မည်သည့်မေးခွန်းများ၏တာဝန်ဖြစ်သည်ကို ခွဲခြားသတ်မှတ်ပြီး ၎င်းတို့ကို အကောင်းဆုံးဖြစ်အောင် လုပ်ဆောင်နိုင်သည်ကို ဆုံးဖြတ်ရန် လိုအပ်သည်။
4.3.1 CPU-Intensive Queries ကိုခွဲခြားသတ်မှတ်ခြင်း။
CPU အလွန်အကျွံသုံးစွဲသည့်မေးခွန်းများကိုရှာဖွေရန်-
- အဆိုပါဖွင့်ပါ မကြာသေးမီက တန်ဖိုးကြီးမေးခွန်းများ pane ။
- အစဥ်လိုက် CPU (ms/sec) CPU အချိန်အများဆုံးအသုံးပြုသော မေးမြန်းချက်များကိုပြသရန်။
- စာရင်းထဲရှိ ထိပ်တန်းမေးခွန်းများကို ဆန်းစစ်ပါ။
- high CPU queries ပေါ်တွင် right-click နှိပ်ပြီး select လုပ်ပါ။ Query Text ကို တည်းဖြတ်ပါ။ SQL ကြေညာချက်ကိုကြည့်ရှုရန်။
- ကို Select လုပ်ပါ အကောင်အထည်ဖော်မှု အစီအစဉ်ကို ပြပါ။ query သည် မည်သို့လုပ်ဆောင်သည်ကို နားလည်ရန်။
တစ်ဦးချင်းစီမေးမြန်းမှု CPU အသုံးပြုမှုကိုသာမက အာရုံစိုက်ပါ။ ကွပ်မျက်ခြင်း/မိနစ် ကော်လံ။ လုပ်ဆောင်မှုတိုင်းတွင် အလယ်အလတ် CPU ကို အသုံးပြုသော်လည်း၊ တစ်မိနစ်လျှင် အကြိမ်ပေါင်း ထောင်ပေါင်းများစွာ လည်ပတ်နေသည့် မေးခွန်းသည် သင်၏ အကြီးမားဆုံး CPU အသုံးပြုသူ ဖြစ်နိုင်ပါသည်။
4.3.2 Query Optimization Techniques
CPU သုံးစွဲမှုကို လျှော့ချရန် ဘုံနည်းလမ်းများ ပါဝင်သည်-
- ပျောက်ဆုံးနေသော အညွှန်းများကို ထည့်ပါ- Index သည် ဇယားစကင်ဖတ်ခြင်းထက် CPU ကို အဆပေါင်းများစွာ နည်းပါးစွာ အသုံးပြုသည်။ အကောင်အထည်ဖော်မှုအစီအစဉ်များတွင် ပျောက်ဆုံးနေသော အညွှန်းအကြံပြုချက်များကို ရှာဖွေပါ။
- ထိရောက်မှုမရှိသော မေးခွန်းများကို ပြန်ရေးပါ- ကာဆာများကို set-based လုပ်ဆောင်ချက်များဖြင့် အစားထိုးပါ၊ WHERE clauses ရှိ မလိုအပ်သော လုပ်ဆောင်ချက်များကို ဖယ်ရှားကာ မလိုအပ်သော ချိတ်ဆက်မှုများကို ဖယ်ရှားပါ။
- စာရင်းအင်းများ အပ်ဒိတ်- ခေတ်မမီတော့တဲ့ စာရင်းဇယားတွေ ဖြစ်တတ်ပါတယ်။ SQL Server ထိရောက်မှုမရှိသော အကောင်အထည်ဖော်မှုအစီအစဉ်များကို ရွေးချယ်ရန်။ ထိခိုက်ထားသောဇယားများပေါ်တွင် UPDATE STATISTICS ကိုဖွင့်ပါ။
- ဒေတာပမာဏကို လျှော့ချပါ- အစောပိုင်းဒေတာစစ်ထုတ်ရန် WHERE clauses များကိုထည့်ပါ၊ pagination အတွက် TOP သို့မဟုတ် OFFSET/FETCH ကိုသုံးကာ SELECT * ကိုရှောင်ကြဉ်ပါ။
- Parameter Sniffing ကို ပြင်ဆင်ပါ ပါရာမီတာ အနံ့ခံခြင်းသည် ပြဿနာဖြစ်စေသောအခါ OPTION (ပြန်လည်ပေါင်းစပ်မှု)၊ မေးမြန်းမှု အရိပ်အမြွက်များ သို့မဟုတ် အစီအစဉ်လမ်းညွှန်ချက်များကို အသုံးပြုပါ။
4.4 မှတ်ဉာဏ်ပြဿနာများကို စုံစမ်းစစ်ဆေးခြင်း။
Memory pressure သည် queries များ disk သို့ ယိုဖိတ်စေပြီး စွမ်းဆောင်ရည်ကို သိသိသာသာ ကျဆင်းစေသည်။ လုပ်ဆောင်ချက် Monitor သည် သင့်အား မှတ်ဉာဏ်များသော လုပ်ဆောင်ချက်များကို ခွဲခြားသတ်မှတ်ရန် ကူညီပေးပါသည်။
4.4.1 Memory Metrics ကို နားလည်ခြင်း။
အဆိုပါ Memory အသုံးပြုမှု Processes pane ရှိ ကော်လံသည် session တစ်ခုစီသို့ ကီလိုဘိုက်ဖြင့် ခွဲဝေထားသော memory ကို ပြသသည်။ စက်ရှင်တစ်ခုမှ မြင့်မားသော မှတ်ဉာဏ်အသုံးပြုမှုကို မကြာခဏဖော်ပြသည်-
- ကနဦးပေးထားသည့် မှတ်ဉာဏ်တွင် မကိုက်ညီနိုင်သော ကြီးမားသောအမျိုးအစား သို့မဟုတ် ဟက်ရ်ှစစ်ဆင်ရေးများ
- ကြီးမားလှသော ရလဒ်အစုံများကို ရယူသည့် မေးခွန်းများ
- အလွန်အကျွံ ပြိုင်တူဝါဒသည် အကောင်အထည်ဖော်မှု အစီအစဉ်အော်ပရေတာများ၏ မိတ္တူများစွာကို ဖန်တီးသည်။
- CLR သိမ်းဆည်းထားသော လုပ်ထုံးလုပ်နည်းများ သို့မဟုတ် လုပ်ဆောင်ချက်များတွင် Memory ယိုစိမ့်ခြင်း။
လုံလောက်သော မမ်မိုရီထောက်ပံ့ကြေးများ မရရှိနိုင်သောအခါတွင် အရင်းအမြစ်စောင့်ဆိုင်းခြင်း အကွက်သည် မန်မိုရီစောင့်ဆိုင်းမှုများကို ပြသနိုင်ပြီး မှတ်ဉာဏ်ရရှိနိုင်ရန် စောင့်ဆိုင်းရမည်ဖြစ်ပါသည်။
4.4.2 Memory-Intensive Queries ကို ခွဲခြားသတ်မှတ်ခြင်း။
မှတ်ဉာဏ်ဖိအားဖြစ်စေသည့် မေးခွန်းများကို ရှာဖွေရန်-
- ထဲမှာ လုပ်ငန်းစဉ်များ pane၊ အလိုက်စီပါ။ Memory အသုံးပြုမှု မှတ်ဉာဏ်အများဆုံးအသုံးပြုသော ဆက်ရှင်များကိုကြည့်ရှုရန်။
- မြင့်မားသောမှတ်ဉာဏ်အသုံးပြုမှုနှင့်အတူ ဆက်ရှင်များကို ညာကလစ်နှိပ်ပြီး ရွေးချယ်ပါ။ အသေးစိတ် ၎င်းတို့၏မေးမြန်းချက်များကိုကြည့်ရှုရန်။
- ထဲမှာ မကြာသေးမီက တန်ဖိုးကြီးမေးခွန်းများ pane၊ မြင့်မားသောမေးခွန်းများကိုရှာဖွေပါ။ ယုတ္တိနည်းဖြင့် ဖတ်သည်။ or ယုတ္တိရှိရှိရေးသည်။၎င်းတို့သည် မှတ်ဉာဏ်အသုံးပြုမှုနှင့် မကြာခဏဆက်စပ်နေသောကြောင့်ဖြစ်သည်။
- မန်မိုရီထောက်ပံ့ကြေးများကို အသုံးပြုသည့် Sort နှင့် Hash Match အော်ပရေတာများအတွက် လုပ်ဆောင်မှုအစီအစဉ်များကို စစ်ဆေးပါ။
အကောင်အထည်ဖော်မှုအစီအစဉ်များတွင် "Memory Grant" သတိပေးချက်များကိုပြသသည့်မေးခွန်းများသည် မှတ်ဉာဏ်ဖိအားပြဿနာများကိုဖော်ပြသည်။
4.5 အပလီကေးရှင်းစွမ်းဆောင်ရည်ပြဿနာများကိုရှာဖွေခြင်း။
အသုံးပြုသူများသည် နှေးကွေးသော အပလီကေးရှင်း တုံ့ပြန်မှုအချိန်များကို အစီရင်ခံသည့်အခါ၊ ဒေတာဘေ့စ်သည် ပိတ်ဆို့ခြင်းရှိ၊
4.5.1 အပလီကေးရှင်းပြဿနာများနှင့် ဆက်နွယ်နေသော လုပ်ဆောင်ချက်စောင့်ကြည့်
လျှောက်လွှာနှေးကွေးမှုကို စုံစမ်းစစ်ဆေးရန်-
- အသုံးပြုသူများသည် ပြဿနာများနှင့် အပလီကေးရှင်းများ ထိခိုက်နစ်နာကြောင်း သတင်းပို့သည့်အချိန်အတိအကျကို မှတ်သားထားပါ။
- Activity Monitor ကိုဖွင့်ပြီး စစ်ဆေးပါ။ ျခံဳငံုသံုးသပ္မႈ ထိုအချိန်က အရင်းအမြစ်များ တိုးမြင့်လာမှုများအတွက် အကွက်။
- ထဲမှာ လုပ်ငန်းစဉ်များ pane၊ ဖြင့် စစ်ထုတ်ပါ။ လြှောကျလှာ သက်ရောက်မှုရှိသော အပလီကေးရှင်းမှ ချိတ်ဆက်မှုများကိုသာ ပြသရန်။
- အမြင့်ကိုရှာပါ။ အချိန်စောင့်ပါ ဒေတာဘေ့စ်နှောင့်နှေးမှုကို ညွှန်ပြသော တန်ဖိုးများ။
- အ Check မကြာသေးမီက တန်ဖိုးကြီးမေးခွန်းများ သိသာထင်ရှားသောအရင်းအမြစ်များကိုစားသုံးသောထိုအပလီကေးရှင်းမှမေးမြန်းချက်များအတွက် pane ။
အသုံးပြုသူများ နှေးကွေးခြင်းကို ခံစားရချိန်တွင် ဒေတာဘေ့စ်သည် ပုံမှန်မဟုတ်သော လုပ်ဆောင်ချက်များကို မပြပါက၊ ပြဿနာမှာ အပလီကေးရှင်းကုဒ်၊ ကွန်ရက်ကြာချိန် သို့မဟုတ် ကလိုင်းယင့်ဘက်မှ စွမ်းဆောင်ရည်တွင် ရှိနေပါသည်။
4.5.2 ထိရောက်မှုမရှိသော လျှောက်လွှာပုံစံများကို ခွဲခြားသတ်မှတ်ခြင်း။
Activity Monitor သည် အပလီကေးရှင်းဒီဇိုင်းတွင် ဆန့်ကျင်သည့်ပုံစံများစွာကို ဖော်ပြသည်-
- Chatty အက်ပ်များ- ပိုနည်းသော၊ ပိုမိုထိရောက်သောမေးခွန်းများအစား သေးငယ်သောမေးခွန်းများစွာ။ မြင့်မားသောချိတ်ဆက်မှုအရေအတွက်နှင့် မကြာသေးမီက တန်ဖိုးကြီးသောမေးခွန်းများတွင် ရိုးရှင်းသောမေးခွန်းများစွာဖြင့် ခွဲခြားသတ်မှတ်ထားသည်။
- N+1 မေးခွန်းများ- ဆက်စပ်ဒေတာအတွက် စုံစမ်းမေးမြန်းချက်တစ်ခုသည် N နောက်ဆက်တွဲမေးခွန်းများ။ တစ်မိနစ်လျှင် အလွန်မြင့်မားသော ကွပ်မျက်မှုဖြင့် ရိုးရှင်းသော မေးခွန်းတစ်ခုအဖြစ် ပြသည်။
- ကြီးမားသောရလဒ်အစုံများ- အပလီကေးရှင်းများသည် လိုအပ်သည်ထက်ပို၍ ဒေတာကို ရယူသည်။ အမြင့်ကိုရှာပါ။ ယုတ္တိနည်းဖြင့် ဖတ်သည်။ ရိုးရှင်းသော SELECT * မေးခွန်းများနှင့် ပေါင်းစပ်ထားသည်။
- ပျောက်ဆုံးနေသော အချိန်ကုန်ဆုံးမှုများ- အမိန့်ပေးချိန်ကုန်သွားခြင်းများကို မသတ်မှတ်ထားသော အပလီကေးရှင်းများသည် လုပ်ငန်းစဉ်များအကန့်တွင် ကြာရှည်စွာလည်ပတ်နေသည့် ဆက်ရှင်များအဖြစ် မြင်နိုင်သောချိတ်ဆက်မှုများကို အကန့်အသတ်မရှိဖွင့်ထားနိုင်သည်။
5. အစားထိုးနည်းလမ်းများ- T-SQL မှတစ်ဆင့် လုပ်ဆောင်ချက်စောင့်ကြည့်ဒေတာ ရယူခြင်း။
Activity Monitor သည် အဆင်ပြေသော ဂရပ်ဖစ်အင်တာဖေ့စ်ကို ပံ့ပိုးပေးသော်လည်း၊ တစ်ခါတစ်ရံတွင် တူညီသောအချက်အလက်များကို ပရိုဂရမ်စနစ်ဖြင့် ပြန်လည်ရယူရန် သို့မဟုတ် စိတ်ကြိုက်စောင့်ကြည့်ရေးဖြေရှင်းချက်များကို ဖန်တီးရန် လိုအပ်ပါသည်။
5.1 Dynamic Management Views (DMVs) ကို အသုံးပြုခြင်း
SQL Server Activity Monitor သည် မြင်ကွင်းနောက်ကွယ်မှ မေးမြန်းချက်များကို ပြောင်းလဲနေသော စီမံခန့်ခွဲမှုအမြင်များမှတစ်ဆင့် လုပ်ဆောင်ချက်အချက်အလက်များကို ဖော်ထုတ်ပေးပါသည်။
5.1.1 လုပ်ဆောင်ချက်စောင့်ကြည့်ခြင်းအတွက် အဓိက DMVs
Activity Monitor လုပ်ဆောင်ချက်ကို ပုံတူပွားရန်အတွက် အရေးကြီးဆုံး DMV များတွင် အောက်ပါတို့ ပါဝင်သည်-
- sys.dm_exec_requests- CPU၊ I/O ဖြင့် လက်ရှိတောင်းဆိုမှုများကို လုပ်ဆောင်နေပြီး စောင့်ဆိုင်းနေသည့် အချက်အလက်ကို ပြသသည်။
- sys.dm_exec_sessions- login name၊ host name နှင့် program name ကဲ့သို့သော session-level အချက်အလက်များ ပါဝင်သည်။
- sys.dm_os_wait_stats- ဥပမာတစ်ခုလုံးအတွက် စုစည်းစောင့်ဆိုင်းနေသည့် ကိန်းဂဏန်းများကို ပေးသည်။
- sys.dm_exec_query_stats- ကက်ရှ်လုပ်ထားသော မေးခွန်းများအတွက် စုစည်းထားသော စွမ်းဆောင်ရည်ကိန်းဂဏန်းများ ပါရှိသည်။
- sys.dm_io_virtual_file_stats- ဒေတာနှင့် မှတ်တမ်းဖိုင်များအတွက် I/O စာရင်းအင်းများကို ပြန်ပေးသည်။
- sys.dm_exec_sql_text- ပေးထားသော sql_handle သို့မဟုတ် plan_handle အတွက် SQL စာသားကို ထုတ်ယူသည်။
- sys.dm_exec_query_plan- ကက်ရှ်လုပ်ထားသော မေးခွန်းအတွက် အကောင်အထည်ဖော်မှုအစီအစဉ်ကို ပြန်ပေးသည်။
5.1.2 လုပ်ငန်းစဉ်အချက်အလက်အတွက် နမူနာမေးခွန်းများ
Processes pane လုပ်ဆောင်ချက်ကို ထပ်တူပွားရန်၊ သင်မေးမြန်းနိုင်သည်-
SELECT
s.session_id AS [Session ID],
CASE WHEN s.is_user_process = 1 THEN 'Yes' ELSE 'No' END AS [User Process],
s.login_name AS [Login],
ISNULL(CAST(r.blocking_session_id AS VARCHAR), '') AS [Blocked By],
CASE
WHEN r2.session_id IS NOT NULL
AND (r.blocking_session_id = 0 OR r.session_id IS NULL)
THEN '1'
ELSE ''
END AS [Head Blocker],
ISNULL(DB_NAME(r.database_id), '') AS [Database],
ISNULL(t.task_state, '') AS [Task State],
ISNULL(r.command, '') AS [Command],
r.cpu_time AS [CPU Time],
r.total_elapsed_time AS [Elapsed Time],
r.wait_time AS [Wait Time],
r.wait_type AS [Wait Type],
s.memory_usage * 8 AS [Memory Use (KB)],
s.host_name AS [Host Name],
s.program_name AS [Application]
FROM sys.dm_exec_sessions s
LEFT JOIN sys.dm_exec_requests r ON s.session_id = r.session_id
LEFT JOIN sys.dm_exec_requests r2 ON r.session_id = r2.blocking_session_id
LEFT JOIN sys.dm_os_tasks t ON r.session_id = t.session_id
WHERE s.session_id != @@SPID
ORDER BY s.session_id;
5.1.3 စောင့်ဆိုင်းစာရင်းအင်းများအတွက် နမူနာမေးခွန်းများ
Resource Waits pane နှင့် ဆင်တူသော စောင့်ဆိုင်းစာရင်းဇယားများကို ကြည့်ရှုရန်-
SELECT TOP 10
wait_type AS [Wait Type],
wait_time_ms / 1000.0 AS [Wait Time (sec)],
waiting_tasks_count AS [Waiting Tasks],
wait_time_ms / NULLIF(waiting_tasks_count, 0) AS [Avg Wait Time (ms)]
FROM sys.dm_os_wait_stats
WHERE wait_type NOT LIKE '%SLEEP%'
AND wait_type NOT LIKE '%IDLE%'
AND wait_type NOT LIKE '%QUEUE%'
ORDER BY wait_time_ms DESC;
5.2 sp_WhoIsActive ကိုအသုံးပြုခြင်း။
sp_WhoIsActive သည် ရလဒ်အစုတစ်ခုတည်းတွင် လုပ်ဆောင်ချက်စောင့်ကြည့်စစ်ဆေးခြင်းထက် ပိုမိုအသေးစိတ်အချက်အလက်များကို ပေးဆောင်သည့် အားကောင်းသည့် ရပ်ရွာဖန်တီးထားသော သိမ်းဆည်းထားသော လုပ်ထုံးလုပ်နည်းတစ်ခုဖြစ်သည်။
5.2.1 sp_WhoIsActive ကို ထည့်သွင်းခြင်း။
sp_WhoIsActive ကိုထည့်သွင်းရန်-
- ကနေနောက်ဆုံးပေါ်ဗားရှင်းကို download လုပ်ပါ
http://whoisactive.com. - ဒေါင်းလုဒ်သည် လုပ်ထုံးလုပ်နည်းအဓိပ္ပါယ်ပါရှိသော SQL script တစ်ခုဖြစ်သည်။
- ဇာတ်ညွှန်းကိုဖွင့်ပါ။ SQL Server စီမံခန့်ခွဲမှုစတူဒီယို။
- ဆက်သွယ်ပါ SQL Server ဥပမာ။
- မာစတာဒေတာဘေ့စ်တွင် လုပ်ထုံးလုပ်နည်းကိုဖန်တီးရန် script ကိုလုပ်ဆောင်ပါ။
- သင့်လျော်သောအသုံးပြုသူများကို လုပ်ဆောင်ရန် ခွင့်ပြုချက်များ ပေးပါ။
sp_WhoIsActive ကို မာစတာတွင် ထည့်သွင်းထားသောကြောင့်၊ မည်သည့်ဒေတာဘေ့စ်အကြောင်းအရာမှမဆို ဝင်ရောက်အသုံးပြုနိုင်ပါသည်။
5.2.2 အခြေခံအသုံးပြုမှု ဥပမာများ
sp_WhoIsActive ကိုအသုံးပြုရန် အရိုးရှင်းဆုံးနည်းလမ်းမှာ-
EXEC sp_WhoIsActive;
၎င်းသည် ၎င်းတို့၏မေးမြန်းချက်များ၊ စောင့်ဆိုင်းမှုအမျိုးအစားများ၊ အချက်အလက်များကို ပိတ်ဆို့ခြင်းနှင့် အရင်းအမြစ်အသုံးပြုမှုတို့နှင့်အတူ တက်ကြွသောဆက်ရှင်အားလုံးကို ပြသသည့် ရလဒ်အစုံကို ပြန်ပေးသည်။
ထိုကာလအတွင်း လုပ်ဆောင်ချက်များကို ပြသသည့် 10 စက္ကန့်နမူနာအတွက်-
EXEC sp_WhoIsActive @delta_interval = 10;
၎င်းသည် CPU ကဲ့သို့ မက်ထရစ်များအတွက် deltas များကို တွက်ချက်ပြီး 10 စက္ကန့်အတွင်း ဖြစ်ပျက်ခဲ့သည်များကို ပြသသည်။
5.2.3 အဆင့်မြင့် ကန့်သတ်ချက်များ
sp_WhoIsActive သည် စိတ်ကြိုက်ပြင်ဆင်မှုအတွက် ကန့်သတ်ချက်အများအပြားကို ပံ့ပိုးပေးသည်-
- @filter- ရလဒ်များကို သတ်မှတ်ထားသော ဆက်ရှင်များ၊ ဒေတာဘေ့စ်များ သို့မဟုတ် လော့ဂ်အင်များသို့ စစ်ထုတ်ပါ။
- @filter_type- စစ်ထုတ်ခြင်းအတွက် သက်ဆိုင်သည့်အရာ (စက်ရှင်၊ ဒေတာဘေ့စ်၊ အကောင့်ဝင်ခြင်း စသည်) ကို သတ်မှတ်ပါ။
- @get_plans- ရလဒ်များတွင် အကောင်အထည်ဖော်မှုအစီအစဥ်များကို ထည့်သွင်းပါ (1 တွင် သတ်မှတ်ထားသည်)။
- @get_locks- အသေးစိတ်သော့အချက်အလက်ကိုပြပါ (1 တွင်သတ်မှတ်ထားသည်)။
- @get_transaction_info- ငွေပေးငွေယူအသေးစိတ်အချက်အလက်များကို ပြသပါ (1)။
- @sort_order- မတူညီသော မက်ထရစ်များ (CPU၊ ဖတ်၊ ကြာချိန်၊ စသည်) ဖြင့် ရလဒ်များကို မှာယူပါ။
- @destination_table- ရလဒ်များကို သမိုင်းခြေရာခံခြင်းအတွက် ဇယားတစ်ခုထဲသို့ ထည့်ပါ။
CPU ဖြင့် စီထားသော အစီအစဉ်များကို ပြသသည့် ဥပမာ-
EXEC sp_WhoIsActive
@get_plans = 1,
@sort_order = '[CPU] DESC';
5.3 စနစ်သိမ်းဆည်းထားသော လုပ်ထုံးလုပ်နည်းများကို အသုံးပြုခြင်း။
SQL Server ၎င်းတို့သည် DMVs သို့မဟုတ် Activity Monitor ထက် သတင်းအချက်အလက်နည်းသော်လည်း ၎င်းတို့သည် လုပ်ဆောင်ချက် စောင့်ကြည့်ခြင်းအတွက် ရိုးရာသိမ်းဆည်းထားသော လုပ်ထုံးလုပ်နည်းများ ပါဝင်သည်။
5.3.1 sp_who နှင့် sp_who2
sp_who လုပ်ငန်းစဉ်သည် အခြေခံ session အချက်အလက်ကို ပြသသည်-
EXEC sp_who;
sp_who2 လုပ်ထုံးလုပ်နည်းသည် အနည်းငယ်ပိုမိုအသေးစိတ်ဖော်ပြသည်-
EXEC sp_who2;
လုပ်ထုံးလုပ်နည်းနှစ်ခုစလုံးသည် session ID များ၊ login အမည်များ၊ CPU အချိန်နှင့် blocking အချက်အလက်များကို ပြသသည်။ သို့သော် DMV များ သို့မဟုတ် Activity Monitor မှတစ်ဆင့် ရရှိနိုင်သော ကြွယ်ဝသောအသေးစိတ်အချက်အလက်များ မရှိပါ။ အနည်းဆုံးအချက်အလက်ကို လျင်မြန်စွာလိုအပ်သည့်အခါ အမြန်စစ်ဆေးရန်အတွက် ၎င်းတို့သည် အသုံးဝင်ဆုံးဖြစ်သည်။
5.3.2 အခြားအသုံးဝင်သော စနစ်လုပ်ထုံးလုပ်နည်းများ
စောင့်ကြည့်ခြင်းအတွက် နောက်ထပ်စနစ်လုပ်ထုံးလုပ်နည်းများ ပါဝင်သည်-
- sp_lock- လော့ခ်ချသည့် အချက်အလက်ကို ပြသည် (ကန့်ကွက်ထားသည်၊ ၎င်းအစား sys.dm_tran_locks ကိုသုံးပါ)။
- sp_monitor- စာရင်းဇယားများအကြောင်း ပြသပေးသည်။ SQL Server လှုပ်ရှားမှု။
- sp_help- အရာဝတ္ထု အဓိပ္ပါယ်ဖွင့်ဆိုချက်များနှင့် မက်တာဒေတာကို ပြသသည်။
- DBCC SQLPERF- ငွေပေးငွေယူ မှတ်တမ်းနေရာ အသုံးပြုမှုနှင့် စောင့်ဆိုင်းစာရင်းဇယားများကို ပြသသည်။
5.4 စိတ်ကြိုက်စောင့်ကြည့်ရေး Scripts ဖန်တီးခြင်း။
Activity Monitor ပံ့ပိုးပေးသည်ထက် တိကျသောစောင့်ကြည့်မှုလိုအပ်သည့်ပတ်ဝန်းကျင်များအတွက်၊ DMVs များကိုအသုံးပြု၍ စိတ်ကြိုက်ဖြေရှင်းချက်များကို သင်တည်ဆောက်နိုင်ပါသည်။
5.4.1 လုပ်ဆောင်ချက် Monitor Equivalent Script ကို အပြီးသတ်ပါ။
Activity Monitor လုပ်ဆောင်ချက်အများစုကို ပုံတူကူးယူထားတဲ့ ပြည့်စုံတဲ့ script တစ်ခု ဒီမှာပါ။
-- Processes Information
SELECT
s.session_id AS [Session ID],
CONVERT(CHAR(1), s.is_user_process) AS [User Process],
s.login_name AS [Login],
ISNULL(CONVERT(VARCHAR, w.blocking_session_id), '') AS [Blocked By],
CASE
WHEN r2.session_id IS NOT NULL
AND (r.blocking_session_id = 0 OR r.session_id IS NULL)
THEN '1'
ELSE ''
END AS [Head Blocker],
ISNULL(DB_NAME(r.database_id), N'') AS [Database],
ISNULL(t.task_state, N'') AS [Task State],
ISNULL(r.command, N'') AS [Command],
SUBSTRING(st.text, (r.statement_start_offset/2) + 1,
((CASE r.statement_end_offset
WHEN -1 THEN DATALENGTH(st.text)
ELSE r.statement_end_offset
END - r.statement_start_offset) / 2) + 1) AS [Statement],
st.text AS [Command Text],
r.cpu_time AS [CPU Time (ms)],
r.total_elapsed_time / 1000 AS [Elapsed Time (sec)],
r.wait_time AS [Wait Time (ms)],
r.wait_type AS [Wait Type],
r.wait_resource AS [Wait Resource],
s.memory_usage * 8 AS [Memory Use (KB)],
s.host_name AS [Host Name],
c.client_net_address AS [Net Address],
s.program_name AS [Application]
FROM sys.dm_exec_sessions s
LEFT JOIN sys.dm_exec_requests r ON s.session_id = r.session_id
LEFT JOIN sys.dm_exec_requests w ON r.session_id = w.blocking_session_id
LEFT JOIN sys.dm_exec_requests r2 ON r.session_id = r2.blocking_session_id
LEFT JOIN sys.dm_os_tasks t ON r.session_id = t.session_id
AND r.request_id = t.request_id
LEFT JOIN sys.dm_exec_connections c ON s.session_id = c.session_id
OUTER APPLY sys.dm_exec_sql_text(r.sql_handle) st
WHERE s.session_id != @@SPID
ORDER BY s.session_id;
-- Recent Expensive Queries
SELECT TOP 20
qs.execution_count /
DATEDIFF(MINUTE, qs.creation_time, GETDATE()) AS [Executions/min],
qs.total_worker_time / 1000 AS [CPU Time (ms)],
qs.total_physical_reads AS [Physical Reads],
qs.total_logical_writes AS [Logical Writes],
qs.total_logical_reads AS [Logical Reads],
qs.total_elapsed_time / qs.execution_count / 1000 AS [Avg Duration (ms)],
SUBSTRING(st.text, (qs.statement_start_offset/2) + 1,
((CASE qs.statement_end_offset
WHEN -1 THEN DATALENGTH(st.text)
ELSE qs.statement_end_offset
END - qs.statement_start_offset) / 2) + 1) AS [Query Text]
FROM sys.dm_exec_query_stats qs
CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) st
WHERE qs.execution_count > 0
ORDER BY qs.total_worker_time DESC;
5.4.2 SQL အေးဂျင့်အလုပ်များဖြင့် အလိုအလျောက်စောင့်ကြည့်ခြင်း။
စိတ်ကြိုက်စောင့်ကြည့်ရေး script များကို အသုံးပြု၍ အချိန်ဇယားဆွဲနိုင်ပါသည်။ SQL Server အကျိုးဆောင်:
- စောင့်ကြည့်ခြင်းရလဒ်များကို သိမ်းဆည်းရန် ဇယားတစ်ခုဖန်တီးပါ။
- ရလဒ်များကို ဤဇယားတွင် ထည့်သွင်းရန် သင်၏ စောင့်ကြည့်ရေး script ကို မွမ်းမံပါ။
- In SQL Server စီမံခန့်ခွဲမှုစတူဒီယို၊ ချဲ့ထွင်ပါ။ SQL Server ကိုယ်စားလှယ် Object Explorer တွင်။
- right-click နှိပ်ပြီး ဂျော့ဘ် နှင့်ကို select အလုပ်သစ်.
- ပုံမှန်ကြားကာလများတွင် သင်၏ စောင့်ကြည့်ရေး script ကို လုပ်ဆောင်ရန် အလုပ်အား စီစဉ်သတ်မှတ်ပါ။
- စုဆောင်းထားသောဒေတာအပေါ် အခြေခံ၍ သတိပေးချက်များ သို့မဟုတ် အစီရင်ခံစာများကို သတ်မှတ်ပါ။
ဤချဉ်းကပ်မှုသည် Activity Monitor မပေးသော သမိုင်းဆိုင်ရာ ခြေရာခံခြင်းနှင့် လမ်းကြောင်း ခွဲခြမ်းစိတ်ဖြာမှုကို လုပ်ဆောင်နိုင်စေပါသည်။
6. လုပ်ဆောင်ချက် ကန့်သတ်ချက်များနှင့် ထည့်သွင်းစဉ်းစားမှုများကို စောင့်ကြည့်ပါ။
Activity Monitor သည် တန်ဖိုးရှိသော်လည်း ၎င်း၏ ကန့်သတ်ချက်များကို နားလည်ခြင်းဖြင့် ၎င်းကို သင့်လျော်စွာ အသုံးပြုနိုင်ပြီး လိုအပ်သည့်အခါတွင် အခြားကိရိယာများဖြင့် ဖြည့်စွက်ပေးပါသည်။
6.1 လုပ်ဆောင်ချက် စောင့်ကြည့်သူ၏ အကျုံးဝင်မှုကို နားလည်ခြင်း။
Activity Monitor သည် အလကားမဟုတ်ပါ — အချက်အလက်စုဆောင်းပြီး ပြသရန် ဆာဗာရင်းမြစ်များကို သုံးစွဲပါသည်။ ဤအရာအပေါ် နားလည်ခြင်းက သင့်အား တာဝန်သိစွာ အသုံးပြုရန် ကူညီပေးသည်။
6.1.1 ဆာဗာအရင်းအမြစ်များအပေါ်သက်ရောက်မှု
Activity Monitor သည် ပြန်လည်စတင်သည့်အခါတိုင်း စနစ် DMV များနှင့် ပတ်သက်သော စုံစမ်းမေးမြန်းမှုများကို လုပ်ဆောင်ပါသည်။ ဤမေးမြန်းချက်များသည် CPU ကိုစားသုံးပြီး ယုတ္တိဗေဒဆိုင်ရာဖတ်မှုများကို ဖန်တီးကာ စနစ်ဇယားများတွင် သော့ခတ်မှုများကို ခေတ္တမျှထိန်းထားနိုင်သည်။ အလုပ်များသောဆာဗာများတွင်၊ ဤအရာသည် စွမ်းဆောင်ရည်အပေါ် သက်ရောက်မှုရှိနိုင်သည်။
လုပ်ငန်းစဉ်များနှင့် မကြာသေးမီက စျေးကြီးသော Queries အကွက်များသည် ကြီးမားသော DMV များနှင့် ကက်ရှ်ဇယားများကို စကင်န်ဖတ်ရမည်ဖြစ်သောကြောင့် အထူးစျေးကြီးပါသည်။ ကက်ရှ်လုပ်ထားသော စုံစမ်းမေးမြန်းမှုအစီအစဥ်ပေါင်း ထောင်နှင့်ချီရှိသော ဆာဗာများတွင်၊ မကြာသေးမီက တန်ဖိုးကြီးသောမေးခွန်းများကို ပြန်လည်စတင်ခြင်းသည် စက္ကန့်များစွာကြာနိုင်သည်။
10 စက္ကန့်အောက် ကြားကာလများကို ပြန်လည်ဆန်းသစ်သည့်အချိန်များသည် အထူးသဖြင့် တင်ပြီးသားစနစ်များတွင် ဆာဗာစွမ်းဆောင်ရည်ကို သိသိသာသာထိခိုက်စေနိုင်ကြောင်း Microsoft ၏စာတမ်းက သတိပေးထားသည်။
6.1.2 ကြားကာလ အကောင်းဆုံးအလေ့အကျင့်များကို ပြန်လည်စတင်ပါ။
သင့်အခြေအနေအတွက် သင့်လျော်သော ပြန်လည်ဆန်းသစ်သည့်ကာလများကို ရွေးချယ်ပါ-
- 1-5 စက္ကန့် ပေါ့ပေါ့ပါးပါး တင်ထားသော ဆာဗာများတွင် အရေးကြီးသော ပြဿနာများကို ချက်ချင်းဖြေရှင်းရန်အတွက်သာ။ ဤကြားကာလများတွင် လုပ်ဆောင်ချက် Monitor လည်ပတ်နေမှုကို ချန်မထားပါနှင့်။
- 10 စက္ကန့် (မူလ): ပြဿနာရှာဖွေဖြေရှင်းခြင်း အခြေအနေအများစုနှင့် အထွေထွေစောင့်ကြည့်ခြင်းအတွက် ကျိုးကြောင်းဆီလျော်ပါသည်။
- 30-60 စက္ကန့် လေးလံသောဝန်ထုပ်ဝန်ပိုးအောက်တွင် ထုတ်လုပ်မှုဆာဗာများအတွက် ပိုမိုကောင်းမွန်သောရွေးချယ်မှု သို့မဟုတ် ကာလရှည်ကြာစောင့်ကြည့်နေချိန်။
- လူကိုယ်တိုင် ပြန်လည်ဆန်းသစ်ရန်သာ- အဆက်မပြတ်မဲပေးခြင်းမရှိဘဲ လက်ရှိအခြေအနေကို အခါအားလျော်စွာ စစ်ဆေးလိုသည့် အခြေအနေများအတွက်။
သင်စုံစမ်းစစ်ဆေးပြီးသောအခါ လုပ်ဆောင်ချက်စောင့်ကြည့်ကိရိယာကို အမြဲပိတ်ပါ။ အထူးသဖြင့် မတူညီသောအသုံးပြုသူများထံမှ သာဓကများစွာကို အဆက်မပြတ်လည်ပတ်နေစေခြင်းမပြုပါနှင့်။
6.2 စောင့်ပါ Grouping Issues လို့ရိုက်ထည့်ပါ။
မြင်ကွင်းကို ရိုးရှင်းအောင်ပြုလုပ်နေစဉ်တွင် စောင့်ဆိုင်းမှုများကို အမျိုးအစားခွဲခြားသည့် Activity Monitor ၏ ချဉ်းကပ်မှုသည် အရေးကြီးသော ရောဂါရှာဖွေရေးအချက်အလက်များကို မှုန်ဝါးစေနိုင်သည်။
6.2.1 လုပ်ဆောင်ချက်စောင့်ကြည့်အဖွဲ့များ မည်ကဲ့သို့စောင့်မည်နည်း။
SQL Server သီးခြား အရင်းအမြစ် သို့မဟုတ် အခြေအနေတစ်ခုစီကို ညွှန်ပြသော သီးခြားစောင့်ဆိုင်းအမျိုးအစားရာပေါင်းများစွာကို ခြေရာခံသည်။ Activity Monitor သည် ၎င်းတို့အား "Buffer Latch၊" "Lock" နှင့် "Memory" ကဲ့သို့ ကျယ်ပြန့်သော အမျိုးအစားများအဖြစ် စုစည်းထားသည်။
ဥပမာအားဖြင့်၊ “Buffer Latch” အမျိုးအစားတွင် PAGELATCH_SH၊ PAGELATCH_UP၊ PAGELATCH_EX နှင့် အခြားသော သီးခြားစောင့်ဆိုင်းအမျိုးအစားများစွာ ပါဝင်သည်။ ၎င်းတို့အားလုံးသည် စာမျက်နှာဝင်ရောက်ခွင့်နှင့် ဆက်စပ်နေသော်လည်း ၎င်းတို့တွင် မတူညီသော အကြောင်းရင်းများနှင့် ဖြေရှင်းချက်များရှိသည်။
Microsoft သည် သင်အမှန်တကယ်မြင်နေသည့်အရာကို နားလည်ရခက်စေသည့် စောင့်ဆိုင်းအမျိုးအစားများကို အတိအကျဖော်ပြထားခြင်းမရှိပေ။
6.2.2 ပျောက်ဆုံးနေသော စောင့်ဆိုင်းအမျိုးအစားများ
Activity Monitor သည် စောင့်ဆိုင်းမှုအမျိုးအစားအားလုံးကို မပြပါ။ အထူးသဖြင့် ၎င်းသည် parallel query execution ကိုညွှန်ပြသည့် CXPACKET စောင့်ဆိုင်းမှုများကို မကြာခဏ ချန်လှပ်ထားလေ့ရှိသည်။ CXPACKET စောင့်ဆိုင်းမှုများသည် အဖြစ်များပြီး များသောအားဖြင့် ပြဿနာမရှိသော်လည်း ၎င်းတို့ရှိနေခြင်းကို သိရှိခြင်းသည် workload ဝိသေသလက္ခဏာများကို နားလည်ရန် ကူညီပေးသည်။
Activity Monitor သည် သင်၏ထိပ်တန်းစောင့်ဆိုင်းမှုအဖြစ် “Buffer Latch” ကိုပြသသော်လည်း အခြားကိရိယာများက CXPACKET လွှမ်းမိုးမှုကိုပြသသည့်အခါ၊ ကွဲလွဲမှုသည် Activity Monitor ၏ စစ်ထုတ်ခြင်းနှင့် အုပ်စုဖွဲ့ခြင်းဆိုင်ရာ ယုတ္တိဗေဒမှ လာပါသည်။
6.2.3 အဘယ်ကြောင့် Specific Wait Types အရေးကြီးသနည်း။
ပြဿနာဖြေရှင်းခြင်းအတွက် သီးခြားစောင့်ဆိုင်းခြင်းအမျိုးအစားကို သိရှိခြင်းသည် အရေးကြီးသည်-
- PAGELATCH_EX- ခွဲဝေပေးသည့်စာမျက်နှာများတွင် tempdb ငြင်းခုံမှုကို ညွှန်ပြလေ့ရှိသည်။ ဖြေရှင်းချက်တွင် tempdb ဒေတာဖိုင်များကို ထပ်မံထည့်သွင်းခြင်း ပါဝင်သည်။
- PAGELATCH_SH- အသုံးပြုသူဇယားရှိ hot page များကို ညွှန်ပြနိုင်သည်။ ဖြေရှင်းချက်တွင် အပိုင်းခွဲခြင်း သို့မဟုတ် အညွှန်းပြန်လည်ဖွဲ့စည်းခြင်း ပါဝင်သည်။
- PAGELATCH_UP- အပ်ဒိတ်များအတွင်း အဖြစ်များသည်။ ပြဿနာထက် ပုံမှန်လည်ပတ်မှုကို ညွှန်ပြနိုင်သည်။
Activity Monitor သည် ၎င်းတို့အားလုံးကို "Buffer Latch" အောက်တွင် အုပ်စုဖွဲ့ကာ ရောဂါရှာဖွေမှုကို ပိုမိုခက်ခဲစေသည်။ sp_WhoIsActive နှင့် DMV စုံစမ်းမေးမြန်းမှုများကဲ့သို့ ကိရိယာများသည် သီးခြားစောင့်ဆိုင်းခြင်းအမျိုးအစားများကို ပြသသည်။
6.3 ဒေတာတိကျမှုနှင့် အချိန်ကိုက်မှု
Activity Monitor သည် အချိန်နှင့်တပြေးညီ အနီးနားမြင်ကွင်းကို ပံ့ပိုးပေးသည်၊ သို့သော် "အနီး" သည် လည်ပတ်မှုဆိုင်ရာ စကားလုံးဖြစ်သည်။ ၎င်း၏ ဒေတာစုဆောင်းမှုနည်းလမ်းကို နားလည်ခြင်းက ရလဒ်များကို မှန်ကန်စွာ အနက်ဖွင့်ရန် ကူညီပေးသည်။
6.3.1 လျှပ်တစ်ပြက်နှင့် ဆက်တိုက်စောင့်ကြည့်ခြင်း
လုပ်ဆောင်ချက် Monitor သည် ပြန်လည်ဆန်းသစ်သည့်ကာလတစ်ခုစီတွင် ရိုက်ကူးထားသော ချက်ခြင်းအချိန်အတွင်း လျှပ်တစ်ပြက်ရိုက်ချက်များကို ပြသသည်။ လျှပ်တစ်ပြက်ရိုက်ချက်များကြားတွင် ဖြစ်ပေါ်နေသည့် အဖြစ်အပျက်များကို ဖမ်းယူမထားပါ။ စုံစမ်းမှုတစ်ခုသည် 2 စက္ကန့်ကြာပြီး 10 စက္ကန့်တိုင်းတွင် ပြန်လည်စတင်ပါက၊ အချိန်ပေါ် မူတည်၍ တစ်ကြိမ် သို့မဟုတ် လုံးဝမတွေ့ရပါ။
ဆိုလိုသည်မှာ Activity Monitor သည် အမြဲတစေ ပြဿနာများ (ကြာရှည်ခံသော မိနစ်များကို ပိတ်ဆို့ခြင်း၊ တသမတ်တည်း မြင့်မားသော CPU) ကို ရှာဖွေရာတွင် ထူးချွန်သော်လည်း ယာယီပြဿနာများ (ခေတ္တသော့ပိတ်မှုများ၊ ရံဖန်ရံခါ စုံစမ်းမေးမြန်းမှုများ) ကို လက်လွတ်သွားနိုင်သည်။
6.3.2 ပေါင်းစည်းခြင်းနှင့် နမူနာယူခြင်း။
မကြာသေးမီက စျေးကြီးသောမေးခွန်းများအကန့်တွင် စုံစမ်းမေးမြန်းမှုအစီအစဉ်များသည် ကက်ရှ်တွင်ထည့်သွင်းထားသောကြောင့် စုစည်းထားသောဒေတာကိုပြသသည်။ အစီအစဉ်တစ်ခုကို မျှဝေပါက မတူညီသော ပါရာမီတာတန်ဖိုးများရှိသော တူညီသောမေးခွန်းနှစ်ခုသည် အတန်းတစ်ခုအဖြစ် ပေါ်လာပါသည်။ ဤစုစည်းမှုသည် သတ်မှတ်ထားသော ကန့်သတ်ဘောင်များ ပေါင်းစပ်မှုများ (ပါရာမီတာ အနံ့ခံခြင်းဆိုင်ရာ ပြဿနာများ) ဖြင့် ပြဿနာများကို ဖုံးကွယ်နိုင်သည်။
Resource Waits pane သည် snapshot များကို နှိုင်းယှဉ်ခြင်းဖြင့် နှုန်းထားများကို တွက်ချက်သည်။ စောင့်ဆိုင်းစာရင်းအင်းများကို snapshot များအကြား ပြန်လည်သတ်မှတ်ပါက (ရှားသော်လည်း ဖြစ်နိုင်သည်)၊ တွက်ချက်ထားသော နှုန်းထားများ မှားယွင်းနေနိုင်သည်။
6.4 လုပ်ဆောင်ချက် Monitor ကို အသုံးမပြုရသည့်အခါ
လုပ်ဆောင်ချက် Monitor သည် စောင့်ကြည့်မှု အခြေအနေတိုင်းအတွက် မသင့်လျော်ပါ။ အစားထိုးကိရိယာများသည် ပိုမိုကောင်းမွန်သောရွေးချယ်မှုများဖြစ်သည့်အခါ အသိအမှတ်ပြုပါ။
6.4.1 သမိုင်းဆိုင်ရာ ခွဲခြမ်းစိတ်ဖြာမှု လိုအပ်ချက်များ
လုပ်ဆောင်ချက် Monitor သည် လက်ရှိ သို့မဟုတ် လတ်တလော လုပ်ဆောင်ချက်ကိုသာ ပြသသည်။ ၎င်းသည် သမိုင်းဆိုင်ရာ အချက်အလက်များကို မသိမ်းဆည်းပါ။ ရက်များ သို့မဟုတ် ရက်သတ္တပတ်များအတွင်း ခေတ်ရေစီးကြောင်းများကို ပိုင်းခြားစိတ်ဖြာရန် လိုအပ်ပါက၊ လက်ရှိစွမ်းဆောင်ရည်ကို အခြေခံမျဉ်းများနှင့် နှိုင်းယှဉ်ရန် သို့မဟုတ် စွမ်းဆောင်ရည်ပုံစံများဆိုင်ရာ အစီရင်ခံစာများ ထုတ်ပြန်ရန် လိုအပ်ပါက၊ လုပ်ဆောင်ချက် Monitor သည် မလုံလောက်ပါ။
သမိုင်းဆိုင်ရာ ခွဲခြမ်းစိတ်ဖြာမှုအတွက် အသုံးပြုပါ။ SQL Server၏ built-in Performance Dashboard၊ ဖိုင်ပစ်မှတ်များပါသည့် Extended Events သို့မဟုတ် ပြင်ပစောင့်ကြည့်ရေးဖြေရှင်းချက်များ။
6.4.2 အသေးစိတ်စောင့်ဆိုင်းစာရင်းဇယား လိုအပ်ချက်များ
အဆင့်မြင့်ချိန်ညှိခြင်းအတွက် တိကျသောစောင့်ဆိုင်းမှုအမျိုးအစားအချက်အလက်ကို လိုအပ်သောအခါ၊ လုပ်ဆောင်ချက်စောင့်ကြည့်သူ၏ အုပ်စုဖွဲ့ခြင်းနှင့် စစ်ထုတ်ခြင်းတို့သည် မလုံလောက်ပါ။ DMV မေးခွန်းများကို တိုက်ရိုက် သို့မဟုတ် sp_WhoIsActive အစား သုံးပါ။
ပြည့်စုံသောစောင့်ဆိုင်းစာရင်းဇယားခွဲခြမ်းစိတ်ဖြာမှုအတွက်၊ sys.dm_os_wait_stats ကို တိုက်ရိုက်မေးမြန်းပြီး နူးညံ့သိမ်မွေ့သောစောင့်ဆိုင်းမှုများကို ကိုယ်တိုင်စစ်ထုတ်ပါ။
6.4.3 ထုတ်လုပ်မှုဆာဗာ ထည့်သွင်းစဉ်းစားမှုများ
ကြီးမားသောဝန်ထုပ်ဝန်ပိုးအောက်တွင်ရှိသော ထုတ်လုပ်မှုဆာဗာများတွင်၊ လုပ်ဆောင်ချက်စောင့်ကြည့်ကိရိယာ၏အပေါ်ပိုင်းသည် ပြဿနာရှိနိုင်သည်။ ဒေတာဘေ့စ်စီမံခန့်ခွဲသူအများအပြားသည် လုပ်ဆောင်ချက်စောင့်ကြည့်စစ်ဆေးခြင်းကို တူညီသောဆာဗာပေါ်တွင် တစ်ပြိုင်နက်တည်း လုပ်ဆောင်ခြင်းမပြုသင့်ပါ။
ထုတ်လုပ်မှုကို စောင့်ကြည့်ခြင်းအတွက်၊ စောင့်ကြည့်မှုဒေတာဘေ့စ်တွင် သိမ်းဆည်းထားသည့် စီစဉ်ထားသော DMV လျှပ်တစ်ပြက်ရိုက်ချက်များကဲ့သို့ ပေါ့ပါးသောအခြားရွေးချယ်စရာများကို စဉ်းစားပါ သို့မဟုတ် Always On configurations ရှိ ဒုတိယပုံတူများကို စောင့်ကြည့်ရန် Read-Only လမ်းကြောင်းကို အသုံးပြုပါ။
7. Activity Monitor အသုံးပြုခြင်းအတွက် အကောင်းဆုံးအလေ့အကျင့်များ
အကောင်းဆုံး အလေ့အကျင့်များကို လိုက်နာခြင်းဖြင့် သင့်ဆာဗာများပေါ်ရှိ အပျက်သဘောဆောင်သော သက်ရောက်မှုများကို လျှော့ချပေးစဉ်တွင် လုပ်ဆောင်ချက်စောင့်ကြည့်ခြင်းမှ အမြင့်ဆုံးတန်ဖိုးကို ရရှိကြောင်း သေချာစေသည်။
7.1 လုပ်ဆောင်ချက်စောင့်ကြည့်ကိရိယာကို မည်သည့်အချိန်တွင် အသုံးပြုမည်နည်း။
လုပ်ဆောင်ချက်စောင့်ကြည့်ကိရိယာသည် သီးခြားအခြေအနေများတွင် တောက်ပနေပါသည်။ ၎င်း၏ အားသာချက်များသည် သင့်လိုအပ်ချက်များနှင့် ကိုက်ညီသည့်အခါ ၎င်းကို အသုံးပြုပါ။
7.1.1 အချိန်နှင့်တပြေးညီ လုပ်ဆောင်မှု ပြဿနာများ
အသုံးပြုသူများ လက်ရှိကြုံတွေ့နေရသော ပြဿနာများနှင့် ပြဿနာကို သင်ချက်ချင်းသိရှိရန် လိုအပ်သည့်အခါ လုပ်ဆောင်ချက်စောင့်ကြည့်ကိရိယာသည် စံပြဖြစ်သည်။ အချိန်နှင့်တစ်ပြေးညီ မြင်ကွင်းသည် ယခုဖြစ်ပျက်နေသည့်အရာကို မြင်နိုင်ရန် ကူညီပေးသည်။
"အပလီကေးရှင်းက နှေးနေတယ်" ဟု ဖုန်းခေါ်သောအခါ၊ Activity Monitor ကိုဖွင့်ခြင်းသည် သင်၏ပထမဆုံးခြေလှမ်းများထဲမှတစ်ခုဖြစ်သင့်သည်။ ဒေတာဘေ့စ်သည် အလုပ်များနေခြင်း၊ ပိတ်ဆို့ထားခြင်း သို့မဟုတ် အလုပ်မလုပ်ခြင်းရှိ၊ မရှိ လျင်မြန်စွာ ဆုံးဖြတ်နိုင်သည်။
7.1.2 အပလီကေးရှင်း နှေးကွေးမှု စုံစမ်းစစ်ဆေးရေး
တိကျသောအပလီကေးရှင်းတစ်ခုသည် တုံ့ပြန်မှုမရှိသောအခါ၊ ဒေတာဘေ့စ်ပြဿနာများသည် အကြောင်းရင်းဖြစ်မဖြစ်ကို လုပ်ဆောင်ချက်စောင့်ကြည့်စစ်ဆေးရန် ကူညီပေးသည်။ အဆိုပါ အပလီကေးရှင်း၏ ဒေတာဘေ့စ် လုပ်ဆောင်ချက်ကိုသာ ကြည့်ရန် လုပ်ငန်းစဉ်များ အကန့်ကို အပလီကေးရှင်းအမည်ဖြင့် စစ်ထုတ်ပါ။
အပလီကေးရှင်းသည် အသုံးပြုသူများ ပြဿနာများကို သတင်းပို့နေချိန်တွင် ဒေတာဘေ့စ်လုပ်ဆောင်ချက်ကို မပြပါက၊ ပြဿနာသည် stack ၏ အခြားနေရာတွင် ရှိနေသည်။ ကျယ်ပြန့်သောပိတ်ဆို့ခြင်း သို့မဟုတ် စျေးကြီးသောမေးခွန်းများကို သင်တွေ့ပါက၊ သင်၏တရားခံကို သင်တွေ့ပြီဖြစ်သည်။
7.1.3 အမြန်ကျန်းမာရေးစစ်ဆေးမှုများ
Activity Monitor သည် ပုံမှန်စီမံခန့်ခွဲနေစဉ်အတွင်း လျင်မြန်သော ကျန်းမာရေးစစ်ဆေးမှုများအတွက် အကောင်းဆုံး ဒက်ရှ်ဘုတ်တစ်ခု ပေးပါသည်။ ၎င်းကိုဖွင့်ပြီး ခြုံငုံသုံးသပ်ချက်ဂရပ်များကို ကြည့်ပါ၊ မည်သည့်အရာမျှ ပုံမှန်မဟုတ်ကြောင်း အတည်ပြုပါ။
ဤ cursory check သည် စက္ကန့်ပိုင်းကြာမြင့်ပြီး ၎င်းတို့ကို မဝေဖန်မီ ပြဿနာများကို ဖော်ပြနိုင်သည်။ ၎င်းကို သင့်နေ့စဉ်လုပ်ရိုးလုပ်စဉ်၏ တစ်စိတ်တစ်ပိုင်းဖြစ်စေပါ။
7.2 အကောင်းဆုံးပြင်ဆင်မှု ဆက်တင်များ
Activity Monitor ကို သင့်လျော်စွာ ပြင်ဆင်သတ်မှတ်ခြင်းသည် ၎င်း၏ အသုံးဝင်မှုနှင့် ၎င်း၏ အရင်းအမြစ် ခြေရာကို ပိုမိုကောင်းမွန်စေပါသည်။
7.2.1 ပြန်လည်စတင်ရန် အချိန်များကို အကြံပြုထားသည်။
သင်၏ပြန်လည်ဆန်းသစ်သည့်ကာလကို သင့်ရည်ရွယ်ချက်နှင့် ကိုက်ညီပါ-
- အသက်ဝင်နေသော ပြဿနာဖြေရှင်းခြင်း- 10 စက္ကန့်သည် ကျိုးကြောင်းဆီလျော်စွာ တုံ့ပြန်မှုပေးသည်။
- တိုးချဲ့စောင့်ကြည့်ခြင်း- စက္ကန့် 30-60 သည် ပိုရှည်သော စောင့်ကြည့်ရေးကာလများအတွင်း ဆာဗာသက်ရောက်မှုကို လျှော့ချပေးသည်။
- အရေးပါသော ပြဿနာရှာဖွေခြင်း- စက္ကန့်တိုင်း ရေတွက်သည့်အခါ 5 စက္ကန့်သည် အသေးစိပ်ကို ပေးစွမ်းသော်လည်း အတိုချုံးသုံးပါ။
- ပုံမှန်ကျန်းမာရေးစစ်ဆေးမှုများ သင်တက်ကြွစွာမကြည့်သည့်အခါ လူကိုယ်တိုင်ပြန်လည်စတင်ခြင်း (1 နာရီကြားကာလ)။
ပြီးသွားသောအခါ လုပ်ဆောင်ချက် Monitor ကို ပိတ်ရန် မမေ့ပါနှင့်။ ၎င်းကို ကာလရှည်ကြာစွာ သတ်မှတ်ပေးပြီး ၎င်းကို မေ့လျော့ခြင်းသည် ဆာဗာရင်းမြစ်များကို ဖြုန်းတီးစေသည်။
7.2.2 စစ်ထုတ်ခြင်းဗျူဟာများ
သက်ဆိုင်ရာ အချက်အလက်များကို အာရုံစိုက်ရန်နှင့် သိမြင်နိုင်စွမ်းကို လျှော့ချရန် စစ်ထုတ်မှုများကို အသုံးပြုပါ-
- လုပ်ငန်းစဉ်များကို စစ်ထုတ်ပါ။ ဒေတာဘေ့စ သီးခြားဒေတာဘေ့စ်များနှင့် ပတ်သက်သော လုပ်ဆောင်ချက်များကိုသာ ကြည့်ရှုရန်။
- အားဖြင့် Filter Login အသုံးပြုသူ၏ လုပ်ဆောင်ချက်ကို ခြေရာခံရန်။
- အားဖြင့် Filter Task State = အလုပ်မလုပ်သော ဆက်ရှင်များကို ဖျောက်ရန် ပြေးနေသည်။
- အားဖြင့် Filter လြှောကျလှာ သီးခြားအစီအစဉ်များမှ လမ်းကြောင်းများကို ခွဲထုတ်ရန်။
- NonBlanks တွင်သာပြပါ။ ပိတ်ဆို့ထားသည်။ ပိတ်ဆို့နေသည့် အခြေအနေများကိုသာ ကြည့်ရှုရန်။
7.2.3 ကော်လံရွေးချယ်ခြင်းနှင့် စီခြင်း
Activity Monitor ဒေတာကို ပြန်လည်သုံးသပ်ရန် စနစ်တကျ ချဉ်းကပ်နည်းကို ပြုစုပါ-
- ခြုံငုံသုံးသပ်ချက်ဖြင့် စတင်ပါ- သိသာထင်ရှားသော spikes သို့မဟုတ် ကွဲလွဲချက်များရှိရန် ဂရပ်များကို စစ်ဆေးပါ။
- ပိတ်ဆို့ခြင်းအတွက် လုပ်ငန်းစဉ်များကို စစ်ဆေးပါ- Session ID အလိုက်စီပါ၊ ထို့နောက် Blocked By တန်ဖိုးများကို ရှာပါ။
- သုံးသပ်ချက် အရင်းအမြစ် စောင့်ဆိုင်းခြင်း- အရင်းအမြစ် ပိတ်ဆို့မှုများကို ရှာဖွေဖော်ထုတ်ရန် စုစည်းစောင့်ဆိုင်းချိန်ဖြင့် စီပါ။
- စျေးကြီးသောမေးခွန်းများကိုခွဲခြမ်းစိတ်ဖြာပါ- မတူညီသောပြဿနာအမျိုးအစားများကိုရှာဖွေရန် မတူညီသောမက်ထရစ်များ (CPU၊ လုပ်ဆောင်မှုများ၊ ဖတ်ခြင်း) ဖြင့်စီပါ။
- I/O Pane ဖြင့် အတည်ပြုပါ- မြင့်မားသောဒစ်ခ်လုပ်ဆောင်ချက်နှင့် I/O-အလေးပေးသော မေးမြန်းချက်များ ဆက်စပ်မှုရှိမရှိ အတည်ပြုပါ။
7.3 အခြားကိရိယာများနှင့် ပေါင်းစည်းခြင်း။
Activity Monitor သည် သီးခြားဖြေရှင်းချက်တစ်ခုအဖြစ်မဟုတ်ဘဲ ပိုမိုကျယ်ပြန့်သောကိရိယာအစုံ၏တစ်စိတ်တစ်ပိုင်းအဖြစ် အကောင်းဆုံးလုပ်ဆောင်သည်။
7.3.1 ဖြင့် အသုံးပြုခြင်း။ SQL Server အရည်အသွေး
လုပ်ဆောင်ချက် Monitor နှင့် SQL Server Profiler သည် တစ်ခုနှင့်တစ်ခု အားဖြည့်ပေးသည်။ Activity Monitor တွင် ပြဿနာရှိသော ဆက်ရှင်တစ်ခုကို ဖော်ထုတ်သည့်အခါ ၎င်းကို ညာဖက်ကလစ်နှိပ်ပြီး ရွေးချယ်ပါ။ လုပ်ငန်းစဉ်ကို ခြေရာခံပါ။ SQL Server အရည်အသွေး.
၎င်းသည် ထိုစက်ရှင်၏ လုပ်ဆောင်ချက်ကိုသာ ဖမ်းယူရန် စီစဉ်ထားပြီးသော စစ်ထုတ်မှုများဖြင့် ပရိုဖိုင်ကို စတင်သည်။ လုပ်ဆောင်ခဲ့သည့် ထုတ်ပြန်ချက်အပြည့်အစုံ၊ အချိန်ကိုက်အချက်အလက်နှင့် အမှားအယွင်း မက်ဆေ့ချ်များ—လုပ်ဆောင်ချက်စောင့်ကြည့်စစ်ဆေးခြင်း မပေးဆောင်သည့် အသေးစိတ်အချက်အလတ်များကို သင်တွေ့မြင်ရသည်။
အကြောင်းပိုမိုလေ့လာသင်ယူရန် SQL Server Profiler စွမ်းရည်များနှင့် အဆင့်မြင့် ခြေရာခံခြင်း နည်းပညာများကို ကျွန်ုပ်တို့ ကြည့်ရှုပါ။ အများပါဝင်သော SQL Server Profiler လမ်းညွှန်.
7.3.2 တိုးချဲ့ဖြစ်ရပ်များနှင့် ဖြည့်စွက်ခြင်း။
Extended Events သည် Activity Monitor လွဲချော်နေသော အချက်အလက်များကို ဖမ်းယူပေးနိုင်သော အသေးစိပ်စောင့်ကြည့်မှုကို ပံ့ပိုးပေးပါသည်။ မရပ်မနား၊ ကာလရှည်ကြာ မေးမြန်းမှုများ၊ သို့မဟုတ် အလွန်အကျွံ ပြန်လည်ပေါင်းစည်းခြင်းကဲ့သို့သော သီးခြားဖြစ်ရပ်များကို ခြေရာခံရန် တိုးချဲ့ထားသော ဖြစ်ရပ်ဆက်ရှင်များကို ဖန်တီးပါ။
ဆက်တိုက်စောင့်ကြည့်ခြင်းနှင့် သမိုင်းဆိုင်ရာခွဲခြမ်းစိတ်ဖြာခြင်းအတွက် ချက်ချင်းစုံစမ်းစစ်ဆေးရန်နှင့် တိုးချဲ့ထားသောဖြစ်ရပ်များအတွက် လုပ်ဆောင်ချက်စောင့်ကြည့်ကိရိယာကို အသုံးပြုပါ။ ကိရိယာနှစ်ခုသည် မတူညီသောလိုအပ်ချက်များကို ဖြည့်ဆည်းပေးသည်။
အကြောင်းပိုမိုလေ့လာသင်ယူရန် SQL Server Extended Events စွမ်းရည်များနှင့် အဆင့်မြင့်စောင့်ကြည့်ရေးနည်းပညာများကို ကျွန်ုပ်တို့ကြည့်ရှုပါ။ အများပါဝင်သော SQL Server တိုးချဲ့အစီအစဉ်များလမ်းညွှန်.
7.3.3 Third-Party Monitoring Solutions
SolarWinds Database Performance Analyzer၊ Redgate SQL Monitor နှင့် Quest Spotlight ကဲ့သို့သော စီးပွားဖြစ်ကိရိယာများသည် Activity Monitor တွင်မရှိသော အင်္ဂါရပ်များဖြစ်သည့် သတိပေးခြင်း၊ သမိုင်းဝင်ခေတ်ရေစီးကြောင်းများ၊ စွမ်းရည်စီမံကိန်းရေးဆွဲခြင်းနှင့် အလိုအလျောက်ရောဂါရှာဖွေရေးတို့ကို ပေးဆောင်သည်။
ဤကိရိယာများသည် အစားထိုးခြင်းမဟုတ်ဘဲ Activity Monitor တွင် တန်ဖိုးရှိသော ထပ်လောင်းများဖြစ်သည်။ ဆန်းပြားသော စောင့်ကြည့်ရေးကိရိယာများ ရရှိနိုင်သော်လည်း လျင်မြန်သော စစ်ဆေးမှုများနှင့် စုံစမ်းစစ်ဆေးမှုများအတွက် လုပ်ဆောင်ချက် Monitor သည် အသုံးဝင်ပါသည်။
ရှောင်ရန် အဖြစ်များသော အမှားများ
ဖြစ်တတ်တဲ့ Activity Monitor အမှားတွေကို နားလည်ခြင်းက ၎င်းကို ပိုမိုထိရောက်စွာ အသုံးပြုနိုင်ပါတယ်။
7.4.1 လှုပ်ရှားမှု Monitor မှထွက်ခြင်း ဆက်တိုက်လုပ်ဆောင်ခြင်း။
အဖြစ်အများဆုံးအမှားကတော့ Activity Monitor ကိုဖွင့်ပြီး အကန့်အသတ်မရှိဖွင့်ထားလိုက်ခြင်းပါပဲ။ ဒါက server ရဲ့ resource တွေကိုဖြုန်းတီးစေပြီး သင်တက်ကြွစွာကြည့်ရှုမနေတဲ့အတွက် အကျိုးမရှိပါဘူး။
၎င်းကို သင်တက်ကြွစွာအသုံးမပြုပါက လုပ်ဆောင်ချက်စောင့်ကြည့်ကိရိယာကို ပိတ်ပါ။ စဉ်ဆက်မပြတ် စောင့်ကြည့်မှု လိုအပ်ပါက၊ အချိန်ဇယားဆွဲထားသော ဒေတာစုဆောင်းမှုဖြင့် သင့်လျော်သော စောင့်ကြည့်ရေးအဖြေကို အကောင်အထည်ဖော်ပါ။
7.4.2 လုပ်ဆောင်ချက်စောင့်ကြည့်တစ်ခုတည်းအပေါ် အလွန်အကျွံအားကိုးခြင်း။
Activity Monitor သည် ဆာဗာကျန်းမာရေးအပေါ် ရှုထောင့်တစ်ခု ပေးသည်။ တစ်ခုတည်းကို အားမကိုးပါနဲ့။ OS-အဆင့်မက်ထရစ်များအတွက် Windows Performance Monitor၊ အသေးစိတ်ခြေရာခံခြင်းအတွက် တိုးချဲ့ဖြစ်ရပ်များနှင့် query ချိန်ညှိခြင်းအတွက် လုပ်ဆောင်မှုအစီအစဉ်ခွဲခြမ်းစိတ်ဖြာမှုတို့ကို ဖြည့်စွက်ပါ။
Activity Monitor သည် သင့်အား ပြဿနာများကို ရှာဖွေဖော်ထုတ်ရန် ကူညီပေးသော်လည်း ၎င်းတို့ကို ဖြေရှင်းရာတွင် မကြာခဏဆိုသလို ထပ်လောင်းကိရိယာများနှင့် ပိုမိုလေးနက်သော ခွဲခြမ်းစိတ်ဖြာမှုများ လိုအပ်ပါသည်။
အကြောင်းပိုမိုလေ့လာပါ SQL Server ကျွန်ုပ်တို့၏စွမ်းဆောင်ရည်မော်နီတာ ပြည့်စုံသောလမ်းညွှန်.
7.4.3 သမိုင်းဆိုင်ရာလမ်းကြောင်းများကို လျစ်လျူရှုခြင်း။
လုပ်ဆောင်ချက် Monitor သည် လက်ရှိအခြေအနေအား ပြသသော်လည်း စွမ်းဆောင်ရည်ပြဿနာများသည် အချိန်ကြာလာသည်နှင့်အမျှ မြင်သာသည့်ပုံစံများ ရှိတတ်သည်။ လက်ရှိ မက်ထရစ်များကို အခြေခံမျဉ်းများနှင့် နှိုင်းယှဉ်ကာ ခေတ်ရေစီးကြောင်းများကို ခွဲခြားသတ်မှတ်နိုင်စေရန် သမိုင်းဆိုင်ရာ အချက်အလက်စုဆောင်းမှုကို အကောင်အထည်ဖော်ပါ။
သမိုင်းဆိုင်ရာ အကြောင်းအရာများမပါဘဲ၊ ယနေ့ "ပုံမှန်" CPU သုံးစွဲမှုသည် ယခင်လ၏ အခြေခံလိုင်းထက် 30% ပိုများနေကြောင်း၊ တဖြည်းဖြည်း ဆုတ်ယုတ်ကျဆင်းမှုကို ညွှန်ပြနေသည့် သင်မသိနိုင်ပေ။
8. ပြဿနာဖြေရှင်းခြင်း လုပ်ဆောင်ချက် ပြဿနာများကို စောင့်ကြည့်ပါ။
Activity Monitor သည် တစ်ခါတစ်ရံတွင် ပြဿနာများ ကြုံတွေ့ရတတ်သည်။ ဤပြဿနာများကို မည်သို့ဖြေရှင်းရမည်ကို သိရှိခြင်းသည် စိတ်ပျက်အားငယ်ခြင်းမှ ကာကွယ်ပေးပါသည်။
8.1 လုပ်ဆောင်ချက် Monitor ကို ဖွင့်မည်မဟုတ်ပါ သို့မဟုတ် ဒေတာပြသမည်မဟုတ်ပါ။
လုပ်ဆောင်ချက် Monitor ကိုဖွင့်သော်လည်း ဗလာအကန့်များကိုပြသသည့်အခါ သို့မဟုတ် လုံးဝဖွင့်မည်မဟုတ်သည့်အခါ၊ အချက်များစွာမှာ တာဝန်ရှိနိုင်ပါသည်။
8.1.1 ခွင့်ပြုချက်ပြဿနာများ
Activity Monitor ပြဿနာများ၏ အဖြစ်အများဆုံးအကြောင်းရင်းမှာ ခွင့်ပြုချက်မလုံလောက်ခြင်းဖြစ်သည်။ အတည်ပြုရန်နှင့် ဖြေရှင်းရန်-
- သင်၏ဆာဗာအဆင့်ခွင့်ပြုချက်များကို စစ်ဆေးပါ-
SELECT * FROM fn_my_permissions(NULL, 'SERVER') WHERE permission_name = 'VIEW SERVER STATE'; - အတန်းများပြန်မလာပါက၊ သင်သည် VIEW SERVER STATE ခွင့်ပြုချက်မရှိပေ။
- ၎င်းကိုခွင့်ပြုရန် ဆာဗာစီမံခန့်ခွဲသူကို တောင်းဆိုပါ-
USE master; GRANT VIEW SERVER STATE TO [YourLogin]; - ခွင့်ပြုချက်ပေးပြီးနောက် လုပ်ဆောင်ချက်စောင့်ကြည့်ကိရိယာကို ပိတ်ပြီး ပြန်ဖွင့်ပါ။
8.1.2 ဗားရှင်း လိုက်ဖက်ညီမှု ပြဿနာများ
ဗားရှင်းဟောင်းကို အသုံးပြုထားသည်။ SQL Server စီမံခန့်ခွဲမှုစတူဒီယိုကို ပိုမိုသစ်လွင်စေရန် ချိတ်ဆက်ပါ။ SQL Server ဗားရှင်းသည် Activity Monitor ကျရှုံးမှုကို ဖြစ်စေနိုင်သည်။ ကိရိယာသည် စောင့်ဆိုင်းခြင်းအမျိုးအစားအသစ်များ သို့မဟုတ် စနစ်ကြည့်ရှုမှုကော်လံများကို နားမလည်နိုင်ပါ။
သင့်ထက် ကိုက်ညီသော သို့မဟုတ် အသစ်ဖြစ်သော SSMS ဗားရှင်းကို အမြဲသုံးပါ။ SQL Server ဗားရှင်း။ Microsoft မှ သီးခြား အခမဲ့ ဒေါင်းလုဒ်အဖြစ် နောက်ဆုံးထွက် SSMS ကို ပံ့ပိုးပေးသည်။ SQL Server သူ့ဟာသူ။
8.1.3 Firewall နှင့် Network ပြဿနာများ
လုပ်ဆောင်ချက် Monitor မှ ချိတ်ဆက်မှု လိုအပ်ပါသည်။ SQL Server စံ port များပေါ်တွင် ဥပမာ (ပုံမှန်အားဖြင့် 1433)။ အကယ်၍ သင်သည် Object Explorer မှတစ်ဆင့် ချိတ်ဆက်နိုင်သော်လည်း လုပ်ဆောင်ချက် စောင့်ကြည့်စစ်ဆေးခြင်း မအောင်မြင်ပါက၊ Firewall စည်းမျဉ်းများသည် သီးခြားချိတ်ဆက်မှုများကို ပိတ်ဆို့နေနိုင်ပါသည်။
သင့်ဖောက်သည်ထံ ရောက်ရှိနိုင်ကြောင်း အတည်ပြုပါ။ SQL Server လိုအပ်သော port များအားလုံးတွင်စက်။ Windows Firewall နှင့် သင့် client နှင့် server ကြားရှိ မည်သည့် network firewalls ကိုမဆို စစ်ဆေးပါ။
8.2 လုပ်ဆောင်ချက်စောင့်ကြည့်ခြင်းကို အပြီးတိုင်ရပ်ထားသည်။
အထူးသဖြင့် ဘုံပြဿနာ SQL Server 2019၊ သည် ခေတ္တရပ်ထားသည့်အခြေအနေတွင် လုပ်ဆောင်ချက်စောင့်ကြည့်စစ်ဆေးမှုကို ဖွင့်လှစ်ပြီး ပြန်လည်စတင်ရန် ငြင်းဆိုထားသည်။
8.2.1 ခေတ္တရပ်ထားသည့်ပြည်နယ်ကို နားလည်ခြင်း။
လုပ်ဆောင်ချက် Monitor ခေတ္တရပ်သည့်အခါ၊ အကန့်များအားလုံးသည် လုပ်ဆောင်နိုင်ခြင်းမရှိသည့် ဆက်လုပ်ရန်ခလုတ်တစ်ခုဖြင့် "ခေတ္တရပ်ထားသည်" အခြေအနေကို ပြသသည်။ ၎င်းသည် သင့်အား မည်သည့်ဆာဗာလုပ်ဆောင်ချက်ကိုမျှ မမြင်ရစေရန် တားဆီးထားသည်။
ခေတ္တရပ်ထားသည့်အခြေအနေသည် အများအားဖြင့် ခွင့်ပြုချက်ပြဿနာများ၊ အဝေးမှချိတ်ဆက်မှုကန့်သတ်ချက်များ သို့မဟုတ် ရည်ရွယ်ချက်ရှိရှိ ခေတ္တရပ်သည့်လုပ်ဆောင်ချက်မဟုတ်ဘဲ SSMS ဗားရှင်းချွတ်ယွင်းချက်များကြောင့် ဖြစ်တတ်သည်။
8.2.2 အဖြစ်များသောအကြောင်းရင်းများ
လုပ်ဆောင်ချက် စောင့်ကြည့်ကိရိယာသည် အောက်ပါတို့ကြောင့် အမြဲတမ်း ခေတ္တရပ်ထားသည့် အခြေအနေသို့ ဝင်ရောက်နိုင်သည်-
- SERVER STATE ခွင့်ပြုချက် ပျောက်ဆုံးနေသည် SQL Server ဗားရှင်း
- အဝေးထိန်းချိတ်ဆက်မှုများကို ပိတ်ထားသည်။ SQL Server အာဏာ
- တိကျသောစနစ်မေးမြန်းချက်များအတွက် စစ်မှန်ကြောင်းအထောက်အထား မအောင်မြင်ပါ။
- အထူးသဖြင့် 18.0 မှ 18.3 အတွင်း သီးခြား SSMS တည်ဆောက်မှုများတွင် အမှားအယွင်းများ
- ကလိုင်းယင့်နှင့် ဆာဗာကြား ချိတ်ဆက်မှု ပြဿနာများ
8.2.3 ဆုံးဖြတ်ချက် အဆင့်များ
Activity Monitor ခေတ္တရပ်ထားသည့် အခြေအနေပြဿနာများကို ဖြေရှင်းရန်-
- SMS ကို အပ်ဒိတ်လုပ်ပါ- နောက်ဆုံးပေါ်ဒေါင်းလုပ်လုပ်ပြီးထည့်သွင်းပါ SQL Server Microsoft ၏ ဝဘ်ဆိုဒ်မှ Management Studio ဗားရှင်း။ ခေတ္တရပ်ထားသည့် အခြေအနေ ချွတ်ယွင်းချက်များစွာကို နောက်ပိုင်းတွင် ထုတ်ဝေမှုများတွင် ပြုပြင်ခဲ့သည်။
- ခွင့်ပြုချက်များကို အတည်ပြုပါ- သင့်တွင် SERVER STATE နှင့် DEFINITION ခွင့်ပြုချက်များကို ကြည့်ရှုရန် သေချာပါစေ။
- အဝေးထိန်းချိတ်ဆက်မှုများကို စစ်ဆေးပါ- ကြောင်းအတည်ပြုရန် SQL Server ဥပမာအားဖြင့် အဝေးမှချိတ်ဆက်မှုများကို ခွင့်ပြုသည်-
EXEC sp_configure 'remote access';တန်ဖိုးသည် 0 ဖြစ်ပါက၊ ၎င်းကိုဖွင့်ရန် စီမံခန့်ခွဲသူကို တောင်းဆိုပါ။
- SSMS ကို ပြန်လည်စတင်ပါ- တစ်ခါတစ်ရံမှာ ဝင်းဒိုးအားလုံးကို ပိတ်ပြီး ပြန်ဖွင့်လိုက်ရုံပါပဲ။ SQL Server Management Studio သည် ပြဿနာကို ဖြေရှင်းပေးသည်။
- Windows Authentication ဖြင့် ချိတ်ဆက်ပါ SQL authentication ကိုအသုံးပြုပါက၊ တစ်ခါတစ်ရံတွင် စစ်မှန်ကြောင်းအထောက်အထားပြခြင်းဆိုင်ရာ ခေတ္တရပ်ခြင်းပြဿနာများကို ကျော်လွှားနိုင်သောကြောင့် ၎င်းအစား Windows စစ်မှန်ကြောင်းအထောက်အထားပြခြင်းကို စမ်းကြည့်ပါ။
8.3 လုပ်ဆောင်ချက် Monitor ကိုအသုံးပြုသည့်အခါ စွမ်းဆောင်ရည်ပြဿနာများ
Activity Monitor ကိုယ်တိုင် နှေးကွေးသွားပါက သို့မဟုတ် ဆာဗာစွမ်းဆောင်ရည် ကျဆင်းသွားပါက၊ ချိန်ညှိမှု လိုအပ်ပါသည်။
8.3.1 Monitoring Overhead ကို လျှော့ချခြင်း။
Activity Monitor ၏သက်ရောက်မှုကို လျှော့ချရန်-
- ပြန်လည်ဆန်းသစ်မှုကြားကာလကို စက္ကန့် 30 သို့မဟုတ် 1 မိနစ်သို့ တိုးပါ။
- ပြိုကျသည့်ခလုတ်ကိုနှိပ်ခြင်းဖြင့် သင်တက်ကြွစွာအသုံးမပြုသောအကန့်များကိုပိတ်ပါ။
- အကန့်များ ပြိုကျသောအခါ၊ လုပ်ဆောင်ချက် စောင့်ကြည့်ကိရိယာသည် ၎င်းတို့အတွက် ဒေတာကို မမေးမြန်းပါ။
- Activity Monitor အများအပြားကို တစ်ပြိုင်နက် လုပ်ဆောင်ခြင်းကို ရှောင်ကြဉ်ပါ။
- ပြဿနာများကို တက်ကြွစွာ မစုံစမ်းသောအခါတွင် လုပ်ဆောင်ချက် Monitor ကို လုံးဝပိတ်ပါ။
8.3.2 အစားထိုး ပေါ့ပါးသော စောင့်ကြည့်လေ့လာရေး နည်းလမ်းများ
Activity Monitor သည် သင့်ပတ်ဝန်းကျင်အတွက် အရင်းအမြစ်အလွန်အကျွံသုံးပါက၊ အခြားရွေးချယ်စရာများကို စဉ်းစားပါ-
- DMV များကို တိုက်ရိုက်မေးမြန်းရန်- သင်လိုအပ်သော အချက်အလက်ကိုသာ ရယူသည့် သီးခြား T-SQL queries များကို ရေးသားပါ။
- sp_WhoIsActive ကိုသုံးပါ- ဤသိမ်းဆည်းထားသော လုပ်ထုံးလုပ်နည်းသည် အလွန်ကောင်းမွန်ပြီး ပုံမှန်အားဖြင့် Activity Monitor ထက် စွမ်းဆောင်ရည်နိမ့်ပါသည်။
- နမူနာကို အကောင်အထည်ဖော်ပါ- ပုံမှန်ကြားကာလတွင် DMV ဒေတာလျှပ်တစ်ပြက်များကို ဖမ်းယူသည့် SQL Agent အလုပ်များကို အချိန်ဇယားဆွဲပြီး ရလဒ်များကို နောက်ပိုင်းခွဲခြမ်းစိတ်ဖြာမှုအတွက် ဇယားများတွင် သိမ်းဆည်းပါ။
- ဒုတိယပုံတူများကို စောင့်ကြည့်ပါ- In အမြဲတမ်းဖွင့်ထားနိုင်သော ရရှိနိုင်မှုအုပ်စုများအဓိက ပရိုဂရမ်အစား ဖတ်နိုင်သော ဒုတိယပရိုဂရမ်နှင့် Activity Monitor ကို လုပ်ဆောင်ပါ။
8.4 မမှန်ကန်သော သို့မဟုတ် ပျောက်ဆုံးနေသော အချက်အလက်
တခါတရံတွင် လုပ်ဆောင်ချက် Monitor သည် မှားယွင်းပုံ သို့မဟုတ် မပြည့်စုံသော အချက်အလက်များကို ပြသသည်။
8.4.1 DMV များဖြင့် ဒေတာကို အတည်ပြုခြင်း။
လုပ်ဆောင်ချက်စောင့်ကြည့်စစ်ဆေးမှုရလဒ်များသည် သံသယဖြစ်ဖွယ်ရှိသည့်အခါတွင် နောက်ခံ DMV များကို တိုက်ရိုက်မေးမြန်းခြင်းဖြင့် ၎င်းတို့ကို စစ်ဆေးပါ။ ဥပမာအားဖြင့်၊ Processes pane တွင် ပိတ်ဆို့ခြင်းမပြသော်လည်း သုံးစွဲသူများက ၎င်းကို သတင်းပို့ပါက၊ မေးမြန်းရန်-
SELECT
blocking_session_id,
session_id,
wait_type,
wait_time,
wait_resource
FROM sys.dm_exec_requests
WHERE blocking_session_id != 0;
ဤမေးမြန်းချက်သည် Activity Monitor လွတ်သွားသည်ကို ပိတ်ဆို့ပြသပါက၊ သင်သည် ပြသမှုပြဿနာကို အတည်ပြုလိုက်ပြီဖြစ်သည်။
8.4.2 ဒေတာ ပြန်လည်စတင်မည့်အချိန်ကို နားလည်ခြင်း။
လုပ်ဆောင်ချက် Monitor သည် လျှပ်တစ်ပြက်ရိုက်ချက်များ ပြသသည်ကို သတိရပါ။ ပြန်လည်ဆန်းသစ်သည့်ကာလများကြားတွင် လုပ်ဆောင်သည့် စုံစမ်းမှုတစ်ခုသည် ၎င်း၏လုပ်ဆောင်မှုအစီအစဉ် ကက်ရှ်တွင် ကျန်ရှိနေပါက မကြာသေးမီက တန်ဖိုးကြီးသောမေးခွန်းများတွင် ပေါ်လာမည်မဟုတ်ပါ။
အလားတူ၊ Resource Waits အကန့်ရှိ စောင့်ဆိုင်းစာရင်းဇယားများသည် နောက်ဆုံးလျှပ်တစ်ပြက်မှစတင်၍ စုဆောင်းမှုကို ထင်ဟပ်စေသည်။ လျင်မြန်စွာပြောင်းလဲနေသော အလုပ်တာဝန်များသည် ပြန်လည်စတင်မှုတစ်ခုစီတွင် မတူညီသောပုံစံများကို ပြသနိုင်သည်။
9. အဆင့်မြင့်လုပ်ဆောင်ချက်စောင့်ကြည့်နည်းပညာများ
အတွေ့အကြုံရှိ ဒေတာဘေ့စ် စီမံခန့်ခွဲသူများသည် အများဆုံး ရောဂါရှာဖွေရေးတန်ဖိုးကို ထုတ်ယူရန်အတွက် Activity Monitor ကို ခေတ်မီနည်းလမ်းများဖြင့် အသုံးပြုကြသည်။
9.1 Root အကြောင်းရင်းခွဲခြမ်းစိတ်ဖြာခြင်းအတွက် Panes များစွာကို ပေါင်းစပ်ခြင်း။
ရှုပ်ထွေးသော စွမ်းဆောင်ရည်ပြဿနာများကို နားလည်ရန် အကန့်များစွာရှိ အချက်အလက်များကို ပေါင်းစပ်သည့်အခါ လုပ်ဆောင်ချက်စောင့်ကြည့်ခြင်း၏ တကယ့်စွမ်းအားသည် ထွက်ပေါ်လာသည်။
9.1.1 လုပ်ငန်းစဉ်များနှင့် ဆက်နွယ်နေသော စောင့်ဆိုင်းမှုများ
Resource Waits pane သည် အမျိုးအစားတစ်ခုတွင် စောင့်ဆိုင်းရချိန်များ မြင့်မားနေသည်ကို ပြသသောအခါ၊ ထိုစောင့်ဆိုင်းမှုများကို တွေ့ကြုံနေရသည့် session များကို သိရှိနိုင်ရန် Processes pane ကို အသုံးပြုပါ-
- များပြားသော စောင့်ဆိုင်းချိန်ကြာမြင့်သော စောင့်ဆိုင်းမှုအမျိုးအစားကို မှတ်သားပါ (ဥပမာ၊ "လော့ခ်")။
- Processes pane သို့ပြောင်းပါ။
- အစဥ်လိုက် ခဏနေ ရိုက်ပါ။ ၎င်းတို့၏လက်ရှိစောင့်ဆိုင်းခြင်းဖြင့် အုပ်စုဖွဲ့အစည်းအဝေးများသို့။
- ပြဿနာရှိသောအမျိုးအစားတွင် စောင့်ဆိုင်းခြင်းအမျိုးအစားများကို ပြသသည့် စက်ရှင်များကို ရှာဖွေပါ။
- အဆိုပါအစည်းအဝေးများအတွက်, ဆန်းစစ်ပါ။ ခဏနေ Resource မည်သည့်ဒေတာဘေ့စ်အရာဝတ္တုများပါဝင်သည်ကိုကြည့်ရန်ကော်လံ။
- Right-click နှိပ်ပြီးရွေးချယ်ပါ အသေးစိတ် query text ကိုကြည့်ရန်။
ဤဆက်စပ်ဆက်နွယ်မှုသည် "ကျွန်ုပ်တို့၌သော့ခတ်စောင့်ဆိုင်းမှုများရှိသည်" မှ "ဤတိကျသောမေးမြန်းချက်သည် ဤစားပွဲပေါ်ရှိသော့ခတ်မှုများကိုစောင့်ဆိုင်းနေသည်" သို့ပြောင်းရန် ကူညီပေးသည်။
9.1.2 စျေးကြီးသောမေးခွန်းများကို I/O ပြဿနာများနှင့် ချိတ်ဆက်ခြင်း။
Data File I/O pane သည် သီးခြားဒေတာဘေ့စ်တစ်ခုပေါ်တွင် မြင့်မားသောဒစ်ခ်လုပ်ဆောင်ချက်ကို ပြသသောအခါ-
- မည်သည့်ဒေတာဘေ့စ်ဖိုင်များသည် MB/sec ဖတ်နိုင် သို့မဟုတ် ရေးနိုင်နှုန်းမြင့်မားသည်ကို သတိပြုပါ။
- မကြာသေးမီက ဈေးကြီးသော မေးခွန်းများထံ ပြောင်းပါ။
- အစဥ်လိုက် ရုပ်ပိုင်းဆိုင်ရာဖတ်ခြင်း/စက္ကန့် ဒစ်ခ်မှ ကြီးကြီးမားမားဖတ်နေသည့် မေးခွန်းများကို ဖော်ထုတ်ရန်။
- မြင့်မားသော I/O ဖြင့် ဒေတာဘေ့စ်ပေါ်တွင် လုပ်ဆောင်နေသည့် မေးခွန်းများကို စစ်ထုတ်ခြင်း သို့မဟုတ် အမြင်အာရုံဖြင့် ခွဲခြားသတ်မှတ်ပါ။
- I/O အလွန်အကျွံဖြစ်စေသော ဇယားစကင်န်များ သို့မဟုတ် ပျောက်ဆုံးနေသော အညွှန်းများအတွက် အဆိုပါမေးခွန်းများ၏ အကောင်အထည်ဖော်မှုအစီအစဉ်များကို စစ်ဆေးပါ။
ဤ multi-pane ခွဲခြမ်းစိတ်ဖြာမှုသည် ရောဂါလက္ခဏာများ (high disk I/O) ကို အကြောင်းတရားများ (တိကျသော မထိရောက်သော မေးမြန်းမှုများ) နှင့် ချိတ်ဆက်သည်။
9.2 စွမ်းဆောင်ရည်စီမံချက်အတွက် လုပ်ဆောင်ချက်စောင့်ကြည့်ကိရိယာကို အသုံးပြုခြင်း။
Activity Monitor သည် သမိုင်းဆိုင်ရာ အချက်အလက်များကို သိမ်းဆည်းမထားသော်လည်း၊ စွမ်းဆောင်ရည် အစီအစဉ်ဆွဲခြင်း စောင့်ကြည့်လေ့လာမှုများအတွက် ၎င်းကို ဗျူဟာကျကျ အသုံးပြုနိုင်ပါသည်။
9.2.1 အမြင့်ဆုံးအသုံးပြုမှုပုံစံများကို ခွဲခြားသတ်မှတ်ခြင်း။
အသုံးပြုမှုပုံစံများကို သိရှိနိုင်ရန် နေ့စဥ်အချိန်အမျိုးမျိုးတွင် ဆာဗာလုပ်ဆောင်ချက်ကို စောင့်ကြည့်ပါ-
- လူသိများသော အလုပ်ချိန်များအတွင်း လှုပ်ရှားမှုစောင့်ကြည့်ခြင်းကို ဖွင့်ပါ။
- % Processor Time ဂရပ်၏ အမြင့်ဆုံးတန်ဖိုးများကို မှတ်သားပါ။
- အများဆုံး စောင့်ဆိုင်းရသည့် အလုပ်များ အရေအတွက်ကို မှတ်တမ်းတင်ပါ။
- အမြင့်ဆုံးအချိန်များတွင် Batch Requests/sec ကို စောင့်ကြည့်ပါ။
- Processes pane တွင် အလုပ်အများဆုံးဒေတာဘေ့စ်များကို မှတ်တမ်းတင်ပါ။
- နှိုင်းယှဉ်ရန်အတွက် အမြင့်ဆုံးအချိန်များတွင် ပြန်လုပ်ပါ။
Peak-hour ပရိုဆက်ဆာအချိန်သည် 80% ထက်ကျော်လွန်နေပါက သင်သည် CPU စွမ်းရည်ကန့်သတ်ချက်သို့ ချဉ်းကပ်နေပါသည်။ အလားတူ၊ စောင့်ဆိုင်းမှုအရေအတွက် တိုးလာခြင်းသည် အရင်းအမြစ် အငြင်းပွားမှု ကြီးထွားလာခြင်းကို ညွှန်ပြသည်။
9.2.2 အရင်းအမြစ် Trend ခွဲခြမ်းစိတ်ဖြာခြင်း။
Activity Monitor သည် လက်ရှိအခြေအနေအား ပြသနေချိန်တွင်၊ အချိန်နှင့်အမျှ သော့မက်ထရစ်များကို မှတ်တမ်းတင်ခြင်းဖြင့် ၎င်းကို အစက်ချစစ်ဆေးခြင်းအတွက် ခေတ်ရေစီးကြောင်းကို သင်အသုံးပြုနိုင်သည်-
- ခြုံငုံသုံးသပ်ချက်အကန့်၏ ဖန်သားပြင်ဓာတ်ပုံများကို နေ့စဥ်အချိန်တည်းတွင် ရိုက်ပါ။
- ဂရပ်တစ်ခုစီမှ အမြင့်ဆုံးတန်ဖိုးများကို မှတ်တမ်းတင်ပါ။
- တိုးတက်မှုလမ်းကြောင်းများကို ခွဲခြားသတ်မှတ်ရန် ရက်သတ္တပတ်အလိုက် နှိုင်းယှဉ်ပါ။
- ပျမ်းမျှ ပရိုဆက်ဆာ အချိန် သို့မဟုတ် I/O နှုန်းများ တဖြည်းဖြည်း တိုးလာမှုကို စောင့်ကြည့်ပါ။
ဤလမ်းညွှန်ချက်သည် ခေတ်စားနေသော ခေတ်ရေစီးကြောင်းကို ဖြည့်စွက်ပြီး ပိုမိုခေတ်မီသော စောင့်ကြည့်စစ်ဆေးခြင်းဆိုင်ရာ ဖြေရှင်းချက်များကို ဖြည့်စွက်ပေးပြီး စွမ်းရည်တိုးချဲ့မှုကို အကြောင်းပြပြီး ကူညီပေးသည်။
9.3 စွမ်းဆောင်ရည်အခြေခံများကို မှတ်တမ်းတင်ခြင်း။
အခြေခံ စွမ်းဆောင်ရည် တိုင်းတာမှုများ တည်ထောင်ခြင်းသည် စွမ်းဆောင်ရည် ကျဆင်းလာသောအခါတွင် အသိအမှတ်ပြုရန် ကူညီပေးသည်။
9.3.1 အခြေခံ မက်ထရစ်များကို ရိုက်ကူးခြင်း။
လူသိများသော စွမ်းဆောင်ရည် ကောင်းမွန်သည့် ကာလများအတွင်း၊ လုပ်ဆောင်ချက် စောင့်ကြည့်ရေး မက်ထရစ်များကို မှတ်တမ်းတင်ပါ-
- ပုံမှန်လုပ်ငန်းလည်ပတ်နေစဉ် (အထွတ်အထိပ် သို့မဟုတ် အထွတ်အထိပ်မဟုတ်ပါ) လုပ်ဆောင်ချက်စောင့်ကြည့်ကိရိယာကို ဖွင့်ပါ။
- ခြုံငုံသုံးသပ်ချက် အကန့်တန်ဖိုးများကို မှတ်တမ်းတင်ပါ-
- ပုံမှန် % ပရိုဆက်ဆာ အချိန်အပိုင်းအခြား
- ပျမ်းမျှ စောင့်ဆိုင်းရသည့် အလုပ်များ အရေအတွက်
- ပုံမှန် Database I/O နှုန်း
- ပုံမှန် Batch Requests/sec
- မှတ်ချက် Resource Waits pane အမျိုးအစားများသည် အများဆုံးစောင့်ဆိုင်းချိန်ကိုပြသသည်။
- ပုံမှန်အားဖြင့် Processes pane တွင် လုပ်ဆောင်နေသော လုပ်ငန်းစဉ်အရေအတွက်ကို မှတ်တမ်းတင်ပါ။
- မကြာသေးမီက စျေးကြီးသောမေးခွန်းများထံမှ ကိုယ်စားလှယ်ရှာဖွေမှုလုပ်ဆောင်မှုမက်ထရစ်များကို မှတ်တမ်းတင်ပါ။
စွမ်းဆောင်ရည်ပြဿနာများကို စုံစမ်းစစ်ဆေးသောအခါတွင် ဤအခြေခံစာရွက်စာတမ်းကို သိမ်းဆည်းပါ။
9.3.2 လက်ရှိနှင့် အခြေခံစွမ်းဆောင်ရည်ကို နှိုင်းယှဉ်ခြင်း။
စွမ်းဆောင်ရည် ပြဿနာများ ပေါ်ပေါက်လာသောအခါ၊ လက်ရှိ လုပ်ဆောင်ချက် စောင့်ကြည့်လေ့လာရေး ဖတ်ချက်များကို သင်၏ မှတ်တမ်းတင်ထားသော အခြေခံစာကြောင်းနှင့် နှိုင်းယှဉ်ပါ-
- ပရိုဆက်ဆာအချိန်သည် အခြေခံလိုင်းထက် သိသိသာသာမြင့်မားနေပါသလား။ CPU-အထူးပြုမေးခွန်းများကိုအာရုံစိုက်ပါ။
- စောင့်ဆိုင်းရသည့် အလုပ်များသည် 2-3x အခြေခံအဆင့်များ ဖြစ်ပါသလား။ အရင်းအမြစ်ကို စောင့်မျှော်စုံစမ်းပါ။
- I/O သိသိသာသာမြင့်မားပါသလား။ Data File I/O pane နှင့် စျေးကြီးသော မေးမြန်းချက်များကို စစ်ဆေးပါ။
- အမြင့်ဆုံးအချိန်များအတွင်း အစုလိုက်တောင်းဆိုမှုများသည် အခြေခံစာရင်းထက် နိမ့်နေပါသလား။ ပိတ်ဆို့ခြင်း သို့မဟုတ် ချိတ်ဆက်မှုပြဿနာများကို ရှာဖွေပါ။
ဤနှိုင်းယှဉ်မှုသည် သင့်အား ပြောင်းလဲထားသည်များကို ခွဲခြားသိရှိနိုင်ပြီး ပြဿနာဖြေရှင်းခြင်းဆိုင်ရာ အားထုတ်မှုများကို သင့်လျော်စွာ အာရုံစိုက်ရန် ကူညီပေးသည်။
9.4 စိတ်ကြိုက်စောင့်ကြည့်ရေး လုပ်ငန်းအသွားအလာများကို ဖန်တီးခြင်း။
စေ့စေ့စပ်စပ် ထပ်ခါတလဲလဲ ခွဲခြမ်းစိတ်ဖြာမှု သေချာစေရန် ဘုံစုံစမ်းစစ်ဆေးမှု အခြေအနေများအတွက် စနစ်ကျသော အလုပ်အသွားအလာများကို ပြုစုပါ။
9.4.1 အဆင့်ဆင့် စုံစမ်းစစ်ဆေးရေး လုပ်ငန်းစဉ်
အသုံးပြုသူများသည် စွမ်းဆောင်ရည်ဆိုင်ရာ ပြဿနာများကို သတင်းပို့သည့်အခါ၊ တသမတ်တည်း လုပ်ဆောင်သည့် လုပ်ငန်းစဉ်ကို လိုက်နာပါ-
- အမြန်ကျန်းမာရေးစစ်ဆေးမှု Activity Monitor ကိုဖွင့်ပြီး သိသာထင်ရှားသောကွဲလွဲချက်များကို သိရှိရန်အတွက် ခြုံငုံသုံးသပ်ချက် အကွက်ဂရပ်များကို စကင်န်ဖတ်ပါ။
- ပိတ်ဆို့ခြင်းအတွက် စစ်ဆေးပါ- လုပ်ငန်းစဉ်များ အကန့်ကို ချဲ့ပါ၊ ပိတ်ဆို့ထားသော ကော်လံရှိ NonBlanks အတွက် စစ်ထုတ်ပါ။
- အရင်းအမြစ် အငြင်းပွားမှုကို ဖော်ထုတ်ပါ- စောင့်ဆိုင်းချိန်ဖြင့် စီထားသော အရင်းအမြစ် စောင့်ဆိုင်းမှုများ အကန့်ကို ပြန်လည်သုံးသပ်ပါ။
- စျေးကြီးသောမေးခွန်းများကိုရှာပါ CPU ဖြင့်စီထားသော မကြာသေးမီက တန်ဖိုးကြီးမေးခွန်းများကို ဆန်းစစ်ပါ၊ ထို့နောက် လုပ်ဆောင်မှုများ၊ ထို့နောက် ဖတ်ပါ။
- I/O ပုံစံများ ဆက်စပ်နေသည်- Data File I/O pane လုပ်ဆောင်ချက်ဖြင့် အပြန်အလှန်အကိုးအကားဈေးကြီးသောမေးခွန်းများ။
- စာရွက်စာတမ်းတွေ့ရှိချက်- ဖန်သားပြင်ဓာတ်ပုံများရိုက်ပြီး သက်ဆိုင်ရာ စက်ရှင် ID များ၊ စောင့်ဆိုင်းရသည့် အမျိုးအစားများနှင့် မေးမြန်းမှုအသေးစိတ်များကို မှတ်တမ်းတင်ပါ။
- နက်ရှိုင်းသောငုပ်- ဖော်ထုတ်ထားသော ပြဿနာများအတွက် အသေးစိတ်စုံစမ်းစစ်ဆေးရန်အတွက် Profiler ခြေရာများ၊ အကောင်အထည်ဖော်မှုအစီအစဉ် ခွဲခြမ်းစိတ်ဖြာခြင်းနှင့် DMV မေးမြန်းချက်များကို အသုံးပြုပါ။
9.4.2 တိုးမြှင့်ခြင်း သတ်မှတ်ချက်
ဆက်လက်စုံစမ်းစစ်ဆေးခြင်းနှင့် ပြဿနာများ တိုးလာမည့်အချိန်အတွက် စံသတ်မှတ်ချက်များ ချမှတ်ပါ-
- ချက်ချင်း မြှင့်တင်ပါ- ကွင်းဆက်များကို ပိတ်ဆို့ခြင်းထက် 5 မိနစ်ကြာရှည်သည်၊ ပရိုဆက်ဆာအချိန် 100% >2 မိနစ်၊ အရေးကြီးသောစနစ်လုပ်ငန်းစဉ်များကို SUSPENDED အခြေအနေကိုပြသသည်။
- ခွဲခြမ်းစိတ်ဖြာခြင်းဖြင့် မြှင့်တင်ပါ- ထပ်တလဲလဲ စျေးကြီးသော မေးခွန်းများ > 50% CPU သုံးစွဲမှု၊ တသမတ်တည်း မြင့်မားသော I/O တုံ့ပြန်မှုအကြိမ်ရေ > 50ms၊ မမ်မိုရီထောက်ပံ့ကြေးများ အကြိမ်ကြိမ် ကျရှုံးပါသည်။
- ဆက်လက်စုံစမ်းပါ- မိနစ်ပိုင်းအတွင်း ယာယီစောင့်ဆိုင်းမှုများ ဖြေရှင်းနိုင်ခြင်း၊ အကောင်းဆုံးအစီအစဉ်များမရှိသော်လည်း လက်ခံနိုင်သောစွမ်းဆောင်ရည်ရှိသော မေးမြန်းမှုများ၊ စက္ကန့် ၃၀ အောက် အနည်းငယ်ပိတ်ဆို့ခြင်း။
10. မတူညီသော လုပ်ဆောင်ချက်ကို စောင့်ကြည့်ပါ။ SQL Server ဗားရှင်း
Activity Monitor သည် တရွေ့ရွေ့ ပြောင်းလဲလာသည်။ SQL Server ဗားရှင်းတစ်ခုစီသည် မြှင့်တင်မှုများနှင့် ရံဖန်ရံခါ ပြဿနာအသစ်များကို သယ်ဆောင်လာပါသည်။
10.1 လုပ်ဆောင်ချက်ကို စောင့်ကြည့်လေ့လာပါ။ SQL Server 2008 နှင့် နောက်ပိုင်း
SQL Server 2008 သည် ယနေ့ခေတ်တွင် မပြောင်းလဲသေးသော ခေတ်မီ လုပ်ဆောင်ချက် စောင့်ကြည့်ရေး ဒီဇိုင်းကို မိတ်ဆက်ပေးခဲ့သည်။
10.1.1 တွင် အင်္ဂါရပ်အသစ်များကို မိတ်ဆက်ခဲ့သည်။ SQL Server 2008
အဆိုပါ SQL Server 2008 Activity Monitor ပြန်လည် ဒီဇိုင်းပုံစံသည် သိသာထင်ရှားသော တိုးတက်မှုများကို ယူဆောင်လာပါသည်-
- ခြုံငုံသုံးသပ်ချက်အကန့်ရှိ အချိန်နှင့်တစ်ပြေးညီဇယားများဖြင့် ဂရပ်ဖစ်ဒိုင်ခွက်
- အဟောင်းဂရစ်-သီးသန့် မြင်ကွင်းကို အစားထိုးသည့် တိုးချဲ့နိုင်သော/ခေါက်သိမ်းနိုင်သော အကန့်မျက်နှာပြင်
- မကြာသေးမီက စျေးကြီးသော Queries အကန့်တွင် စုစည်းမေးမြန်းမှု စွမ်းဆောင်ရည်ဒေတာကို ပြသသည်။
- ဖိုင်တစ်ခုစီဒစ်ခ်လုပ်ဆောင်ချက်ကို စောင့်ကြည့်ခြင်းအတွက် ဒေတာဖိုင် I/O အကွက်
- စောင့်ဆိုင်းခြင်းအမျိုးအစားခွဲခြင်းဖြင့် အဆင့်မြှင့်တင်ထားသော အရင်းအမြစ် Waits အကန့်
- ဆက်ရှင်များကို သတ်ခြင်းနှင့် Profiler ကိုဖွင့်ခြင်းကဲ့သို့သော လုပ်ငန်းစဉ်များအတွက် ညာဖက်ကလစ်နှိပ်ပါ။
- 1 စက္ကန့်မှ 1 နာရီအတွင်း ပြန်လည်ပြင်ဆင်နိုင်သော အချိန်ကာလများ
ဤပြောင်းလဲမှုများသည် လုပ်ဆောင်ချက်စောင့်ကြည့်ခြင်းအား ရိုးရှင်းသောလုပ်ငန်းစဉ်စာရင်းမှ ပြည့်စုံသော စောင့်ကြည့်ရေးဒိုင်ခွက်အဖြစ်သို့ ပြောင်းလဲခဲ့သည်။
10.1.2 မှ ပြောင်းလဲမှုများ SQL Server 2005
SQL Server 2005 ၏ Activity Monitor သည် ပို၍ အကန့်အသတ်ရှိသည်-
- ကိရိယာဘားထက် Object Explorer ရှိ စီမံခန့်ခွဲမှုဖိုင်တွဲမှတဆင့် ဝင်ရောက်ကြည့်ရှုခဲ့သည်။
- အခြေခံအချက်အလက်များနှင့်အတူ လုပ်ငန်းစဉ်စာရင်းကို ပြသသည့် ဂရစ်တစ်ခု
- ဂရပ်ဖစ်ဇယားများ သို့မဟုတ် အကန့်များစွာ မရှိပါ။
- စျေးကြီးသောမေးခွန်းများ သို့မဟုတ် I/O စောင့်ကြည့်ခြင်း မရှိပါ။
- စာရင်းဇယားအချက်အလက်ကို ကန့်သတ်စောင့်ဆိုင်းပါ။
2008 ပြန်လည်ဒီဇိုင်းသည် တိုးမြင့်လာသောတိုးတက်မှုထက် ပြီးပြည့်စုံသော ပြန်လည်စိတ်ကူးယဉ်မှုကို ကိုယ်စားပြုသည်။
10.2 လုပ်ဆောင်ချက်ကို စောင့်ကြည့်လေ့လာပါ။ SQL Server 2014/2016
SQL Server 2014 နှင့် 2016 သည် Activity Monitor ၏ အရင်းခံဒေတာစုဆောင်းမှုကို တိုးမြှင့်လုပ်ဆောင်ခဲ့သော်လည်း အမြင်ဆိုင်ရာပြောင်းလဲမှုအနည်းငယ်ရှိသည်။
10.2.1 တိုးတက်မှုများနှင့် မြှင့်တင်မှုများ
ဤဗားရှင်းများတွင် အဓိကတိုးတက်မှုများ ပါဝင်သည်-
- ကက်ရှ်အစီအစဥ် ထောင်ပေါင်းများစွာဖြင့် ဆာဗာများကို စောင့်ကြည့်သည့်အခါ စွမ်းဆောင်ရည် ပိုကောင်းသည်။
- လုပ်ငန်းစဉ်များ အကန့်ရှိ စစ်ထုတ်နိုင်စွမ်းကို မြှင့်တင်ထားသည်။
- စောင့်ဆိုင်းစာရင်းဇယားများ စုစည်းမှု၏ တိကျမှုကို တိုးတက်စေသည်။
- ကြီးမားသောရလဒ်အစုံဖြင့် ကော်လံခွဲခြင်းနှင့် စစ်ထုတ်ခြင်းတို့ကို ပိုမိုကောင်းမွန်စွာ ကိုင်တွယ်ပါ။
- ပိုမိုထိရောက်သော DMV မေးမြန်းမှုများသည် စောင့်ကြည့်စစ်ဆေးခြင်းကို လျှော့ချပေးသည်။
core interface နှင့် ကိုက်ညီနေခဲ့သည်။ SQL Server 2008 တွင် စီမံခန့်ခွဲသူများနှင့် ရင်းနှီးမှုကို ထိန်းသိမ်းထားသည်။
10.3 လုပ်ဆောင်ချက်ကို စောင့်ကြည့်လေ့လာပါ။ SQL Server 2019/2022
မကြာမီက SQL Server ဗားရှင်းများသည် စွမ်းဆောင်ရည်နှင့် တည်ငြိမ်မှုကို အာရုံစိုက်ခြင်းဖြင့် Activity Monitor ၏ ဆင့်ကဲဖြစ်စဉ်ကို ဆက်လက်လုပ်ဆောင်သည်။
10.3.1 နောက်ဆုံးထွက်အင်္ဂါရပ်များနှင့် စွမ်းဆောင်ရည်များ
SQL Server 2019 နှင့် 2022 လုပ်ဆောင်ချက်စောင့်ကြည့်ခြင်းတွင်-
- ဤဗားရှင်းများတွင် မိတ်ဆက်ထားသော စောင့်ဆိုင်းခြင်းအမျိုးအစားအသစ်များအတွက် ပံ့ပိုးမှု
- WPF နည်းပညာကို အသုံးပြု၍ SSMS တွင် တင်ဆက်မှုစွမ်းဆောင်ရည်ကို မြှင့်တင်ထားသည်။
- တက်ကြွသောအစည်းအဝေးများအများအပြားကို ပိုမိုကောင်းမွန်စွာ ကိုင်တွယ်ပါ။
- cloud SQL ပလပ်ဖောင်းများနှင့် ပိုမိုကောင်းမွန်သော တွဲဖက်အသုံးပြုနိုင်ခြင်း။
- ပိုမိုတိကျသော CPU နှင့် I/O တိုင်းတာမှုများ
10.3.2 လတ်တလောဗားရှင်းများတွင် သိထားသော ပြဿနာများ
SQL Server 2019 တွင် Activity Monitor bugs အများအပြားကို မိတ်ဆက်ပေးခဲ့သည်-
- အမြဲတမ်း ခေတ္တရပ်ထားသော အခြေအနေ- လုပ်ဆောင်ချက် Monitor သည် မကြာခဏ ခေတ္တရပ်ထားသည့် အခြေအနေသို့ ဝင်ရောက်ပြီး အထူးသဖြင့် SSMS 18.0-18.3 တွင် ပြန်လည်စတင်တော့မည် မဟုတ်ပါ။ နောက်ပိုင်း SSMS ဗားရှင်းများတွင် ပြင်ဆင်ထားသည်။
- အဝေးထိန်းချိတ်ဆက်မှု ပျက်ကွက်များ- အချို့သောဖွဲ့စည်းပုံများသည် အဝေးထိန်းဖြစ်ရပ်များတွင် လုပ်ဆောင်ချက်စောင့်ကြည့်ကိရိယာကို ဖွင့်ခြင်းမှ တားဆီးထားသည်။ ဖြေရှင်းနည်းများတွင် သီးခြားခြေရာခံအလံများဖွင့်ခြင်း သို့မဟုတ် အသစ်သော SSMS တည်ဆောက်မှုများကို အသုံးပြုခြင်းတို့ ပါဝင်သည်။
- ခွင့်ပြုချက်ပြဿနာများ- စနစ်အသစ်ကြည့်ရှုမှုများသည် ရှင်းရှင်းလင်းလင်း မှတ်တမ်းတင်မထားသော နောက်ထပ်ခွင့်ပြုချက်များ လိုအပ်ပြီး VIEW SERVER STATE ဖြင့်ပင် အလွတ်ပြသမှုများကို ဖြစ်စေသည်။
အလုပ်တွဲလုပ်သည့်အခါ နောက်ဆုံးထွက် SSMS ဗားရှင်းကို အမြဲသုံးပါ။ SQL Server ဤပြဿနာများကိုရှောင်ရှားရန် 2019 နှင့် 2022 ။
11. လက်တွေ့အသုံးပြုမှု ဖြစ်ရပ်များနှင့် ဥပမာများ
လက်တွေ့ကမ္ဘာနမူနာများက ဘုံပြဿနာဖြေရှင်းရေးအခြေအနေများတွင် လုပ်ဆောင်ချက်စောင့်ကြည့်ကိရိယာကို ထိရောက်စွာအသုံးချပုံကို သရုပ်ပြသည်။
11.1 ဖြစ်ရပ်လေ့လာမှု- နှေးကွေးသော ဝဘ်အက်ပလီကေးရှင်းကို အဖြေရှာခြင်း။
ဖွံ့ဖြိုးတိုးတက်ရေးအဖွဲ့တစ်ဖွဲ့သည် ၎င်းတို့၏ဝဘ်အပလီကေးရှင်းသည် နှေးကွေးသွားကြောင်း အစီရင်ခံတင်ပြသည်မှာ ပုံမှန် 2-3 စက္ကန့်အစား စာမျက်နှာ 20-30 စက္ကန့်ကြာပါသည်။
11.1.1 ခြုံငုံသုံးသပ်ချက်အကန့်ဖြင့် ကနဦးစုံစမ်းစစ်ဆေးခြင်း။
လုပ်ဆောင်ချက် Monitor ကိုဖွင့်ပြီး Overview pane ကို စစ်ဆေးပါ-
- % ပရိုဆက်ဆာအချိန်ဂရပ်သည် ပုံမှန် 30-40% အခြေခံလိုင်းထက် သိသိသာသာ CPU အသုံးပြုမှု 85-95% ကိုပြသသည်။
- Waiting Tasks သည် လုပ်ဆောင်စရာ 10-20 အကြားတွင် အပြောင်းအလဲရှိပြီး ပုံမှန်အခြေခံ 0-3 နှင့် ယှဉ်သည်။
- ဒေတာဘေ့စ် I/O သည် 50 MB/s ဝန်းကျင်တွင် အလယ်အလတ်လှုပ်ရှားမှုကို ပြသသည်။
- Batch Requests/sec သည် ပုံမှန် 300-400/sec နှင့် နှိုင်းယှဉ်ပါက 100/sec တွင် မျှော်လင့်ထားသည်ထက် နည်းပါးပါသည်။
ဤပုံစံသည် စီးဆင်းမှုကို လျော့ကျစေသည့် အရင်းအမြစ် အငြင်းပွားမှုဖြင့် CPU ပိတ်ဆို့မှုကို ညွှန်ပြသည်။ ဆာဗာသည် အလုပ်ကြိုးစားသော်လည်း တောင်းဆိုမှုများစွာကို လုပ်ဆောင်ခြင်းမရှိပါ။
11.1.2 ပြဿနာရှိသောမေးခွန်းကို ဖော်ထုတ်ခြင်း။
မကြာသေးမီက စျေးကြီးသောမေးခွန်းများအကန့်ကို ချဲ့ထွင်ပြီး Executions/min အလိုက်စီပါ။
- ထိပ်တန်းမေးမြန်းချက်တွင် တစ်မိနစ်လျှင် ကွပ်မျက်မှု 15,000 ကိုပြသသည်။
- Right-click နှိပ်ပြီးရွေးချယ်ပါ Query Text ကို တည်းဖြတ်ပါ။ စုံစမ်းမေးမြန်းရန်။
- မေးခွန်းသည် တစ်ခုတည်းသော သုံးစွဲသူမှတ်တမ်းကို ပြန်လည်ရယူသည့် ရိုးရှင်းသော SELECT ထုတ်ပြန်ချက်တစ်ခုဖြစ်သည်။
SELECT * FROM Users WHERE UserId = @UserId. - ပုံမှန်အပလီကေးရှင်းအသုံးပြုမှုအတွက် ဤမေးခွန်းသည် တစ်မိနစ်လျှင် အကြိမ် 15,000 မလုပ်ဆောင်သင့်ပါ။
မေးခွန်းကို Right Click နှိပ်ပြီး ရွေးချယ်ပါ။ အကောင်အထည်ဖော်မှု အစီအစဉ်ကို ပြပါ။. အစီအစဥ်သည် UserId ကော်လံရှိ လွဲမှားနေသော အညွှန်းတစ်ခုအကြောင်း သတိပေးချက်ဖြင့် သုံးစွဲသူများဇယားပေါ်တွင် ဇယားစကင်န်တစ်ခုကို ပြသသည်။
ဝဘ်အပလီကေးရှင်း၏ချိတ်ဆက်မှုများကိုသာပြသရန် လုပ်ငန်းစဉ်များအကန့်ကို အပလီကေးရှင်းဖြင့် စစ်ထုတ်ပါ။ စက်ရှင်များစွာသည် ဤတူညီသောမေးခွန်းကို ထပ်ခါတလဲလဲ လုပ်ဆောင်နေမှုကို ပြသသည်။
11.1.3 ဆုံးဖြတ်ချက်နှင့် အတည်ပြုခြင်း။
ပြဿနာသည် ပြဿနာနှစ်ခုမှ အရင်းခံသည်- အလွန်အကျွံ မေးမြန်းမှု လုပ်ဆောင်မှုများနှင့် လွဲမှားနေသော အညွှန်းကိန်းတစ်ခု။ ဖြေရှင်းချက်အဆင့်များ-
- ပျောက်ဆုံးနေသော အညွှန်းကို ဖန်တီးပါ-
CREATE NONCLUSTERED INDEX IX_Users_UserId ON Users (UserId); - ဖွံ့ဖြိုးတိုးတက်ရေးအဖွဲ့ကို ဆက်သွယ်ပါ။ အလွန်အကျွံ ကွပ်မျက်ခြင်းများနှင့် ပတ်သက်၍ စုံစမ်းစစ်ဆေးမှုသည် စာရင်းတစ်ခုစီရှိ အရာတစ်ခုစီအတွက် အသုံးပြုသူအသေးစိတ်အချက်အလက်များကို ကွင်းဆက်မှရယူသည့် အပလီကေးရှင်းကုဒ်တွင် N+1 မေးမြန်းမှုပြဿနာကို ဖော်ပြသည်။
- လျှောက်လွှာကိုမွမ်းမံပါ။ IN clause သို့မဟုတ် table-valued parameter ကိုအသုံးပြု၍ အသုံးပြုသူရှာဖွေမှုကို တစ်ခုတည်းသော query တစ်ခုအဖြစ် အစုလိုက်လုပ်ရန်။
- ပြင်ဆင်မှုကို စစ်ဆေးပါ။ ဖြန့်ကျက်ပြီးနောက် Activity Monitor ကို စောင့်ကြည့်ခြင်းဖြင့်။ CPU အသုံးပြုမှုသည် 35-40% သို့ ကျဆင်းသွားကာ တစ်မိနစ်လျှင် ကွပ်မျက်မှုများ 200-300 သို့ လျော့ကျသွားပြီး လျှောက်လွှာတုံ့ပြန်မှု အချိန်များသည် ပုံမှန်သို့ ပြန်သွားပါသည်။
11.2 ဖြစ်ရပ်လေ့လာမှု- ပိတ်ဆို့ခြင်းပြဿနာကို ဖြေရှင်းခြင်း။
ပုံမှန်လုပ်ငန်းမစမီ 30-60 စက္ကန့်ကြာ အမှာစာဝင်ရောက်မှုစနစ်သည် အချိန်အခါအလိုက် အေးခဲနေကြောင်း သုံးစွဲသူများက အစီရင်ခံပါသည်။
11.2.1 ပိတ်ဆို့ခြင်းကွင်းဆက်ကို ရှာဖွေခြင်း။
ဤအေးခဲနေသော ဖြစ်ရပ်များထဲမှ တစ်ခုအတွင်း လုပ်ဆောင်ချက် စောင့်ကြည့်ကိရိယာကို ဖွင့်ပြီး လုပ်ငန်းစဉ်များ အကန့်ကို ချဲ့ထွင်ပါ-
- အစဥ်လိုက် စက်ရှင် ID အစီအစဉ်အားလုံးကို ကြည့်ရှုရန်။
- များစွာသော sessions များတွင်တန်ဖိုးများကိုပြသသည်။ ပိတ်ဆို့ထားသည်။ ကော်လံ၊ အားလုံးသည် Session ID 73 သို့ ညွှန်ပြသည်။
- Session 73 တွင် '1' ကို ပြထားသည်။ Head Blocker ကော်လံ၊ ၎င်းသည် မူလအကြောင်းအရင်းဖြစ်ကြောင်း အတည်ပြုသည်။
- အဆိုပါ ခဏနေ ရိုက်ပါ။ ပိတ်ဆို့ထားသော ဆက်ရှင်များအတွက် LCK_M_X သည် သီးသန့်သော့ခတ်မှုများကို စောင့်ဆိုင်းနေကြောင်း ဖော်ပြသည်။
- အဆိုပါ ခဏနေ Resource ကော်လံသည် အမှာစာများ ဇယားပေါ်တွင် ပိတ်ဆို့ထားသည်ကို ဖော်ပြသည်။
၁၁.၂.၂ အကြောင်းရင်းကို ခွဲခြမ်းစိတ်ဖြာခြင်း။
Session 73 ကို Right-click နှိပ်ပြီး ရွေးချယ်ပါ။ အသေးစိတ် အမိန့်ကိုကြည့်ရှုရန်-
UPDATE Orders
SET Status = 'Processing',
LastModified = GETDATE()
WHERE OrderId IN (SELECT OrderId FROM #TempOrders);
ဤအပ်ဒိတ်သည် နာရီတိုင်းလုပ်ဆောင်သည့် အစုလိုက်လုပ်ဆောင်ခြင်းအလုပ်၏ တစ်စိတ်တစ်ပိုင်းဖြစ်သည်။ စစ်ဆေးခြင်း။ Login ကော်လံသည် စက်ရှင်အား အသုတ်လိုက်လုပ်ဆောင်ခြင်းဝန်ဆောင်မှုအကောင့်တွင် ပိုင်ဆိုင်ကြောင်း အတည်ပြုသည်။
စုံစမ်းမှုသည် အမှာစာထောင်ပေါင်းများစွာကို လုပ်ဆောင်နေစဉ် အမှာစာစားပွဲပေါ်တွင် သော့ခတ်ထားသည်။ ဟိ အချိန်စောင့်ပါ ပိတ်ဆို့ထားသော sessions များအတွက် တဖြည်းဖြည်း တိုးလာပြီး၊ ဤရေရှည်လုပ်ဆောင်မှုသည် ပြဿနာဖြစ်ကြောင်း အတည်ပြုသည်။
11.2.3 Fix ကို အကောင်အထည်ဖော်ခြင်း။
ရေတိုဖြေရှင်းချက်-
- Document Session 73 ၏ အသေးစိတ်အချက်များ
- ၎င်းသည်တရားဝင်အသုတ်လုပ်ဆောင်ခြင်းဖြစ်သောကြောင့် အပ်ဒိတ်ကို သဘာဝအတိုင်း အပြီးသတ်ခွင့်ပြုပါ။
- ပြီးစီးပြီးနောက်၊ ပိတ်ဆို့ထားသော ဆက်ရှင်များကို ရှင်းရှင်းလင်းလင်း အတည်ပြုပြီး ပုံမှန်လုပ်ငန်းများ ပြန်လည်စတင်ပါ။
ရေရှည်ဖြေရှင်းနည်းများကို အကောင်အထည်ဖော်ခဲ့သည်-
- အသုတ်အလုပ်ကို ပြန်စီစဉ်ပါ။ အထွတ်အထိပ်အချိန်များတွင် လည်ပတ်ရန် (အလုပ်ချိန်အတွင်းအစား နံနက် 2-4 နာရီ)။
- batch processing ကိုမွမ်းမံပါ။ တစ်ကြိမ်လျှင် မှတ်တမ်း 100 ၏အသေးစားအစီအစဥ်များဖြင့် အမှာစာများကို အပ်ဒိတ်လုပ်ရန်၊
- အညွှန်းတစ်ခုထည့်ပါ။ အပ်ဒိတ်လုပ်ဆောင်ချက်ကို အရှိန်မြှင့်ရန် OrderId ကော်လံတွင်။
- SNAPSHOT အထီးကျန်မှုကို သုံးသပ်ကြည့်ပါ။ ပိတ်ဆို့ခြင်းအကျိုးသက်ရောက်မှုကို လျှော့ချရန် ဖတ်ရှုခြင်းလုပ်ငန်းများ
11.3 ဖြစ်ရပ်လေ့လာမှု- အလွန်အကျွံ မေးမြန်းမှု အကောင်အထည်ဖော်မှုများကို ဖော်ထုတ်ခြင်း။
ဒေတာဘေ့စ်စောင့်ကြည့်စစ်ဆေးမှုသည် ပြီးခဲ့သောလတွင် CPU အသုံးပြုမှု တဖြည်းဖြည်းတိုးလာကြောင်း ပြသသော်လည်း အပလီကေးရှင်းကုဒ်တွင် သိသာထင်ရှားသောပြောင်းလဲမှုများမရှိပေ။
11.3.1 ပုံမှန်မဟုတ်သော လုပ်ဆောင်မှုအရေအတွက်များကို တွေ့ရှိခြင်း။
လုပ်ဆောင်ချက်စောင့်ကြည့်ခြင်းကိုဖွင့်ပြီး မကြာသေးမီက စျေးကြီးသောမေးခွန်းများအကန့်ကို စစ်ဆေးပါ-
- အစဥ်လိုက် ကွပ်မျက်ခြင်း/မိနစ် အများဆုံး လုပ်ဆောင်သော မေးမြန်းချက်များကို ကြည့်ရှုရန်။
- ထိပ်တန်းမေးမြန်းမှုတွင် တစ်မိနစ်လျှင် ကွပ်မျက်မှု ၃၇,၀၀၀ ကိုပြသသည်—အခြားမည်သည့်မေးခွန်းများထက်မဆို ပိုမိုမြင့်မားသည်။
- Right-click နှိပ်ပြီးရွေးချယ်ပါ Query Text ကို တည်းဖြတ်ပါ။.
- မေးခွန်းသည် ထုတ်ကုန်အမျိုးအစား အချက်အလက်ကို ရယူသည်-
SELECT CategoryId, CategoryName FROM ProductCategories WHERE CategoryId = @CategoryId; - ဤရိုးရှင်းသောမေးမြန်းချက်သည် မြန်ဆန်ပြီး ကက်ရှ်လုပ်၍ရနိုင်သော်လည်း၊ တစ်မိနစ်လျှင် အကြိမ်ပေါင်း သောင်းနှင့်ချီ၍ လုပ်ဆောင်နေပါသည်။
11.3.2 အပလီကေးရှင်းကုဒ်သို့ ခြေရာခံခြင်း။
လုပ်ငန်းစဉ်များ အကန့်တွင်၊ ဤမေးခွန်းကို လုပ်ဆောင်သည့် ဆက်ရှင်များကို ရှာပါ-
- အဆိုပါမှတ်ချက် လြှောကျလှာ ကော်လံသည် “ProductCatalogService” ကိုပြသသည်။
- ဤအစည်းအဝေးများထဲမှ တစ်ခုကို ညာကလစ်နှိပ်ပြီး ရွေးချယ်ပါ။ လုပ်ငန်းစဉ်ကို ခြေရာခံပါ။ SQL Server အရည်အသွေး.
- SQL Profiler သည် မတူညီသော CategoryId တန်ဖိုးများဖြင့် လျင်မြန်စွာ ဆက်တိုက်လုပ်ဆောင်သည့် query ကို ထုတ်ဖော်ပြသသည်။
- ကုဒ်ပြန်လည်သုံးသပ်ရန်အတွက် ProductCatalogService ကို စီမံခန့်ခွဲသည့် ဖွံ့ဖြိုးတိုးတက်ရေးအဖွဲ့သို့ ဆက်သွယ်ပါ။
ကုဒ်ပြန်လည်သုံးသပ်ခြင်းသည် ပြဿနာကိုဖော်ပြသည်- မကြာသေးမီက ပြောင်းလဲမှုတစ်ခုသည် အမျိုးအစားများနှင့်အတူ ထုတ်ကုန်စာရင်းများကို ပြန်လည်ရယူသည်။ ရလဒ်အစုရှိ ထုတ်ကုန်တစ်ခုစီအတွက် (မကြာခဏဆိုသလို 1,000+ ထုတ်ကုန်များ)၊ ကုဒ်သည် အမျိုးအစားအချက်အလက်ကို ရယူရန်အတွက် အမျိုးအစားအချက်အလက်—ဂန္ထဝင် N+1 မေးမြန်းမှုပြဿနာကို ရယူရန် သီးခြားဒေတာဘေ့စ်ခေါ်ဆိုမှုတစ်ခု ပြုလုပ်သည်။
11.3.3 အပလီကေးရှင်းကို ပိုမိုကောင်းမွန်အောင်ပြုလုပ်ခြင်း။
သင့်လျော်သောပြင်ဆင်မှုကို အကောင်အထည်ဖော်ပါ-
- လျှောက်လွှာမေးခွန်းကို ပြင်ဆင်ပါ။ ဒေတာဘေ့စ်တစ်ခုတည်းခေါ်ဆိုမှုတွင် ထုတ်ကုန်များနှင့် ၎င်းတို့၏အမျိုးအစားများကို ပြန်လည်ရယူခြင်း JOIN ကို အသုံးပြုရန်-
SELECT p.ProductId, p.ProductName, c.CategoryId, c.CategoryName FROM Products p INNER JOIN ProductCategories c ON p.CategoryId = c.CategoryId WHERE p.Active = 1; - အပ်ဒိတ်ကုဒ်ကို အသုံးပြုပါ။ နှင့် Activity Monitor ကို စောင့်ကြည့်ပါ။
- ပြင်ဆင်မှုကို အတည်ပြုပါ- အမျိုးအစား query အတွက် တစ်မိနစ်လျှင် လုပ်ဆောင်မှုများသည် 37,000 မှ 100 အောက်သို့ ကျဆင်းသွားကာ ခြုံငုံ CPU အသုံးပြုမှု 40% လျော့နည်းသွားသည်။
- သင်ခန်းစာကို မှတ်တမ်းတင်ပါ။ နောင်ကုဒ်ပြောင်းလဲမှုများတွင် အလားတူပြဿနာများကို ကာကွယ်ရန် ဖွံ့ဖြိုးတိုးတက်ရေးအဖွဲ့နှင့် မျှဝေပါ။
12. ဖြစ်နိုင်ချေရှိသော Database အကျင့်ပျက်ခြစားမှုကို ရှာဖွေပါ။
Activity Monitor သည် ဒေတာဘေ့စ် အကျင့်ပျက်ခြစားမှုကို ရှာဖွေရန် သီးသန့် ဒီဇိုင်းထုတ်ထားခြင်း မဟုတ်သော်လည်း ၎င်း၏ ဖော်ပြမှုတွင် အချို့သော ပုံစံများသည် နောက်ထပ် စုံစမ်းစစ်ဆေးမှု အာမခံချက်ပေးမည့် အကျင့်ပျက်ခြစားမှုဆိုင်ရာ ပြဿနာများကို အကြံပြုနိုင်သည်။
12.1 ဖြစ်နိုင်ချေရှိသော Database အကျင့်ပျက်ခြစားမှု လက္ခဏာများ
အကယ်၍ ဒေတာဘေ့စ် အကျင့်ပျက်ခြစားမှု ရှိနေပြီး ဝင်ရောက်အသုံးပြုနေပါက၊ သင်သည် အခါအားလျော်စွာ တွေ့ရနိုင်သည်-
1. Processes Pane တွင်-
- ပုံမှန်မဟုတ်သော စောင့်ဆိုင်းမှုအမျိုးအစားများဖြင့် ရပ်ဆိုင်းထားသော အခြေအနေတွင် ဆက်ရှင်များ ပိတ်မိနေပါသည်။
- အမှားအယွင်းများကို ဖော်ပြသည့် လုပ်ငန်းစဉ်များ
- မေးခွန်းများ အကြိမ်ကြိမ် ကျရှုံးသည်။
2. Resource Waits Pane တွင်-
- Disk ပြဿနာများကို ညွှန်ပြနိုင်သည့် ပုံမှန်မဟုတ်သော I/O နှင့် ဆက်နွှယ်သော စောင့်ဆိုင်းမှု အမျိုးအစားများ (၎င်းသည် ယုတ္တိကျသော အကျင့်ပျက်ခြစားမှုထက် ဟာ့ဒ်ဝဲပြဿနာများကို ညွှန်ပြနိုင်သော်လည်း)
3. မကြာသေးမီက ဈေးကြီးသောမေးခွန်းများတွင်-
- ပျက်စီးနေသောစာမျက်နှာများကို ထပ်ခါတလဲလဲ ဖတ်ရန် ကြိုးစားနေပါက ပုံမှန်မဟုတ်သော မြင့်မားသော ရုပ်ပိုင်းဆိုင်ရာ ဖတ်ရှုနိုင်သည့် မေးခွန်းများ
12.2 DBCC CHECKDB ဖြင့် ထပ်မံစစ်ဆေးပါ။
Activity Monitor သည် ဖြစ်နိုင်ချေရှိသော အကျင့်ပျက်ခြစားမှုကို ညွှန်ပြသည့် လက္ခဏာများ ပြသသောအခါ၊ သင်သည် ဒေတာဘေ့စ် ခိုင်မာမှုကို အတည်ပြုရန် DBCC CHECKDB ကို ချက်ချင်း လုပ်ဆောင်သင့်သည်။ ဤအမိန့်သည် ဒေတာဘေ့စ် စာမျက်နှာအားလုံးကို စကင်န်ဖတ်ပြီး၊ ချက်စ်ဆမ်းများကို အတည်ပြုပေးပြီး ယုတ္တိညီညွတ်မှု အမှားအယွင်းများကို စစ်ဆေးသည်။
ဒေတာဘေ့စ် အကျင့်ပျက်ခြစားမှုများကို စစ်ဆေးရန်နှင့် ပြုပြင်ရန် DBCC CHECKDB ကို မည်သို့အသုံးပြုရမည်ကို ပိုမိုလေ့လာရန်၊ ကျွန်ုပ်တို့တွင် ကြည့်ပါ။ ပြည့်စုံသော DBCC CHECKDB လမ်းညွှန်.
12.3 ပရော်ဖက်ရှင်နယ် ကိရိယာများဖြင့် ပြုပြင်ခြင်း။
DBCC CHECKDB သည် ဒေတာဘေ့စ် အကျင့်ပျက်ခြစားမှုကို အတည်ပြုပါက၊ ပြုပြင်ရန် ရွေးချယ်စရာများစွာ ရှိပါသည်-
- နှစ်သက်သောနည်းလမ်းမှာ လူသိများသော အရန်သိမ်းဆည်းမှုမှ ပြန်လည်ရယူခြင်းဖြစ်သည်။ ကြည့်ပါ။ အရန်သိမ်းခြင်းနှင့် ပြန်လည်ရယူနည်းအတွက် ကျွန်ုပ်တို့၏ ပြည့်စုံသောလမ်းညွှန်ချက် SQL Server ဒေတာဘေ့စ.
- အသေးစား အကျင့်ပျက်ခြစားမှုများအတွက်၊ REPAIR_REBUILD ဖြင့် DBCC CHECKDB သည် ပြဿနာများကို ဖြေရှင်းပေးနိုင်ပါသည်။
- မကြာသေးမီက အရန်သိမ်းဆည်းခြင်းမရှိဘဲ အရေးကြီးသောဒေတာဘေ့စ်များအတွက်၊ ပရော်ဖက်ရှင်နယ် SQL ပြန်လည်ရယူရေးဆော့ဖ်ဝဲ ဝန်ဆောင်မှုများသည် built-in ပြုပြင်မှုရွေးချယ်စရာများ မလုပ်ဆောင်နိုင်သော အချက်အလက်များကို မကြာခဏ ပြန်လည်ရယူနိုင်ပါသည်။
13 ။ ကောက်ချက်
SQL Server Activity Monitor သည် ဒေတာဘေ့စ်စီမံခန့်ခွဲသူများအတွက် တန်ဖိုးမဖြတ်နိုင်သော ကိရိယာတစ်ခုဖြစ်ပြီး ဆာဗာစွမ်းဆောင်ရည်အတွက် ချက်ချင်းထိုးထွင်းသိမြင်မှုများပေးကာ ပြဿနာများကို လျင်မြန်ထိရောက်စွာ ရှာဖွေဖော်ထုတ်နိုင်ရန် ကူညီပေးပါသည်။
13.1 အဓိကအချက်များ အကျဉ်းချုပ်
ဤလမ်းညွှန်ချက်တစ်လျှောက်တွင်၊ Activity Monitor သည် သင့်အား နားလည်သဘောပေါက်ပြီး ပြဿနာဖြေရှင်းရန် ကူညီပေးပုံကို ကျွန်ုပ်တို့ ရှာဖွေလေ့လာထားပါသည်။ SQL Server စွမ်းဆောင်ရည်:
- Activity Monitor သည် စနစ်တကျဖွဲ့စည်းထားသော ဂရပ်ဖစ်အင်တာဖေ့စ်မှတဆင့် လုပ်ငန်းစဉ်များ၊ စောင့်ဆိုင်းမှုများ၊ မေးမြန်းချက်များနှင့် I/O တို့ကို အချိန်နှင့်တပြေးညီ မြင်နိုင်စေပါသည်။
- အကွက်ငါးခု—ခြုံငုံသုံးသပ်ချက်၊ လုပ်ငန်းစဉ်များ၊ အရင်းအမြစ်စောင့်ဆိုင်းမှုများ၊ ဒေတာဖိုင် I/O နှင့် မကြာသေးမီက စျေးကြီးသောမေးခွန်းများ—တစ်ခုစီသည် ဆာဗာလုပ်ဆောင်ချက်အပေါ် ထူးခြားသောအမြင်များကို ပေးဆောင်သည်။
- အလွန်အကျွံ query executes၊ blocking chains နှင့် high CPU အသုံးပြုမှုကဲ့သို့သော ဘုံပြဿနာများကို စနစ်တကျ လုပ်ဆောင်ချက် Monitor စုံစမ်းစစ်ဆေးမှုဖြင့် စီမံခန့်ခွဲနိုင်သည်။
- Activity Monitor မှာ အစွမ်းထက်ပေမယ့် သမိုင်းဝင်ဒေတာမရှိခြင်း၊ စောင့်ဆိုင်းအမျိုးအစားအုပ်စုဖွဲ့ခြင်းနှင့် ၎င်း၏အသုံးချမှုကို ထိခိုက်စေသော အထွေထွေစောင့်ကြည့်ခြင်း အပါအဝင် ကန့်သတ်ချက်များရှိသည်။
- DMV မေးမြန်းမှုများ၊ sp_WhoIsActive၊ တိုးချဲ့ထားသော ဖြစ်ရပ်များနှင့် ဖြစ်နိုင်ချေရှိသော ပြင်ပအဖွဲ့အစည်းကိရိယာများဖြင့် လုပ်ဆောင်ချက်စောင့်ကြည့်ကိရိယာကို ဖြည့်စွက်ခြင်းသည် ပြီးပြည့်စုံသော စောင့်ကြည့်ရေးဗျူဟာကို ဖန်တီးပေးပါသည်။
- ပြန်လည်ဆန်းသစ်သည့်ကြားကာလများအတွက် အကောင်းဆုံးအလေ့အကျင့်များကို လိုက်နာဆောင်ရွက်ခြင်း၊ အသုံးမပြုသည့်အခါတွင် လုပ်ဆောင်ချက် Monitor ကိုပိတ်ခြင်းနှင့် အပြန်အလှန်ဆက်စပ်မှုအတွက် အကန့်များစွာကို ပေါင်းစပ်ခြင်းသည် သက်ရောက်မှုကို နည်းပါးစေပြီး ၎င်း၏တန်ဖိုးကို အမြင့်ဆုံးဖြစ်စေပါသည်။
13.2 သင့်ကိရိယာအစုံ၏တစ်စိတ်တစ်ပိုင်းအနေဖြင့် လုပ်ဆောင်ချက်စောင့်ကြည့်ကိရိယာ
လုပ်ဆောင်ချက်စောင့်ကြည့်ကိရိယာသည် သင်၏တစ်ခုတည်းသောကိရိယာမဟုတ်ဘဲ စွမ်းဆောင်ရည်စုံစမ်းစစ်ဆေးမှုများအတွက် သင်၏ပထမဆုံးတုံ့ပြန်မှုကိရိယာအဖြစ် လုပ်ဆောင်သင့်သည်။ ၎င်း၏ အားသာချက်မှာ တက်ကြွသော ပြဿနာဖြေရှင်းမှုအတွင်း ချက်ချင်းမြင်နိုင်စွမ်းကို ပေးဆောင်ခြင်းဖြစ်ပြီး ဒေတာဘေ့စ်သည် ပိတ်ဆို့ခြင်းရှိ၊
Activity Monitor ကို သင့်ကားရှိ ဒက်ရှ်ဘုတ်တစ်ခုနှင့် ဆင်တူသည်ဟု ယူဆပါ—တစ်စုံတစ်ခု မှားယွင်းနေပါက သင့်အား ချက်ချင်းပြောပြပြီး စိုးရိမ်ရသည့် ယေဘုယျဧရိယာကို သိရှိနိုင်ရန် ကူညီပေးသည်။ သင့်ကား၏ ဒက်ရှ်ဘုတ်မှ သင့်အား စစ်ဆေးသည့်အင်ဂျင်မီးလင်းလာရခြင်းအကြောင်း အတိအကျကို မပြောပြသကဲ့သို့၊ Activity Monitor သည် ၎င်းတို့၏ အရင်းခံအကြောင်းအရင်းကို အမြဲမဖော်ပြဘဲ သင့်အား ပြဿနာများဆီသို့ ညွှန်ပြပါသည်။ ထိုပိုမိုနက်ရှိုင်းသော ခွဲခြမ်းစိတ်ဖြာမှုတွင် နောက်ထပ်ကိရိယာများနှင့် ကျွမ်းကျင်မှုများ လိုအပ်သည်။
ဆောင်ရွက်မှုအစီအစဉ်ကို ခွဲခြမ်းစိတ်ဖြာခြင်း၊ စောင့်ဆိုင်းစာရင်းဇယားများကို ခြေရာခံခြင်း၊ သမိုင်းစောင့်ကြည့်ခြင်းဆိုင်ရာ ဖြေရှင်းချက်များနှင့် စွမ်းဆောင်ရည် အကောင်းဆုံး အလေ့အကျင့်များ ပါဝင်သော ပိုမိုကျယ်ပြန့်သော ကိရိယာအစုံတွင် လုပ်ဆောင်ချက်စောင့်ကြည့်ကိရိယာကို ပေါင်းစပ်ပါ။ သင့်လျော်သော အညွှန်းရေးနည်းဗျူဟာများ၊ မေးမြန်းမှု ပိုမိုကောင်းမွန်အောင်ပြုလုပ်ခြင်းနည်းပညာများနှင့် စွမ်းဆောင်ရည်အစီအစဥ်များနှင့် တွဲဖက်အသုံးပြုပါ။
13.3 သင်၏ သင်ယူမှုခရီးကို ဆက်လက်လုပ်ဆောင်ခြင်း။
Activity Monitor ကိုကျွမ်းကျင်စွာလုပ်ခြင်းသည်ထိရောက်သောဒေတာဘေ့စ်စီမံခန့်ခွဲသူဖြစ်လာရန်ခြေလှမ်းတစ်လှမ်းမျှသာဖြစ်သည်။ သင်၏အရည်အချင်းများကို ဆက်လက်တည်ဆောက်ပါ-
- အကောင်အထည်ဖော်ဆောင်ရွက်မည့် အစီအစဉ်များကို အဓိပ္ပာယ်ဖွင့်ဆိုရန် သင်ယူပြီး မထိရောက်သော လုပ်ဆောင်ချက်များကို ဖော်ထုတ်ပါ။
- နားလည်မှု SQL Server စာရင်းဇယားများနှင့် ၎င်းတို့၏သက်ရောက်မှုများကို စောင့်ဆိုင်းပါ။
- အညွှန်းဒီဇိုင်းနှင့် ပိုမိုကောင်းမွန်အောင်ပြုလုပ်ခြင်းနည်းပညာများကို လေ့လာခြင်း။
- စူးစမ်းခြင်း SQL Server၏ဗိသုကာလက်ရာနှင့် ၎င်းသည် စုံစမ်းမေးမြန်းချက်များကို လုပ်ဆောင်ပုံ
- ပြဿနာဖြေရှင်းနည်းများကို စနစ်တကျလေ့ကျင့်ပါ။
- အသေးစိတ်ခြေရာခံခြင်းအတွက် Extended Events ဖြင့် အတွေ့အကြုံကို တည်ဆောက်ပါ။
- ငွေပေးငွေယူ သီးခြားခွဲထုတ်ခြင်း အဆင့်များနှင့် ၎င်းတို့၏ စွမ်းဆောင်ရည် သက်ရောက်မှုများကို နားလည်ခြင်း။
Activity Monitor ဖြင့် စွမ်းဆောင်ရည် စုံစမ်းစစ်ဆေးမှုတစ်ခုစီသည် သင့်အား မည်သို့လုပ်ဆောင်ပုံနှင့်ပတ်သက်ပြီး အသစ်အဆန်းတစ်ခုကို သင်ကြားပေးပါသည်။ SQL Server လုပ်ဆောင်ချက်များနှင့် အပလီကေးရှင်းများသည် ဒေတာဘေ့စ်များနှင့် မည်သို့ အပြန်အလှန် ဆက်သွယ်ကြသည်။ သင်၏ တွေ့ရှိချက်များကို မှတ်တမ်းတင်ပါ၊ လုပ်ဖော်ကိုင်ဖက်များနှင့် ဗဟုသုတ မျှဝေပါ၊ နှင့် အဖြစ်များသော ပြဿနာများအတွက် ဖြေရှင်းချက်များ၏ စာကြည့်တိုက်တစ်ခု တည်ဆောက်ပါ။
13.4 ထပ်လောင်းအရင်းအမြစ်များ
ဤတန်ဖိုးရှိသော အရင်းအမြစ်များဖြင့် သင့်အသိပညာကို ချဲ့ထွင်ပါ-
- Activity Monitor ကိုဖွင့်ပါ။ SQL Server စီမံခန့်ခွဲမှုစတူဒီယို (SSMS)
: အရာရှိ SQL Server Activity Monitor ကို ဘယ်လိုဖွင့်ရမလဲဆိုတာနဲ့ ပတ်သက်တဲ့ စာရွက်စာတမ်း SQL Server စီမံခန့်ခွဲမှုစတူဒီယို (SSMS)။
- Activity ကိုစောင့်ကြည့်
: တရားဝင် SQL Server Activity Monitor ကိုအသုံးပြုပုံအကြောင်း စာတမ်း။
၄.၆.၃။ အမေးများသောမေးခွန်းများ (FAQ)
မေး: ဘာလဲ SQL Server လုပ်ဆောင်ချက် စောင့်ကြည့်မလား။
A: SQL Server Activity Monitor သည် အတွင်းတွင် တပ်ဆင်ထားသော ကိရိယာတစ်ခုဖြစ်သည်။ SQL Server စီမံခန့်ခွဲရေးစတူဒီယိုတွင် လုပ်ဆောင်နေသည့် လုပ်ငန်းစဉ်များအကြောင်း အချိန်နှင့်တပြေးညီ အချက်အလက်ကို ပြသပေးသည်။ SQL Server ဥပမာနှင့် ဆာဗာရင်းမြစ်များအပေါ် ၎င်းတို့၏သက်ရောက်မှု။ ၎င်းသည် ပရိုဆက်ဆာအသုံးပြုမှု၊ စောင့်ဆိုင်းရသည့်အလုပ်များ၊ I/O နှုန်းထားများ၊ တက်ကြွသောအစည်းအဝေးများနှင့် စျေးကြီးသောမေးခွန်းများအပါအဝင် ဆာဗာလုပ်ဆောင်မှု၏ မတူညီသောကဏ္ဍများကိုပြသသည့် အကန့်ငါးခုပါသည့် ဂရပ်ဖစ်ဒိုင်ခွက်ကို ပံ့ပိုးပေးပါသည်။
မေး- SSMS တွင် Activity Monitor ကို မည်သို့ဖွင့်ရမည်နည်း။
A- Activity Monitor ကို နည်းလမ်းလေးခုဖြင့် ဖွင့်နိုင်သည်- (1) SSMS toolbar ရှိ လုပ်ဆောင်ချက် စောင့်ကြည့်ရေး အိုင်ကွန်ကို နှိပ်ပါ၊ (2) သင့်အား ညာဖက်ကလစ်နှိပ်ပါ။ SQL Server Object Explorer တွင် instance အမည်ကို ရွေးချယ်ပါ။ Activity ကိုစောင့်ကြည့်(၃) စာနယ်ဇင်း၊ Ctrl + + alt + Aသို့မဟုတ် (4) မှတဆင့် အလိုအလျောက်စတင်ရန် SSMS ကို စီစဉ်သတ်မှတ်ပါ။ Tools များ -> Options ကို -> ပတ်ဝန်းကျင် -> startup.
မေး- Activity Monitor ကို အသုံးပြုရန် မည်သည့်ခွင့်ပြုချက်များ လိုအပ်ပါသလဲ။
A: မင်းလိုအပ်တယ်။ ဆာဗာပြည်နယ်ကိုကြည့်ပါ။ Activity Monitor အချက်အလက်အများစုကို ကြည့်ရှုရန် ခွင့်ပြုချက်။ Data File I/O pane အတွက်၊ သင်လိုအပ်သည်မှာ- ဒေတာဘေ့စ်ဖန်တီးပါ။, မည်သည့်ဒေတာဘေ့စ်ကိုမဆိုပြောင်းလဲပါ။ဒါမှမဟုတ် အဓိပ္ပါယ်ဖွင့်ဆိုချက်တစ်ခုခုကို ကြည့်ပါ။ ခွင့်ပြုချက်။ ဤခွင့်ပြုချက်များမရှိဘဲ၊ လုပ်ဆောင်ချက်စောင့်ကြည့်ကိရိယာသည် ဖွင့်နိုင်သော်လည်း ဗလာအကန့်များကို ပြသနိုင်သည်။
မေး- ကျွန်ုပ်၏ လုပ်ဆောင်ချက် Monitor ကို အဘယ်ကြောင့် ခေတ္တရပ်ထားသနည်း သို့မဟုတ် အလုပ်မလုပ်ပါ။
A- Activity Monitor သည် ပုံမှန်အားဖြင့် ခွင့်ပြုချက်ပြဿနာများ၊ ခေတ်မမီသော SSMS ဗားရှင်းများ သို့မဟုတ် အဝေးထိန်းချိတ်ဆက်မှုများကို ပိတ်ထားခြင်းကြောင့် ခေတ္တရပ်သည်။ ဖြေရှင်းရန်- (1) နောက်ဆုံးထွက် SSMS ဗားရှင်းသို့ အပ်ဒိတ်လုပ်ရန်၊ (2) သင့်တွင် VIEW SERVER STATE ခွင့်ပြုချက်ရှိကြောင်း အတည်ပြုပါ (3) အဝေးထိန်းချိတ်ဆက်မှုများကို ဖွင့်ထားကြောင်း စစ်ဆေးပါ။ SQL Server ဥပမာ၊ (4) SSMS ကို ပြန်လည်စတင်ပါ၊ နှင့် (5) သက်ဆိုင်ပါက SQL authentication အစား Windows authentication ဖြင့် ချိတ်ဆက်ကြည့်ပါ။
မေး- Activity Monitor နှင့် sp_WhoIsActive အကြား ကွာခြားချက်မှာ အဘယ်နည်း။
A- Activity Monitor သည် မတူညီသော စောင့်ကြည့်ရေးကဏ္ဍများအတွက် စီစဥ်ထားသော အကန့်များကို SSMS တွင် တည်ဆောက်ထားသော ဂရပ်ဖစ်ကိရိယာတစ်ခုဖြစ်သည်။ sp_WhoIsActive သည် အခမဲ့ ကွန်မြူနတီ ဖန်တီးထားသော သိမ်းဆည်းထားသော လုပ်ထုံးလုပ်နည်းတစ်ခုဖြစ်ပြီး တိကျသောစောင့်ဆိုင်းမှုအမျိုးအစားများ၊ အသေးစိတ်အချက်အလက်များကို ပိတ်ဆို့ခြင်းနှင့် Activity Monitor ထက် စိတ်ကြိုက်ရွေးချယ်စရာများပါရှိသော အသေးစိတ်စက်ရှင်အချက်အလက်ကို သတ်မှတ်ရလဒ်တစ်ခုတည်းတွင် ပြန်ပေးသည်။ sp_WhoIsActive သည် scripted monitoring တွင် ထူးချွန်ပြီး ပိုမိုအသေးစိတ်အချက်အလက်များကို ပံ့ပိုးပေးသော်လည်း၊ Activity Monitor သည် အမြင်အာရုံရှာဖွေခြင်းအတွက် ပိုကောင်းပါသည်။
မေး- Activity Monitor သည် ဆာဗာစွမ်းဆောင်ရည်အပေါ် သက်ရောက်မှုရှိပါသလား။
A- ဟုတ်ကဲ့၊ Activity Monitor တွင် ပြန်လည်ဆန်းသစ်သည့်ကာလတစ်ခုစီတွင် စနစ် DMVs များကို မေးမြန်းသောကြောင့် တိုင်းတာနိုင်ပါသည်။ သက်သာသော ပြန်လည်ဆန်းသစ်မှုနှုန်းဖြင့် အကျိုးသက်ရောက်မှုသည် တိုးလာသည်— 10 စက္ကန့်အောက် ကြားကာလများသည် ဆာဗာစွမ်းဆောင်ရည်ကို ထိခိုက်စေနိုင်သည်ဟု Microsoft က သတိပေးသည်။ ၎င်းကို တက်ကြွစွာအသုံးမပြုသည့်အခါ လုပ်ဆောင်ချက် Monitor ကို အမြဲတမ်းပိတ်ပြီး ကြီးမားသောဝန်ထုပ်ဝန်ပိုးအောက်တွင် ထုတ်လုပ်မှုဆာဗာများပေါ်တွင် 30-60 စက္ကန့်ပြန်လည်ဆန်းသစ်သည့်ကာလများကို ထည့်သွင်းစဉ်းစားပါ။
မေး- T-SQL ကို အသုံးပြု၍ လုပ်ဆောင်ချက် စောင့်ကြည့်ရေးဒေတာကို ရနိုင်ပါသလား။
A- ဟုတ်ပါသည်၊ လုပ်ဆောင်ချက်စောင့်ကြည့်စစ်ဆေးသည့်မေးခွန်းများသည် sys.dm_exec_requests၊ sys.dm_exec_sessions၊ sys.dm_os_wait_stats နှင့် sys.dm_exec_query_stats ကဲ့သို့သော စနစ်ပြောင်းလဲနေသော စီမံခန့်ခွဲမှုအမြင်များ။ စိတ်ကြိုက်စောင့်ကြပ်ကြည့်ရှုခြင်း scripts များနှင့် အလိုအလျောက်ဒေတာစုဆောင်းမှုတို့ကို လုပ်ဆောင်နိုင်စေမည့် တူညီသောအချက်အလက်များကို ပရိုဂရမ်စနစ်ဖြင့်ရယူရန် T-SQL ကိုအသုံးပြု၍ ဤ DMV များကို တိုက်ရိုက်မေးမြန်းနိုင်ပါသည်။
မေး- မူရင်းပြန်လည်ဆန်းသစ်သည့်ကာလသည် အဘယ်နည်း။
A- မူရင်းပြန်လည်ဆန်းသစ်သည့်ကာလသည် 10 စက္ကန့်ဖြစ်သည်။ ခြုံငုံသုံးသပ်ချက်အကန့်ရှိ မည်သည့်နေရာတွင်မဆို ညာကလစ်နှိပ်ခြင်းဖြင့် ၎င်းကို သင်ပြောင်းလဲနိုင်သည်။ ကြားကာလကို ပြန်လည်စတင်ပါ။နှင့် ကြိုတင်သတ်မှတ်ထားသော ရွေးချယ်စရာများမှ ရွေးချယ်ခြင်း- 1 စက္ကန့်၊ 5 စက္ကန့်၊ 10 စက္ကန့်၊ 30 စက္ကန့်၊ 1 မိနစ် သို့မဟုတ် 1 နာရီ။ အနိမ့်ပိုင်းကြားကာလများသည် အချိန်နှင့်တပြေးညီကြည့်ရှုမှုများကို ပိုမိုပေးစွမ်းနိုင်သော်လည်း အပေါ်မှစောင့်ကြည့်မှုကို တိုးမြင့်စေသည်။
မေး- SSMS စတင်ချိန်မှာ Activity Monitor ကို ဘယ်လို အလိုအလျောက်ဖွင့်ရမလဲ။
A- SSMS ရွေးချယ်မှုများမှတစ်ဆင့် အလိုအလျောက်စတင်ခြင်းကို စီစဉ်သတ်မှတ်ပါ- သို့ လမ်းညွှန်ပါ။ Tools များ -> Options ကို -> ပတ်ဝန်းကျင် -> startupထို့နောက်ကို select Object Explorer နှင့် Activity Monitor ကိုဖွင့်ပါ။ မှ startup မှာ ကျသည်။ SSMS ရှိ ဆာဗာသို့ သင်ချိတ်ဆက်လိုက်တိုင်း လုပ်ဆောင်ချက်စောင့်ကြည့်ကိရိယာသည် အလိုအလျောက်ပွင့်ပါမည်။
မေး- Activity Monitor ရဲ့ ကန့်သတ်ချက်တွေက ဘာတွေလဲ။
A- အဓိက ကန့်သတ်ချက်များ ပါဝင်သည်- (1) သမိုင်းဆိုင်ရာ ဒေတာ သိမ်းဆည်းခြင်း သို့မဟုတ် ခေတ်စားလာသော စွမ်းရည်များ မရှိပါ၊ (၂) စောင့်ဆိုင်းခြင်း အမျိုးအစားများကို အတိအကျ ပြသထားမည့်အစား အမျိုးအစားများအဖြစ် အုပ်စုဖွဲ့ထားခြင်း၊ (3) CXPACKET ကဲ့သို့သော အချို့သော စောင့်ဆိုင်းအမျိုးအစားများ ပေါ်လာမည်မဟုတ်ပါ၊ (4) အချိန်နှင့်အမျှ လျှပ်တစ်ပြက်ရိုက်ချက်များသည် ယာယီပြဿနာများကို လွဲချော်နိုင်ပါသည်၊ (5) စောင့်ကြည့်လေ့လာခြင်းသည် အလုပ်များသောဆာဗာများကို သက်ရောက်မှုရှိနိုင်သည်၊ (6) များပြားသော ဒေတာစောင့်ကြပ်ခြင်း နှင့် မလုပ်ဆောင်နိုင်သော ယန္တရားများ SQL Server သာဓကများ ဤလိုအပ်ချက်များအတွက်၊ Extended Events၊ ဒေတာစုဆောင်းမှုအစုံများ သို့မဟုတ် ပြင်ပအဖွဲ့အစည်းစောင့်ကြည့်ရေးကိရိယာများဖြင့် လုပ်ဆောင်ချက်စောင့်ကြည့်စစ်ဆေးခြင်းကို ဖြည့်စွက်ပါ။
အာဘော်အကြောင်း
Yuan Sheng 10 နှစ်အထက်အတွေ့အကြုံရှိသောအကြီးတန်းဒေတာဘေ့စစီမံခန့်ခွဲသူ (DBA) SQL Server ပတ်ဝန်းကျင်နှင့် လုပ်ငန်းဒေတာဘေ့စ်စီမံခန့်ခွဲမှု။ သူသည် ဘဏ္ဍာရေးဝန်ဆောင်မှုများ၊ ကျန်းမာရေးစောင့်ရှောက်မှုနှင့် ကုန်ထုတ်လုပ်ငန်းအဖွဲ့အစည်းများရှိ ရာနှင့်ချီသော ဒေတာဘေ့စ်ပြန်လည်ရယူရေးအခြေအနေများကို အောင်မြင်စွာဖြေရှင်းနိုင်ခဲ့သည်။
Yuan သည် အထူးပြုသည်။ SQL Server ဒေတာဘေ့စ် ပြန်လည်ရယူခြင်း၊ ရရှိနိုင်မှုမြင့်မားသော ဖြေရှင်းချက်များနှင့် စွမ်းဆောင်ရည် အကောင်းဆုံးဖြစ်အောင်ပြုလုပ်ခြင်း။ သူ၏ ကျယ်ပြန့်သော လက်တွေ့အတွေ့အကြုံများတွင် multi-terabyte databases များကို စီမံခန့်ခွဲခြင်း၊ Always On Availability Groups ကို အကောင်အထည်ဖော်ခြင်းနှင့် မစ်ရှင်အရေးကြီးသော စီးပွားရေးစနစ်များအတွက် အလိုအလျောက် backup နှင့် recovery ဗျူဟာများ တီထွင်ခြင်းတို့ ပါဝင်သည်။
သူ၏ နည်းပညာကျွမ်းကျင်မှုနှင့် လက်တွေ့ကျသောချဉ်းကပ်မှုမှတစ်ဆင့် Yuan သည် ဒေတာဘေ့စ်စီမံခန့်ခွဲသူများနှင့် အိုင်တီပညာရှင်များ၏ရှုပ်ထွေးမှုကို ဖြေရှင်းရာတွင် အထောက်အကူဖြစ်စေမည့် ပြည့်စုံသောလမ်းညွှန်ချက်များကို ဖန်တီးရန် အာရုံစိုက်ထားသည်။ SQL Server စိန်ခေါ်မှုများကို ထိထိရောက်ရောက် သူသည် နောက်ဆုံးပေါ်နှင့် လက်ရှိရှိနေပါသည်။ SQL Server ထုတ်ဝေမှုများနှင့် Microsoft ၏ တိုးတက်ပြောင်းလဲနေသော ဒေတာဘေ့စ်နည်းပညာများ၊ သူ၏ အကြံပြုချက်များသည် လက်တွေ့ကမ္ဘာ၏ အကောင်းဆုံးအလေ့အကျင့်များကို ထင်ဟပ်ကြောင်း သေချာစေရန် ပြန်လည်ရယူခြင်းဆိုင်ရာ အခြေအနေများကို ပုံမှန်စမ်းသပ်နေသည်။
နှင့်ပတ်သက်သောမေးခွန်းများရှိသည်။ SQL Server ပြန်လည်ရယူခြင်း သို့မဟုတ် နောက်ထပ်ဒေတာဘေ့စ်ပြဿနာဖြေရှင်းခြင်းလမ်းညွှန်ချက် လိုအပ်ပါသလား။ ယွမ်က ကြိုဆိုပါတယ်။ အကြံပြုချက်များနှင့် အကြံပြုချက်များ ဤနည်းပညာဆိုင်ရာ အရင်းအမြစ်များ တိုးတက်စေရန်။


















