ããŒã1MS SQLãµãŒããŒã§äœãèµ·ãã£ãŠããããåæãç¶ããŸãã ãã®ããŒãã§ã¯ããŠãŒã¶ãŒã®äœæ¥ã«é¢ããæ
å ±ãååŸããæ¹æ³ãã€ãŸãã誰ãäœã«ã©ã®ãããã®ãªãœãŒã¹ãè²»ãããŠãããã調ã¹ãŸãã
2çªç®ã®éšåã¯ãDB管çè
ã ãã§ãªããå®çšŒåãµãŒããŒäžã®ãªã¯ãšã¹ãã®äœãåé¡ãªã®ããç解ããå¿
èŠã®ããéçºè
ïŒããã«å€ãã®éçºè
ïŒã«ãšã£ãŠãèå³æ·±ããã®ã«ãªããšæããŸãã
ãŠãŒã¶ãŒã¢ã¯ã·ã§ã³ã®åæã¿ã¹ã¯ã¯æ¡ä»¶ä»ãã§ã°ã«ãŒãã«åãããããããããåå¥ã«æ€èšããŸãã
- ç¹å®ã®ãªã¯ãšã¹ããåæãã
- ç¹å®ã®æ¡ä»¶ã§ã¢ããªã±ãŒã·ã§ã³ããã®è² è·ãåæããŸãïŒããšãã°ããŠãŒã¶ãŒãããŒã¿ããŒã¹ã§åäœãããµãŒãããŒãã£ã¢ããªã±ãŒã·ã§ã³ã§ãã¿ã³ãã¯ãªãã¯ãããšãïŒ
- çŸåšã®ç¶æ³ã®åæ
èŠåããã©ãŒãã³ã¹åæã«ã¯ãããã€ã¹ãšããŒã¿ããŒã¹ãµãŒããŒããã³OSã®ååãæ·±ãç解ããå¿
èŠããããŸãã ãããã£ãŠããããã®èšäºã®ã¿ãèªãã§ãå°é家ã«ãªãããšã¯ãããŸããã
å®éã®ã·ã¹ãã ã§èæ
®ãããåºæºãšã«ãŠã³ã¿ãŒã¯ãäºãã«è€éãªé¢ä¿ã«ãããŸãã ããšãã°ãHDDã®é«è² è·ã¯ãå€ãã®å ŽåãHDDèªäœã®åé¡ã§ã¯ãªããRAMã®äžè¶³ã«é¢é£ããŠããŸãã ããã€ãã®æž¬å®ãè¡ã£ããšããŠããããã¯åé¡ã®ãã©ã³ã¹ã®åããè©äŸ¡ã«ã¯ååã§ã¯ãããŸããã
ãã®èšäºã®ç®çã¯ãç°¡åãªäŸã䜿ã£ãŠåºæ¬çãªããšã玹ä»ããããšã§ãã æšå¥šäºé
ã¯ãè¡åãžã®ã¬ã€ãããšèŠãªãããã¹ãã§ã¯ãªããæè²çã¿ã¹ã¯ïŒçŸå®ãåçŽã«åæ ããïŒãšããŠããŸãæèã®æµãã説æããããã®ãæèããªãã·ã§ã³ãšèŠãªãããã¹ãã§ãã
èšäºã®çµæã«åºã¥ããŠãæ°å€ã䜿çšããŠãµãŒããŒã®æäœã«é¢ããçµè«ãå®èšŒããæ¹æ³ãåŠç¿ããŠãã ããã ãŸããããµãŒããŒã®é床ãäœäžããŠããŸãããšããèšèã®ä»£ããã«ãç¹å®ã®ã€ã³ãžã±ãŒã¿ãŒã®ç¹å®ã®å€ãæå®ããŸãã
ç¹å®ã®ãªã¯ãšã¹ããåæãã
æåã®ãã€ã³ãã¯éåžžã«ç°¡åã§ããç°¡åã«èª¬æããŸãããã ãããŸããªããšã ããèããŠã¿ãŸãããã
SSMS㯠ãã¯ãšãªçµæã«å ããŠããªã¯ãšã¹ãã®å®è¡ã«é¢ããè¿œå æ
å ±ãåãåãããšãã§ããŸãã
æåã®éšåãèŠçŽããã«ã¯ïŒ
- SET STATISTICS TIME ONã䜿çšããŠããã»ããµã³ã¹ãã調ã¹ãŸãã
- ãã£ã¹ã¯æäœïŒSET STATISTICS IO ONã ãè«çèªã¿åãããšã¯ããã£ã¹ã¯ã·ã¹ãã ã«ç©ççã«ã¢ã¯ã»ã¹ããã«ãã£ã¹ã¯ãã£ãã·ã¥ã§çµäºããèªã¿åãæäœã§ããããšãå¿ããªãã§ãã ããã ãç©ççãªèªæžãã«ã¯ããªãé·ãæéãå¿
èŠã§ãã
- ãã¯ã©ã€ã¢ã³ãçµ±èšãå«ãããã䜿çšããŠããããã¯ãŒã¯ãã©ãã£ãã¯ã®éãæšå®ããŸãã
- ãå®éã®å®è¡èšç»ãå«ããããšãã©ã€ãã¯ãšãªçµ±èšãå«ãããã䜿çšããŠããå®è¡èšç»ãã«åŸã£ãŠã¯ãšãªå®è¡ã¢ã«ãŽãªãºã ã詳现ã«åæããŸãã
ã¢ããªã±ãŒã·ã§ã³ããã®è² è·ã®åæ
2çªç®ã®ã»ã¯ã·ã§ã³ã§ã¯
ããããã¡ã€ã©ãŒã䜿çšããŸãã ãµãŒããŒãèµ·åããŠãµãŒããŒã«æ¥ç¶ãããããã°ã«èšé²ãããã€ãã³ããéžæããå¿
èŠããããŸãã ç°¡åãªæ¹æ³ã§ãæšæºã®ãã¬ãŒã¹ãã³ãã¬ãŒãã䜿çšããŠãããã¡ã€ãªã³ã°ãéå§ã§ããŸãã ãäžè¬ãã¿ãã®ããã³ãã¬ãŒãã䜿çšããã£ãŒã«ãã§ããæšæºïŒããã©ã«ãïŒããéžæãããå®è¡ããã¯ãªãã¯ããŸãã
ããå°ãè€éãªæ¹æ³ã¯ãéžæãããã³ãã¬ãŒãã«ãã£ã«ã¿ãŒãŸãã¯ã€ãã³ããè¿œå ïŒãŸãã¯åæžïŒããããšã§ãã ãããã®ãªãã·ã§ã³ã¯ããã€ã¢ãã°ã®2çªç®ã®ã¿ãã«ãããŸãã éžæå¯èœãªã€ãã³ããšåã®å®å
šãªã»ããã衚瀺ããã«ã¯ãããã¹ãŠã®ã€ãã³ãã衚瀺ããšããã¹ãŠã®åã衚瀺ãã®é
ç®ããã§ãã¯ããŸãã
å¿
èŠãªã€ãã³ãã®ãã¡ãäžèŠãªã€ãã³ããå«ããªãæ¹ããã-ãã©ãã£ãã¯ãæžããããã«ïŒ
- ã¹ãã¢ãããã·ãŒãžã£\ RPCïŒå®äº
- TSQL \ SQLïŒBatchCompleted
ãããã®ã€ãã³ãã¯ããµãŒããŒãžã®ãã¹ãŠã®å€éšSQLåŒã³åºãããã£ããã£ããŸãã ååã瀺ãããã«ïŒå®äºïŒãèŠæ±ã®åŠçåŸã«çºçããŸãã SQLåŒã³åºãã®éå§ãä¿®æ£ããåæ§ã®ã€ãã³ãããããŸãã
- ã¹ãã¢ãããã·ãŒãžã£\ RPCïŒéå§
- TSQL \ SQLïŒBatchStarting
ãã ãããªã¯ãšã¹ãã®å®è¡ã«è²»ãããããµãŒããŒãªãœãŒã¹ã«é¢ããæ
å ±ãå«ãŸããŠããªãããããããã¯ç§ãã¡ã«ã¯ããŸãé©ããŠããŸããã æããã«ããã®ãããªæ
å ±ã¯å®è¡ã®æåŸã§ã®ã¿å©çšå¯èœã§ãã ãããã£ãŠãCPUã®ããŒã¿ãèªã¿åããæžã蟌ã¿ã®å*éå§ã€ãã³ãã¯ç©ºã«ãªããŸãã
ãŸã å«ãŸããªããã®ä»ã®æçšãªã€ãã³ãïŒ
- ã¹ãã¢ãããã·ãŒãžã£\ SPïŒéå§ïŒ*å®äºïŒ-ã¹ãã¢ãããã·ãŒãžã£ã®å
éšåŒã³åºãããã£ããã£ããŸãïŒã¯ã©ã€ã¢ã³ãããã§ã¯ãªããçŸåšã®èŠæ±ãŸãã¯å¥ã®ããã·ãŒãžã£å
ïŒã
- ã¹ãã¢ãããã·ãŒãžã£\ SPïŒStmtStartingïŒ*å®äºïŒ-ã¹ãã¢ãããã·ãŒãžã£å
ã®ååŒã®éå§ãä¿®æ£ããŸãã ããã·ãŒãžã£å
ã«ã«ãŒããããå Žåãã«ãŒãå
ã®å埩ãšåãæ°ã ããã«ãŒãå
ã®ã³ãã³ãã®ã€ãã³ããçºçããŸãã
- TSQL \ SQLïŒStmtStartingïŒ*å®äºïŒ-SQLãããå
ã®ååŒã®éå§ãä¿®æ£ããŸãã ãªã¯ãšã¹ãã«è€æ°ã®ããŒã ãå«ãŸããå Žå-åããŒã ã«ã€ãã³ãããããŸãã ããªãã¡ åã®ãã®ãšåæ§ã«ãããã·ãŒãžã£å
ã®ã³ãã³ãã§ã¯ãªãããªã¯ãšã¹ãå
ã®ã³ãã³ãã«å¯ŸããŠã®ã¿æ©èœããŸãã
ãããã®ã€ãã³ãã¯ãå®è¡ã¹ãããã®è¿œè·¡ã«åœ¹ç«ã¡ãŸãã ããšãã°ããããã¬ã䜿çšããããšã¯ã§ããŸããã
åããšéåžžãã©ã¡ããéžæãããã¯ååããæããã§ãã 以äžãå¿
èŠã§ãã
- TextDataãBinaryData-äžèšã®ã€ãã³ãã®å ŽåãèŠæ±ããã¹ãèªäœãå«ãŸããŸãã
- CPUãèªã¿åããæžã蟌ã¿ãæé-ãªãœãŒã¹ã³ã¹ãã«é¢ããããŒã¿ã
- StartTimeãEndTime-å®è¡ã®éå§/çµäºæéã 䞊ã¹æ¿ãã«äŸ¿å©ã§ãã
ä»ã®åã奜ã¿ã«è¿œå ããŸãã
ãåãã£ã«ã¿ãŒ...ããã¿ã³ã䜿çšããŠãã€ãã³ããã£ã«ã¿ãŒãèšå®ããããã®ãã€ã¢ãã°ãåŒã³åºãããšãã§ããŸãã ç¹å®ã®ãŠãŒã¶ãŒã®ã¢ã¯ãã£ããã£ã«é¢å¿ãããå Žåã¯ãã»ãã·ã§ã³çªå·ãŸãã¯ãŠãŒã¶ãŒåã§ãã£ã«ã¿ãŒãèšå®ããŸãã æ®å¿µãªãããæ¥ç¶ããŒã«ã䜿çšããŠã¢ããªãµãŒããŒçµç±ã§ã¢ããªã±ãŒã·ã§ã³ãæ¥ç¶ãããšãç¹å®ã®ãŠãŒã¶ãŒã远跡ããã®ãé£ãããªããŸãã
ããšãã°ããã£ã«ã¿ã䜿çšããŠããéããã¯ãšãªã®ã¿ãéžæã§ããŸãïŒæé> XïŒã ãŸãã¯ãæ¿ããæžã蟌ã¿ãåŒãèµ·ããã¯ãšãªïŒWrites> YïŒã ã¯ãããªã¯ãšã¹ãã®å
容ã ãã§ãã
ãããã¡ã€ã©ãŒã«ã¯ä»ã«äœãå¿
èŠã§ããïŒ ãã¡ãããå®è¡èšç»ã§ãïŒãã®ãããªæ©äŒããããŸãã ã€ãã³ããPerformance \ Showplan XML Statistics Profileãããã¬ãŒã¹ã«è¿œå ããå¿
èŠããããŸãã ãªã¯ãšã¹ããæºãããšã次ã®å³ã衚瀺ãããŸãã
ãªã¯ãšã¹ãããã¹ã ãããŠãããã ãã§ã¯ãããŸããã«ãŒãã¯ããã¡ã€ã«ãŸãã¯ããŒã¿ããŒã¹ããŒãã«ã«ä¿åã§ããŸãïŒç»é¢ã«è¡šç€ºãããã ãã§ã¯ãããŸããïŒã
ãã¬ãŒã¹èšå®ã¯ãã¯ã€ãã¯èµ·åã®ããã«å人çšãã³ãã¬ãŒããšããŠä¿åã§ããŸãã
ãããã¡ã€ã©ã䜿çšããã«ãã¬ãŒã¹ãéå§ããããšãã§ããŸã-ããã·ãŒãžã£sp_trace_createãsp_trace_seteventãsp_trace_setstatusãsp_trace_getdataã䜿çšããŠt-sqlã³ãŒãã䜿çšããŸãã
ãããè¡ãæ¹æ³ã®äŸã ãã®ã¢ãããŒãã¯ãããšãã°ãã¹ã±ãžã¥ãŒã«ã«åŸã£ãŠãã¡ã€ã«ãžã®ãã¬ãŒã¹ã®èšé²ãèªåçã«éå§ããå Žåã«åœ¹ç«ã¡ãŸãã ãããã®ã³ãã³ãã®æ£ç¢ºãªäœ¿çšæ¹æ³ã¯ããããã¡ã€ã©ãŒèªäœã§ç¢ºèªã§ããŸãã 2ã€ã®ãã¬ãŒã¹ãå®è¡ãã1ã€ã®ãã©ãã¯ã§2çªç®ã®ãã¬ãŒã¹ãéå§ããããšãã«äœãèµ·ãããã§ååã§ãã ãApplicationNameãåã®ãã£ã«ã¿ãŒã«æ³šæããŠãã ãã-ãããã¡ã€ã©ãŒèªäœã«ãã£ã«ã¿ãŒããªãããšã確èªããŠãã ããã
ãããã¡ã€ã©ãŒã«ãã£ãŠèšé²ãããã€ãã³ãã®ãªã¹ãã¯éåžžã«åºç¯å²ã§ãããã¯ãšãªããã¹ãã®åä¿¡ã«éå®ãããŸããã ãã«ã¹ãã£ã³ãåã³ã³ãã€ã«ãèªåæ¡åŒµããããããã¯ãªã©ãä¿®æ£ããã€ãã³ãããããŸãã
ãµãŒããŒå
šäœã®ãŠãŒã¶ãŒã®ã¢ã¯ãã£ããã£ãåæããŸã
äžèšã®ã»ã¯ã·ã§ã³ã®æ
å ±ã圹ã«ç«ããªãå Žåã«ãã人çã®ç¶æ³ãçºçããŸãã
ããã€ãã®èŠæ±ã¯ãå®è¡ãã§éåžžã«é·ãæéãã³ã°ã¢ããããçµäºãããã©ããã¯äžæã§ãã åé¡ã®ãããªã¯ãšã¹ããåå¥ã«åæããã«ã¯-ãããã®ã§ãã-æåã«ã©ã®ãããªãªã¯ãšã¹ãã決å®ããå¿
èŠããããŸãã ãããã¡ã€ã©ãŒããã£ããããã®ã¯ç¡æå³ã§ã-éå§ã€ãã³ãããã§ã«èŠéããŠãããã©ã®ãããã®æéåŸ
æ©ãããã¯äžæã§ãã
ãŸãã¯ããŠãŒã¶ãŒèŠæ±ããŸã£ãããªããããµãŒããŒèªäœãç©æ¥µçã«äœããããŠãããããããŸãã...
ç解ããŸãããã¿ãªããã¯ã¢ã¯ãã£ããã£ã¢ãã¿ãŒãèŠãã«éããããŸããã å€ãã¹ã¿ãžãªã§ã¯ããã®æ©èœãããè±ãã«ãªããŸããã 圌ã¯ã©ã®ããã«ç§ãã¡ãå©ããããšãã§ããŸããïŒ ãActivity Monitorãã«ã¯å€ãã®äŸ¿å©ã§èå³æ·±ããã®ããããŸããã3çªç®ã®ã»ã¯ã·ã§ã³ã¯ããã«ã€ããŠã§ã¯ãããŸããã ã·ã¹ãã ã®è¡šçŸãšæ©èœããçŽæ¥ååŸããå¿
èŠããããã¹ãŠïŒããã³ã¢ãã¿ãŒèªäœã¯ããããã¡ã€ã©ãŒãèšå®ããŠå®è¡ããèŠæ±ã確èªã§ãããšããç¹ã§äŸ¿å©ã§ãïŒã
å¿
èŠãªãã®ïŒ
- sys.dm_exec_sessions-ã»ãã·ã§ã³æ
å ±ã æ¥ç¶ãŠãŒã¶ãŒã®æ
å ±ã衚瀺ããŸãã æçšãªãã£ãŒã«ãïŒãã®èšäºã®ãã¬ãŒã ã¯ãŒã¯å
ïŒ-ãŠãŒã¶ãŒïŒlogin_nameãlogin_timeãhost_nameãprogram_nameã...ïŒã®èå¥ãšäœ¿çšæžã¿ãªãœãŒã¹ã«é¢ããæ
å ±ïŒcpu_timeãreadsãwritesãmemory_usageã...ïŒã®ãã£ãŒã«ã
- sys.dm_exec_requests-çŸåšå®è¡äžã®ãªã¯ãšã¹ãã«é¢ããæ
å ±ã ãŸããéåžžã«å€ãã®ãã£ãŒã«ãããããŸãããããå°æ°ãæ€èšããŸãã
- session_id-åã®ãã¥ãŒãšã®éä¿¡çšã®ã»ãã·ã§ã³ã³ãŒã
- start_time-èŠæ±ã®éå§æé
- ã³ãã³ã-ãã®ãã£ãŒã«ãã¯ãååãšã¯ç°ãªãããªã¯ãšã¹ãã§ã¯ãªãå®è¡ããã³ãã³ãã®ã¿ã€ããå«ã¿ãŸãã ã«ã¹ã¿ã ã¯ãšãªã®å Žå-ããã¯éåžžãselect / update / delete /ãªã©ã®ãããªãã®ã§ãã ïŒãŸãã以äžã®éèŠãªæ³šæäºé
ïŒ
- sql_handleãstatement_start_offsetãstatement_end_offset-ã¯ãšãªããã¹ããåãåãããã®æ
å ±ïŒãã³ãã«ãã¯ãšãªããã¹ãã®éå§äœçœ®ãšçµäºäœçœ®-çŸåšå®è¡ãããŠããéšåã瀺ããŸãïŒã¯ãšãªã«è€æ°ã®ã³ãã³ããå«ãŸããå ŽåïŒã
- plan_handle-çæããããã©ã³ã®ãã³ãã«ã
- blocking_session_id-ãªã¯ãšã¹ãã®å®è¡ã劚ããããã¯ãçºçããå Žå-ããã¯ãåŒãèµ·ãããã»ãã·ã§ã³çªå·ã瀺ããŸã
- wait_typeãwait_timeãwait_resource-åŸ
æ©ã®çç±ãšæéã«é¢ããæ
å ±ãå«ããã£ãŒã«ãã ããšãã°ãããŒã¿ã®ãããã¯ãªã©ãäžéšã®ã¿ã€ãã®åŸ
æ©ã§ã¯ããããã¯ããããªãœãŒã¹ã®ã³ãŒããè¿œå ã§ç€ºãããŸãã
- percent_complete-ååã§ã¯ããããå®äºã®å²åã§ããããšã¯æããã§ãã æ®å¿µãªãããé²è¡ç¶æ³ãæ確ã«äºæž¬ãããŠããããŒã ïŒããã¯ã¢ããã埩å
ãªã©ïŒã§ã®ã¿äœ¿çšã§ããŸãã
- cpu_timeãèªã¿åããæžã蟌ã¿ãlogical_readsãgranted_query_memory-ãªãœãŒã¹ã³ã¹ãã
- sys.dm_exec_sql_textïŒsql_handle | plan_handleïŒ ã sys.dm_exec_query_planïŒplan_handleïŒ -ããã¹ãããã³ã¯ãšãªãã©ã³ãåä¿¡ããããã®é¢æ°ã 以äžã§äœ¿çšäŸãæ€èšããŸãã
- sys.dm_exec_query_stats-ã¯ãšãªã«ãã£ãŠåé¡ãããå®è¡ã®èŠçŽçµ±èšã ãªã¯ãšã¹ãã®å®è¡åæ°ãšããªã¯ãšã¹ãã«è²»ãããããªãœãŒã¹ã®æ°ã衚瀺ããŸãã
éèŠãªæ³šæäºé
äžèšã®ãªã¹ãã¯ã»ãã®äžéšã§ãã ãã¹ãŠã®ã·ã¹ãã è¡šçŸãšæ©èœã®å®å
šãªãªã¹ãã¯ã
ããã¥ã¡ã³ãã«èšèŒãããŠã
ãŸã ã ãŸãã
çŸããçµµã®åœ¢ã§äž»èŠãªãªããžã§ã¯ãã®æ¥ç¶å³ããããŸã-A1ã«å°å·ããŠå£ã«æããããšãã§ããŸãã
èŠæ±ããã¹ãããã®ãã©ã³ãããã³å®è¡çµ±èšã¯ãæç¶ãåãã£ãã·ã¥ã«ä¿åãããŠããããŒã¿ã§ãã å®è¡æã«ããããã¯å©çšå¯èœã§ãã å®è¡åŸãå¯çšæ§ã¯ä¿èšŒãããããã£ãã·ã¥ãžã®å§åã«äŸåããŸãã ã¯ãããã£ãã·ã¥ã¯æåã§ã¯ãªã¢ã§ããŸãã å®è£
èšç»ããæµ®ããããšãã«è¡ãããšãæšå¥šãããããšããããŸãããå€ãã®åŸ®åŠãªéãããããŸã...äžè¬çã«ããçŠå¿ããããŸããå°é家ã«çžè«ããããšããå§ãããŸããã
ãã³ãã³ãããã£ãŒã«ã-ãŠãŒã¶ãŒã¯ãšãªã®å Žåãå®è³ªçã«ã¯æå³ããããŸãã-çµå±ã®ãšããããã«ããã¹ããååŸã§ããŸã...ããããããã»ã©åçŽã§ã¯ãããŸããã ãã®ãã£ãŒã«ãã¯ãã·ã¹ãã ããã»ã¹ã«é¢ããæ
å ±ãååŸããããã«éåžžã«éèŠã§ãã ååãšããŠãããã€ãã®å
éšã¿ã¹ã¯ãå®è¡ããSQLããã¹ãã¯ãããŸããã ãã®ãããªããã»ã¹ã®å ŽåãããŒã æ
å ±ã¯ã¢ã¯ãã£ããã£ã®ã¿ã€ãã®å¯äžã®ãã³ãã§ãã åã®èšäºãžã®ã³ã¡ã³ãã§ã¯ããµãŒããŒãäœã§ããžãŒã§ãããã«ã€ããŠã®è³ªåããããŸãããäœãããžãŒã§ã¯ãªãããã«æããŸããããããããã®ãã£ãŒã«ãã®å€ã«çããããã§ãããã ç§ã®å®è·µã§ã¯ãã¢ã¯ãã£ããªã·ã¹ãã ããã»ã¹ã®ãã³ãã³ãããã£ãŒã«ãã¯ãåžžã«å®å
šã«ç解ã§ãããã®ã瀺ããŠããŸãããautoshrink/ autogrow / checkpoint / logwriter /ãªã©ã
䜿ãæ¹å®çšçãªéšåã«ç§»ããŸãããã 䜿çšäŸãããã€ã瀺ããŸãããæ³ååãå¶éãããã®ã§ã¯ãããŸããã ãµãŒããŒã®æ©èœã¯ããã«éå®ãããŸãã-ããªãèªèº«ã®äœããçºæããããšãã§ããŸãã
äŸ1ïŒCPU /èªã¿åã/æžã蟌ã¿/ã¡ã¢ãªãæ¶è²»ããããã»ã¹ãŸããã©ã®ã»ãã·ã§ã³ãCPUãæãæ¶è²»ããŠããããèŠãŠã¿ãŸãããã sys.dm_exec_sessionsã®æ
å ±ã ãã ããCPUäžã®ããŒã¿ïŒããã³èªã¿åããæžã蟌ã¿ïŒã¯çŽ¯ç©ãããŸãã ã€ãŸãããã£ãŒã«ãã®æ°å€ã«ã¯ãæ¥ç¶æéå
šäœã®ãåèšããå«ãŸããŸãã ã»ãšãã©ãã¹ãŠã®äººã1ãæåã«æ¥ç¶ããäžåºŠãåæãããªãããšãæããã«ãªããŸãã ããã¯ã圌ãçŸåšã·ã¹ãã ãããŒãããŠãããšããæå³ã§ã¯ãããŸããã
å°ããªã³ãŒãã§åé¡ã解決ã§ããŸããã¢ã«ãŽãªãºã ã¯æ¬¡ã®ããã«ãªããŸãã
- æåã«éžæãè¡ããäžæããŒãã«ã«ä¿åããŸã
- ããããã¡ãã£ãšåŸ
ã£ãŠ
- 2åç®ã®ãµã³ããªã³ã°ãè¡ã
- æåã®ãµã³ãã«ãš2çªç®ã®ãµã³ãã«ã®çµæãæ¯èŒããŸã-å·®ã¯ã段èœ2ã§çºçããã³ã¹ããšãŸã£ããåãã§ã
- 䟿å®äžãå·®ãã¯ã¬ãŒã 2ã®æéã§å²ã£ãŠãå¹³åã®ã1ç§ãããã®ã³ã¹ãããååŸã§ããŸãã
ã³ãŒãã§ã¯ã2ã€ã®ããŒãã«ã䜿çšããŠããŸããïŒtmp-æåã®éžæçšãïŒtmp1-2çªç®ã®éžæçšã ãã®ã¹ã¯ãªããã¯ãæåã®å®è¡æã«ã1ç§ééã§#tmpãšïŒtmp1ãäœæããã³èšå®ããæ®ããå®è¡ããŸãã 以éã®èµ·åã§ã¯ãã¹ã¯ãªããã¯åã®å®è¡ã®çµæãæ¯èŒã®ããŒã¹ãšããŠäœ¿çšããŸãã ãããã£ãŠãåŸç¶ã®èµ·åæã®ã¯ã¬ãŒã 2ã®æéã¯ãã¹ã¯ãªããéå§éã®åŸ
æ©æéã«çãããªããŸãã å®çšŒåãµãŒããŒã§ããã«å®è¡ã§ããŸã-ã¹ã¯ãªããã¯ãäžæããŒãã«ãã®ã¿ãäœæãïŒçŸåšã®ã»ãã·ã§ã³å
ã§ã®ã¿äœ¿çšã§ããåææã«èªå·±ç Žå£ããŸãïŒãå±éºã䌎ããŸããã
ã¹ã¿ãžãªã§ãªã¯ãšã¹ããå®è¡ããããªãå Žåã¯ããæ°ã«å
¥ãã®ããã°ã©ãã³ã°èšèªã§äœæãããã¢ããªã±ãŒã·ã§ã³ã§ã©ããã§ããŸãã ã³ãŒãã1è¡ã䜿ããã«MS Excelã§ãããè¡ãæ¹æ³ã瀺ããŸãã
[ããŒã¿]ã¡ãã¥ãŒã§ããµãŒããŒã«æ¥ç¶ããŸãã ããŒãã«ãéžæããå¿
èŠãããå Žåã¯ãä»»æã®ããŒãã«ãéžæããŠããå€æŽããŸãã ãã€ãã®ããã«ããããŒã¿ã®ã€ã³ããŒãããã€ã¢ãã°ã衚瀺ããããŸã§ã次ãžãããã³ãå®äºããã¯ãªãã¯ããŸãããã®äžã§ãããããã£...ããã¯ãªãã¯ããŸãã ããããã£ã§ããã³ãã³ãã¿ã€ããã®å€ããSQLãã«å€æŽãããã³ãã³ãããã¹ãããã£ãŒã«ãã«ã¯ãšãªããããã«å€æŽããŠæ¿å
¥ããå¿
èŠããããŸãã
ãªã¯ãšã¹ãã¯å°ãå€æŽããå¿
èŠããããŸãã
- ãSET NOCOUNT ONããè¿œå -ãªããªã Excelã¯è¡æ°ã®ããªãã³ã°ã奜ã¿ãŸããã
- ãäžæããŒãã«ãããå€æ°ããŒãã«ãã«çœ®ãæããŸãã
- é
延ã¯åžžã«1ç§ã§ã-å¹³åå€ã®ãã£ãŒã«ãã¯äžèŠã§ã
Excelçšã®å€æŽãããã¯ãšãª SET NOCOUNT ON; declare @tmp table(session_id smallint primary key,login_time datetime,host_name nvarchar(256),program_name nvarchar(256),login_name nvarchar(256),nt_user_name nvarchar(256),cpu_time int,memory_usage int,reads bigint,writes bigint,logical_reads bigint,database_id smallint) declare @d datetime; select @d=GETDATE() INSERT INTO @tmp(session_id,login_time,host_name,program_name,login_name,nt_user_name,cpu_time,memory_usage,reads,writes,logical_reads,database_id) SELECT session_id,login_time,host_name,program_name,login_name,nt_user_name,cpu_time,memory_usage,reads,writes,logical_reads,database_id from sys.dm_exec_sessions s; WAITFOR DELAY '00:00:01'; declare @dd float; select @dd=datediff(ms,@d,getdate()); SELECT s.session_id, s.host_name, db_name(s.database_id) as db, s.login_name,s.login_time,s.program_name, s.cpu_time-isnull(t.cpu_time,0) as cpu_Diff, s.reads+s.writes-isnull(t.reads,0)-isnull(t.writes,0) as totIO_Diff, s.reads-isnull(t.reads,0) as reads_Diff, s.writes-isnull(t.writes,0) as writes_Diff, s.logical_reads-isnull(t.logical_reads,0) as logical_reads_Diff, s.memory_usage, s.memory_usage-isnull(t.memory_usage,0) as [mem_Diff], s.nt_user_name,s.nt_domain from sys.dm_exec_sessions s left join @tmp t on s.session_id=t.session_id
ããŒã¿ãExcelã«ããå Žåãå¿
èŠã«å¿ããŠäžŠã¹æ¿ããããšãã§ããŸãã æ
å ±ãæŽæ°ããã«ã¯ããæŽæ°ããã¯ãªãã¯ããŸãã æžç±ã®èšå®ã§ã¯ã䟿å®äžããäžå®æéåŸã«èªåæŽæ°ããšãéãããšãã«æŽæ°ããèšå®ã§ããŸãã ãã¡ã€ã«ãä¿åããŠååã«è»¢éã§ããŸãã ãããã£ãŠã
Enterprise Enterprise Monitoring Toolã®ãšã³ã¿ãŒãã©ã€ãº è¥æãšããŒã«ã®
å°æãã
ã䟿å©ã§ã·ã³ãã«ãªããŒã«ãåéããŸããã
äŸ2ïŒã»ãã·ã§ã³ããªãœãŒã¹ãè²»ãããã®ãã®ãããåã®äŸã§ã¯ãåé¡ã®ããã»ãã·ã§ã³ãç¹å®ããŸããã 次ã«ã圌ããäœãããŠããããå€æããŸãããã sys.dm_exec_requestsãšãããã¹ãããã³ã¯ãšãªãã©ã³ãååŸããããã®é¢æ°ã䜿çšããŸãã
ã»ãã·ã§ã³çªå·ã«ãããªã¯ãšã¹ãããã¹ããšãã©ã³ DECLARE @sql_handle varbinary(64) DECLARE @plan_handle varbinary(64) DECLARE @sid INT Declare @statement_start_offset int, @statement_end_offset INT, @session_id SMALLINT
ãªã¯ãšã¹ãã®ã»ãã·ã§ã³çªå·ã眮ãæããŠå®è¡ããŸãã å®è¡åŸã[çµæ]ã¿ãã«èšç»ïŒ2ã€ïŒã¯ãšãªå
šäœã®æåãçŸåšã®ã¹ãããã®2çªç®-ã¯ãšãªã«è€æ°ã®ã¹ããããããå ŽåïŒãããã³[ã¡ãã»ãŒãž]ã¿ãã®ã¡ãã»ãŒãžããã¹ãã衚瀺ãããŸãã ãã©ã³ã衚瀺ããã«ã¯ãURLã®åœ¢åŒã®ããã¹ãã®è¡ãã¯ãªãã¯ããå¿
èŠããããŸãã ãã©ã³ã¯å¥ã®ã¿ãã§éããŸãã ãã©ã³ãã°ã©ãã£ã«ã«ãªåœ¢åŒã§ã¯ãªããxml-textã®åœ¢åŒã§éãããããšããããŸãã ããã¯ãããããã¹ã¿ãžãªããŒãžã§ã³ããµãŒããŒãããäœãããã§ãã çµæã®xmlãsqlplanæ¡åŒµåãæã€ãã¡ã€ã«ã«ä¿åããæåã®è¡ãããããŒãžã§ã³ããšããã«ãããåé€ããŠãããåå¥ã«éããŸãã ããã圹ã«ç«ããªãå Žåã¯ã2016ã¹ã¿ãžãªãMSã®Webãµã€ãã§å
¬åŒã«ç¡æã§å
¥æã§ããããšãæãåºãããŠãã ããã
æããã«ãçµæã®èšç»ã¯ãè©äŸ¡ããããŸãããªããªãã ãªã¯ãšã¹ãã¯ãŸã é²è¡äžã§ãã ãã ããããã©ãŒãã³ã¹ã®çµ±èšæ
å ±ã¯ååŸã§ããŸãã sys.dm_exec_query_statsãã¥ãŒãããã³ãã«ã«ãããã£ã«ã¿ãŒãšãšãã«äœ¿çšããŸãã
åã®ãªã¯ãšã¹ãã®æåŸã«è¿œå
å®è¡åŸãçµæã«ã¯ãå®è¡ãããã¯ãšãªã®ã¹ãããã«é¢ããæ
å ±ïŒå®è¡ãããåæ°ãšè²»ãããããªãœãŒã¹ïŒã衚瀺ãããŸããæ
å ±ã¯ãå®è¡åŸã«çµ±èšæ
å ±ã«å°éããŸã-æ®å¿µãªãããããã§ã®æåã®å®è¡ã§ã¯ç©ºã§ããçµ±èšã¯ãŠãŒã¶ãŒã«é¢é£ä»ããããŠããŸãããããµãŒããŒå
šäœã§å®è¡ãããŸããç°ãªããŠãŒã¶ãŒãåããªã¯ãšã¹ããå®è¡ãããšãçµ±èšã¯ãã¹ãŠã®åèšã«ãªããŸããäŸ3ïŒå
šå¡ãèŠãããšãã§ããŸãèæ
®ãããã·ã¹ãã è¡šçŸãšæ©èœã1ã€ã®ãªã¯ãšã¹ãã§çµåããŸããããããã¯ãç¶æ³å
šäœãè©äŸ¡ããã®ã«äŸ¿å©ã§ãã
ãªã¯ãšã¹ãã«ã¯ãã¢ã¯ãã£ããªã»ãã·ã§ã³ã®ãªã¹ããšãªã¯ãšã¹ãã®ããã¹ãã衚瀺ãããŸããã·ã¹ãã ããã»ã¹ã®å Žåãéåžžã¯ãªã¯ãšã¹ãã¯ãããŸãããããã³ãã³ãããã£ãŒã«ãã¯å
¥åãããŠããŸããããã¯ãšæåŸ
å€ã«é¢ããæ
å ±ã衚瀺ãããŸãããã®ã¯ãšãªãäŸ1ãšäº€å·®ãããŠãè² è·ã§äžŠã¹æ¿ããããšãã§ããŸãããã ãã泚æããŠãã ãã-ã¯ãšãªããã¹ãã¯éåžžã«å€§ãããªãå¯èœæ§ããããŸããããããäžæ¬ã§éžæãããšããªãœãŒã¹ã倧éã«æ¶è²»ããå¯èœæ§ããããŸãããããŠããã©ãã£ãã¯ã¯å€§ãããªããŸãããã®äŸã§ã¯ãåä¿¡ãããªã¯ãšã¹ããæåã®500æåã«å¶éããŸãããããã©ã³ã®åä¿¡ãéå§ããŸããã§ãããgithubã«æçš¿ããããªã¯ãšã¹ãã®äŸããããã«
ä»»æã®ã»ãã·ã§ã³ã®ã©ã€ãã¯ãšãªçµ±èšãååŸãããšäŸ¿å©ã§ãã補é å
ã«ãããšãçŸæç¹ã§ã¯ãçµ±èšæ
å ±ã®ç¶ç¶çãªåéã«ã¯å€§éã®ãªãœãŒã¹ãå¿
èŠã§ãããããããã©ã«ãã§ã¯ç¡å¹ã«ãªã£ãŠããŸããå«ããããšã¯åé¡ã§ã¯ãããŸããããè¿œå ã®æäœã¯ããã»ã¹ãè€éã«ããå®éçãªå©ç¹ãæžãããŸãããããããå¥ã®èšäºã§ãããè©Šã¿ãŸãããã®ããŒãã§ã¯ããŠãŒã¶ãŒã¢ã¯ã·ã§ã³ã®åæã«ã€ããŠæ€èšããŸãããã¹ã¿ãžãªèªäœã®æ©èœã䜿çšããããããã¡ã€ã©ãŒã䜿çšãããã·ã¹ãã è¡šçŸã«çŽæ¥ã¢ã¯ã»ã¹ãããªã©ãããã€ãã®æ¹æ³ãè©ŠããŸããããããã®ãã¹ãŠã®æ¹æ³ã䜿çšãããšãèŠæ±ãæºããããã®ã³ã¹ããèŠç©ãããå®è¡èšç»ãååŸã§ããŸãããããã®ããããã«éå®ããå¿
èŠã¯ãããŸãã-ããããã®æ¹æ³ã¯ããªãã®ç¶æ³ã§äŸ¿å©ã§ããçµã¿åãããŠã¿ãŠãã ãããä»åŸã¯ãã¡ã¢ãªãšãããã¯ãŒã¯ã®è² è·ãããã³ãã®ä»ã®ãã¥ã¢ã³ã¹ã®åæããããŸãããããã«è¡ããŸããããããã«ããã€ãã®èšäºã®è³æããã®èšäºã®å·çãæäŒã£ãŠãããVladã«æè¬ããŸãã