SQL рд╕рд░реНрд╡рд░ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХреЗ рдЖрдБрдХрдбрд╝реЗ рдпрд╛ рдХреГрдкрдпрд╛ рдореБрдЭреЗ рдмрддрд╛рдПрдВ рдХрд┐ рдпрд╣ рдХрд╣рд╛рдБ рджрд░реНрдж рд╣реЛрддрд╛ рд╣реИ

рдЖрдкрдиреЗ рдХрд┐рддрдиреА рдмрд╛рд░ SQL рд╕рд░реНрд╡рд░ рдкреНрд░рджрд░реНрд╢рди рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рдЕрдиреБрднрд╡ рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рд╣реИ рдХрд┐ рдХрд╣рд╛рдБ рджреЗрдЦрдирд╛ рд╣реИ?

рд╢рд╛рдпрдж рд╣реА рдХрднреА рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ SQL рд╕рд░реНрд╡рд░ рдкреНрд░рджрд░реНрд╢рди рд╕рдорд╕реНрдпрд╛ рдирд┐рд╡рд╛рд░рдг рд╡рд┐рдзрд┐рдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЛ рдПрдХреНрд╕рдкреЗрдХреНрдЯреЗрд╢рдВрд╕ рдФрд░ рдХреНрдпреВ (рдПрдХреНрд╕рдкреЗрдХреНрдЯреЗрд╢рдВрд╕ рд╕реНрдЯреЗрдЯрд┐рд╕реНрдЯрд┐рдХреНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рднреА рдЬрд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ) рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдХрд╛рд░реНрдпрдкреНрд░рдгрд╛рд▓реА рдХрд╛ рдореВрд▓ рдЖрдзрд╛рд░ рдпрд╣ рд╣реИ рдХрд┐ SQL рд╕рд░реНрд╡рд░ рд▓рдЧрд╛рддрд╛рд░ рдирд┐рдЧрд░рд╛рдиреА рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХрд┐рди рдереНрд░реЗрдбреНрд╕ рдХрд╛ рдЗрдВрддрдЬрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдкреНрд░рджрд░реНрд╢рди рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рд╕рдВрднрд╛рд╡рд┐рдд рдХрд╛рд░рдгреЛрдВ рдХреА рд╕реВрдЪреА рдХреЛ рдЫреЛрдЯрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк SQL рд╕рд░реНрд╡рд░ рд╕реЗ рдЗрд╕ рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЕрдкреЗрдХреНрд╖рд╛рдПрдБ SQL рд╕рд░реНрд╡рд░ рдХреНрдпрд╛ рдореЙрдирд┐рдЯрд░ рдХрд░рддрд╛ рд╣реИред рдХрддрд╛рд░реЗрдВ рдРрд╕реЗ рд╕рдВрд╕рд╛рдзрди рд╣реИрдВ рдЬрд┐рдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрд╛рдЧреЗ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдкреНрд░рдгрд╛рд▓реА рдЖрдорддреМрд░ рдкрд░ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдЙрдореНрдореАрджреЛрдВ рдХреЛ рдкрдХрдбрд╝ рд▓реЗрддреА рд╣реИ, рдФрд░ рдЙрди рд╕рднреА рдХрд╛ рдорддрд▓рдм рд╡рд┐рднрд┐рдиреНрди рд╕рдВрд╕рд╛рдзрдиреЛрдВ рддрдХ рдкрд╣реБрдВрдЪ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдирд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, PAGEIOLATCH_EX рдХреЗ рд▓рд┐рдП рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рд╕реНрдЯреНрд░реАрдо рдбрд┐рд╕реНрдХ рд╕реЗ рдмрдлрд░ рдкреВрд▓ рддрдХ рдбреЗрдЯрд╛ рдкреЗрдЬ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣реА рд╣реИред LCK_M_X рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдзрд╛рдЧрд╛ рдХрд┐рд╕реА рдЪреАрдЬрд╝ рдкрд░ рдПрдХ рд╡рд┐рд╢реЗрд╖ рд▓реЙрдХ рд▓рдЧрд╛рдиреЗ рдХреЗ рдЕрд╡рд╕рд░ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣рд╛ рд╣реИред

рдмрдбрд╝реА рдЦрдмрд░ рдпрд╣ рд╣реИ рдХрд┐ рдПрд╕рдХреНрдпреВрдПрд▓ рд╕рд░реНрд╡рд░ рдХреЛ рдкрддрд╛ рд╣реИ рдХрд┐ рдкреНрд░рджрд░реНрд╢рди рдХреА рд╕рдорд╕реНрдпрд╛рдПрдВ рдХреНрдпрд╛ рд╣реИрдВ, рдФрд░ рдЖрдкрдХреЛ рдЬреЛ рдХреБрдЫ рднреА рдХрд░рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ, рд╡рд╣ рдЙрд╕рд╕реЗ рдкреВрдЫ рд░рд╣рд╛ рд╣реИ ... рдФрд░ рдлрд┐рд░ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╡рд╣ рдХреНрдпрд╛ рдХрд╣рддрд╛ рд╣реИ рдФрд░ рдереЛрдбрд╝рд╛ рдЬрдЯрд┐рд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЬрд╛рдирдХрд╛рд░реА рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд╣реИ рдЬреЛ рд╣рд░ рдЕрдкреЗрдХреНрд╖рд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд┐рдВрддрд╛ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╕рдордЭрддреЗ рд╣реИрдВ рдХрд┐ рдЗрд╕рдХрд╛ рдХреНрдпрд╛ рдХрд╛рд░рдг рд╣реИред рдЙрдореНрдореАрджреЗрдВ рд╣рдореЗрд╢рд╛ рдкреИрджрд╛ рд╣реЛрддреА рд╣реИрдВред рдпрд╣ SQL рд╕рд░реНрд╡рд░ рдХрд╛ рдХрд╛рд░реНрдп рд╢реЗрдбреНрдпреВрд▓рд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рдереНрд░реЗрдб рдкреНрд░реЛрд╕реЗрд╕рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдФрд░ "RUNNING" рдХреА рд╕реНрдерд┐рддрд┐ рд░рдЦрддрд╛ рд╣реИ рдЬрдм рддрдХ рдХрд┐ рдЙрд╕реЗ рд╕рдВрд╕рд╛рдзрди рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдирд╣реАрдВ рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдЗрд╕реЗ рдирд┐рд▓рдВрдмрд┐рдд рд╕реНрдерд┐рддрд┐ (SUSPENDED) рдореЗрдВ рдереНрд░реЗрдб рдХреА рдПрдХ рдЕрдирд┐рдпрдВрддреНрд░рд┐рдд рд╕реВрдЪреА рдореЗрдВ рд░рдЦрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕реА рд╕рдордп, рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреА рдкрд╣реБрдВрдЪ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣реЗ рдереНрд░реЗрдбреНрд╕ рдХреА рдХрддрд╛рд░ рдореЗрдВ рдЕрдЧрд▓рд╛ рдзрд╛рдЧрд╛, FIFO рд╕рд┐рджреНрдзрд╛рдВрдд (рдкрд╣рд▓реЗ-рдкрд╣рд▓реЗ рдЖрдЙрдЯ) рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЖрдпреЛрдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рд╕реНрдерд┐рддрд┐ "рд░рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░" (RUNNABLE) рдкреНрд░реЛрд╕реЗрд╕рд░ рддрдХ рдкрд╣реБрдВрдЪ рдЬрд╛рддреА рд╣реИ рдФрд░ "рд░рдирд┐рдВрдЧ" рд╣реЛ рдЬрд╛рддреА рд╣реИред рдпрджрд┐ "рдирд┐рд▓рдВрдмрд┐рдд" рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдПрдХ рдереНрд░реЗрдб рдПрдХ рд╕реВрдЪрдирд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЙрд╕рдХрд╛ рд╕рдВрд╕рд╛рдзрди рдЙрдкрд▓рдмреНрдз рд╣реИ, рддреЛ рдпрд╣ "рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░" рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдзрд╛рдЧреЗ рдХреА рдХрддрд╛рд░ рдХреЗ рдЕрдВрдд рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкреНрд░рд╡рд╛рд╣ "рдЪрд▓" рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рд╕рд╛рде рдЕрдкрдиреЗ рдЪрдХреНрд░реАрдп рдЖрдВрджреЛрд▓рди рдХреЛ рдЬрд╛рд░реА рд░рдЦрддрд╛ рд╣реИ - "рдирд┐рд▓рдВрдмрд┐рдд" - "рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░" рдЬрдм рддрдХ рдХрд╛рд░реНрдп рдкреВрд░рд╛ рдирд╣реАрдВ рд╣реЛ рдЬрд╛рддрд╛ред рдЖрдк рдбрд╛рдпрдиреЗрдорд┐рдХ рдореИрдиреЗрдЬрдореЗрдВрдЯ рд╡реНрдпреВ (DMV) sysinos_exec_requests рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдФрд░ рдЙрдирдХреА рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЛ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред

SQL рд╕рд░реНрд╡рд░ рдЙрд╕ рд╕рдордп рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдХрд┐рд╕реА рд░рдирд┐рдВрдЧ рд╕реНрдерд┐рддрд┐ рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рд╡рд╛рд▓реЗ рдереНрд░реЗрдб рдХреЗ рдмреАрдЪ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЙрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕реЗ "рдкреНрд░рддреАрдХреНрд╖рд╛ рд╕рдордп" рдФрд░ рддреИрдпрд╛рд░ рд░рд╛рдЬреНрдп рдореЗрдВ рдмрд┐рддрд╛рдП рд╕рдордп рдХреЗ рд░реВрдк рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реБрдП, рдЗрд╕реЗ "рд╕рдордп" рдХреЗ рд░реВрдк рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ рд╕рдВрдХреЗрдд рдкреНрд░рддреАрдХреНрд╖рд╛ рд╕рдордп тАЭ, рдЕрд░реНрдерд╛рддреН рдкреНрд░реЛрд╕реЗрд╕рд░ рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреА рдЙрдкрд▓рдмреНрдзрддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдВрдХреЗрдд рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдзрд╛рдЧреЗ рдХреЛ рдХрд┐рддрдирд╛ рд╕рдордп рдЪрд╛рд╣рд┐рдПред рд╣рдореЗрдВ рдпрд╣ рд╕рдордЭрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рдХрд┐ рдХреБрд▓ рдЯрд╛рдЗрдордЖрдЙрдЯ рд╕реЗ рд╕рд┐рдЧреНрдирд▓ рдЯрд╛рдЗрдордЖрдЙрдЯ рдХреЛ рдШрдЯрд╛рдХрд░ рдереНрд░реЗрдб рдХреЛ "рдкреЙрдЬрд╝реНрдб" рдЕрд╡рд╕реНрдерд╛ рдореЗрдВ, "рд░рд┐рд╕реЛрд░реНрд╕ рд╡реЗрдЯ рдЯрд╛рдЗрдо" рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред

рд╕реВрдЪрдирд╛ рдХрд╛ рдПрдХ рдЙрддреНрдХреГрд╖реНрдЯ рд╕реНрд░реЛрдд рдЬрд┐рд╕реЗ рдореИрдВ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрдврд╝рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ, рд╡рд╣ рдкреНрд░рддреАрдХреНрд╖рд╛ рдЖрдВрдХрдбрд╝реЛрдВ рдкрд░ рдирдпрд╛ (2014) рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рд╣реИ, "рдЯреНрдпреВрдирд┐рдВрдЧ рдПрд╕рдХреНрдпреВрдПрд▓ рд╕рд░реНрд╡рд░ рдкрд░рдлреЙрд░реНрдореЗрдВрд╕ рдПрдХреНрд╕рдкреЗрдХреНрдЯреЗрд╢рдВрд╕ рд╕рд╛рдВрдЦреНрдпрд┐рдХреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛: рдПрдХ рд╢реБрд░реБрдЖрдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдЧрд╛рдЗрдб" (рдЕрдВрдЧреНрд░реЗрдЬреА), рдЬрд┐рд╕реЗ рдореИрдВ рдЖрдкрдХреЛ рдкрдврд╝рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВред рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЙрдкрдпреЛрдЧреА рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд╕рд╛рде рдПрдХ рдмрд╣реБрдд рдкреБрд░рд╛рдирд╛ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ ( рдкреНрд░рджрд░реНрд╢рди рдкреНрд░рдмрдВрдзрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЙрдореНрдореАрджреЗрдВ рдФрд░ рдХрддрд╛рд░реЗрдВ (рдЕрдВрдЧреНрд░реЗрдЬреА) рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рд╕рдордп рдХрд╛рдлреА рдкреБрд░рд╛рдирд╛ рд╣реИред рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреА рдЕрдкреЗрдХреНрд╖рд╛рдУрдВ рдкрд░ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ (рдФрд░ рдЕрд▓реНрдкрдХрд╛рд▓рд┐рдХ рддрд╛рд▓реЛрдВ рдХреА рдХрдХреНрд╖рд╛рдПрдВ) рдореЗрд░реА рдЕрдкреЗрдХреНрд╖рд╛рдУрдВ рдХреА рд╡реНрдпрд╛рдкрдХ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╣реИред (рдЕрдВрдЧреНрд░реЗрдЬреА) рдФрд░ рдЕрд▓реНрдкрдХрд╛рд▓рд┐рдХ рддрд╛рд▓реЗ (рдЕрдВрдЧреНрд░реЗрдЬреА)ред

рдЖрдк DMV sysinos_os_wait_stats рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдВрдЪрд┐рдд рдкреНрд░рддреАрдХреНрд╖рд╛ рдЖрдБрдХрдбрд╝реЛрдВ рдХреЗ рд▓рд┐рдП SQL рд╕рд░реНрд╡рд░ рдХреЛ рдХреНрд╡реЗрд░реА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдмрд╣реБрдд рд╕реЗ рд▓реЛрдЧ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рд╛рд░рд╛рдВрд╢ рдХреЛрдб рдореЗрдВ DMV рдХреЙрд▓ рдХреЛ рд▓рдкреЗрдЯрдирд╛ рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВред рдиреАрдЪреЗ 2016 рдХреЗ рд░реВрдк рдореЗрдВ рдореЗрд░реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рд╣реИ, рдЬреЛ рд╕рднреА рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ SQL рд╕рд░реНрд╡рд░ 2016 рдХреЗ рд▓рд┐рдП рдкреНрд░рддреАрдХреНрд╖рд╛ рдкреНрд░рдХрд╛рд░ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ ( рдпрд╣рд╛рдВ Azure рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рд╕рдВрд╕реНрдХрд░рдг рджреЗрдЦреЗрдВ):

WITH [Waits] AS (SELECT [wait_type], [wait_time_ms] / 1000.0 AS [WaitS], ([wait_time_ms] - [signal_wait_time_ms]) / 1000.0 AS [ResourceS], [signal_wait_time_ms] / 1000.0 AS [SignalS], [waiting_tasks_count] AS [WaitCount], 100.0 * [wait_time_ms] / SUM ([wait_time_ms]) OVER() AS [Percentage], ROW_NUMBER() OVER(ORDER BY [wait_time_ms] DESC) AS [RowNum] FROM sys.dm_os_wait_stats WHERE [wait_type] NOT IN ( N'BROKER_EVENTHANDLER', N'BROKER_RECEIVE_WAITFOR', N'BROKER_TASK_STOP', N'BROKER_TO_FLUSH', N'BROKER_TRANSMITTER', N'CHECKPOINT_QUEUE', N'CHKPT', N'CLR_AUTO_EVENT', N'CLR_MANUAL_EVENT', N'CLR_SEMAPHORE', -- Maybe uncomment these four if you have mirroring issues N'DBMIRROR_DBM_EVENT', N'DBMIRROR_EVENTS_QUEUE', N'DBMIRROR_WORKER_QUEUE', N'DBMIRRORING_CMD', N'DIRTY_PAGE_POLL', N'DISPATCHER_QUEUE_SEMAPHORE', N'EXECSYNC', N'FSAGENT', N'FT_IFTS_SCHEDULER_IDLE_WAIT', N'FT_IFTSHC_MUTEX', -- Maybe uncomment these six if you have AG issues N'HADR_CLUSAPI_CALL', N'HADR_FILESTREAM_IOMGR_IOCOMPLETION', N'HADR_LOGCAPTURE_WAIT', N'HADR_NOTIFICATION_DEQUEUE', N'HADR_TIMER_TASK', N'HADR_WORK_QUEUE', N'KSOURCE_WAKEUP', N'LAZYWRITER_SLEEP', N'LOGMGR_QUEUE', N'MEMORY_ALLOCATION_EXT', N'ONDEMAND_TASK_QUEUE', N'PREEMPTIVE_XE_GETTARGETSTATE', N'PWAIT_ALL_COMPONENTS_INITIALIZED', N'PWAIT_DIRECTLOGCONSUMER_GETNEXT', N'QDS_PERSIST_TASK_MAIN_LOOP_SLEEP', N'QDS_ASYNC_QUEUE', N'QDS_CLEANUP_STALE_QUERIES_TASK_MAIN_LOOP_SLEEP', N'QDS_SHUTDOWN_QUEUE', N'REDO_THREAD_PENDING_WORK', N'REQUEST_FOR_DEADLOCK_SEARCH', N'RESOURCE_QUEUE', N'SERVER_IDLE_CHECK', N'SLEEP_BPOOL_FLUSH', N'SLEEP_DBSTARTUP', N'SLEEP_DCOMSTARTUP', N'SLEEP_MASTERDBREADY', N'SLEEP_MASTERMDREADY', N'SLEEP_MASTERUPGRADED', N'SLEEP_MSDBSTARTUP', N'SLEEP_SYSTEMTASK', N'SLEEP_TASK', N'SLEEP_TEMPDBSTARTUP', N'SNI_HTTP_ACCEPT', N'SP_SERVER_DIAGNOSTICS_SLEEP', N'SQLTRACE_BUFFER_FLUSH', N'SQLTRACE_INCREMENTAL_FLUSH_SLEEP', N'SQLTRACE_WAIT_ENTRIES', N'WAIT_FOR_RESULTS', N'WAITFOR', N'WAITFOR_TASKSHUTDOWN', N'WAIT_XTP_RECOVERY', N'WAIT_XTP_HOST_WAIT', N'WAIT_XTP_OFFLINE_CKPT_NEW_LOG', N'WAIT_XTP_CKPT_CLOSE', N'XE_DISPATCHER_JOIN', N'XE_DISPATCHER_WAIT', N'XE_TIMER_EVENT') AND [waiting_tasks_count] > 0 ) SELECT MAX ([W1].[wait_type]) AS [WaitType], CAST (MAX ([W1].[WaitS]) AS DECIMAL (16,2)) AS [Wait_S], CAST (MAX ([W1].[ResourceS]) AS DECIMAL (16,2)) AS [Resource_S], CAST (MAX ([W1].[SignalS]) AS DECIMAL (16,2)) AS [Signal_S], MAX ([W1].[WaitCount]) AS [WaitCount], CAST (MAX ([W1].[Percentage]) AS DECIMAL (5,2)) AS [Percentage], CAST ((MAX ([W1].[WaitS]) / MAX ([W1].[WaitCount])) AS DECIMAL (16,4)) AS [AvgWait_S], CAST ((MAX ([W1].[ResourceS]) / MAX ([W1].[WaitCount])) AS DECIMAL (16,4)) AS [AvgRes_S], CAST ((MAX ([W1].[SignalS]) / MAX ([W1].[WaitCount])) AS DECIMAL (16,4)) AS [AvgSig_S], CAST ('https://www.sqlskills.com/help/waits/' + MAX ([W1].[wait_type]) as XML) AS [Help/Info URL] FROM [Waits] AS [W1] INNER JOIN [Waits] AS [W2] ON [W2].[RowNum] <= [W1].[RowNum] GROUP BY [W1].[RowNum] HAVING SUM ([W2].[Percentage]) - MAX( [W1].[Percentage] ) < 95; -- percentage threshold GO 


рдХреНрд╡реЗрд░реА рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рд╕рднреА рдЕрдкреЗрдХреНрд╖рд╛рдУрдВ рдХреЗ рдкреНрд░рддрд┐рд╢рдд рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдЕрд╡рд░реЛрд╣реА рдХреНрд░рдо рдореЗрдВ рдЙрдореНрдореАрджреЛрдВ рдХреЛ рджрд░реНрд╢рд╛рдПрдЧрд╛ред рдЙрдореНрдореАрджреЗрдВ рдЬреЛ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИрдВ (рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ) рд╕реВрдЪреА рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рд╣реИрдВ рдФрд░ SQL рд╕рд░реНрд╡рд░ рд╕рдордп рдмрд┐рддрд╛рдиреЗ рд╡рд╛рд▓реА рдЕрдзрд┐рдХрд╛рдВрд╢ рдЕрдкреЗрдХреНрд╖рд╛рдУрдВ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддрд╛ рд╣реИред рдЖрдк рдЕрдкреЗрдХреНрд╖рд╛рдУрдВ рдХреА рдПрдХ рдмрдбрд╝реА рд╕реВрдЪреА рджреЗрдЦрддреЗ рд╣реИрдВ рдЬреЛ рд╡рд┐рдЪрд╛рд░ рд╕реЗ рд╣рдЯрд╛ рджреА рдЬрд╛рддреА рд╣реИрдВ - рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рдХрд╣рд╛ рдерд╛, рд╡реЗ рд╣рдореЗрд╢рд╛ рдЙрдарддреА рд╣реИрдВ рдФрд░ рдЬреЛ рдКрдкрд░ рд╕реВрдЪреАрдмрджреНрдз рд╣реИрдВ, рд╣рдо рдЖрдорддреМрд░ рдкрд░ рдЕрдирджреЗрдЦрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЖрдк рдЗрд╕ рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рд░реНрд╡рд░ рджреНрд╡рд╛рд░рд╛ рд╕рдВрдЪрд┐рдд рдЖрдБрдХрдбрд╝реЛрдВ рдХреЛ рднреА рд░реАрд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

 DBCC SQLPERF (N'sys.dm_os_wait_stats', CLEAR); GO 


рдФрд░, рдЬрд╝рд╛рд╣рд┐рд░ рд╣реИ, рдЖрдк рд╣рд░ рдХреБрдЫ рдШрдВрдЯреЛрдВ рдпрд╛ рд╣рд░ рджрд┐рди рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рдмрдЪрд╛рдиреЗ рдФрд░ рдХреБрдЫ рд╕рдордп рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреА рджрд┐рд╢рд╛ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ рдЬрд╛ рд╕рдХреЗ, рдпрд╛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЙрди рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдЯреНрд░реИрдХ рдХрд░реЗрдВ рдЬрдм рд╡реЗ рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рд▓рдЧрддреЗ рд╣реИрдВред
рдЖрдк SQL Server 2005 рдФрд░ SQL Server 2008 рдореЗрдВ рдбреЗрдЯрд╛ рдХрд▓реЗрдХреНрдЯрд░ рдореЗрдВ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рджрд░реНрд╢рди рдбреИрд╢рдмреЛрд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред SQL Server 2000 рдореЗрдВ рдЖрдк DBCC SQLPERF (N'waitstats ') рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ ред

рдПрдХ рдмрд╛рд░ рдЬрдм рдЖрдк рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдпрд╣ рд╕реЛрдЪрдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрдВрдЧреЗ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдХреИрд╕реЗ рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ рдФрд░ рдХрд╣рд╛рдВ рджреЗрдЦрдирд╛ рд╣реИред рдкрд╣рд▓реЗ рдЬрд┐рд╕ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЛ рдореИрдВрдиреЗ рд╕рдВрджрд░реНрднрд┐рдд рдХрд┐рдпрд╛ рдерд╛, рдЙрд╕рдореЗрдВ рдЕрдзрд┐рдХрд╛рдВрд╢ рдкреНрд░рдХрд╛рд░ рдХреА рдЕрдкреЗрдХреНрд╖рд╛рдУрдВ (SQL Server 2008 рдореЗрдВ рдЬреЛрдбрд╝реЗ рдЧрдП рдЕрдкрд╡рд╛рджреЛрдВ рдХреЗ рд╕рд╛рде) рдкрд░ рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рдЦрдЬрд╛рдирд╛ рд╣реИред

рдЕрдм рдореИрдВ рдХреБрдЫ рд╕рдордп рдкрд╣рд▓реЗ рдкреНрд░рдХрд╛рд╢рд┐рдд рдПрдХ рдЕрдзреНрдпрдпрди рдХреЗ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рджрд╛рди рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред рдореИрдВрдиреЗ рд▓реЛрдЧреЛрдВ рд╕реЗ рдЙрдкрд░реЛрдХреНрдд рдХреЛрдб рдЪрд▓рд╛рдиреЗ рдФрд░ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рдмрддрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ред рдореБрдЭреЗ 1823 рдХреЗ рд╕рд░реНрд╡рд░ рд╕реЗ - рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреА рдПрдХ рдмрдбрд╝реА рд░рд╛рд╢рд┐ рдорд┐рд▓реА - рдзрдиреНрдпрд╡рд╛рдж!

рдиреАрдЪреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХрд╛ рдЪрд┐рддреНрд░рдордп рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рд╣реИ:



рдореИрдВ рд╢реАрд░реНрд╖ 4 рдкрд░рд┐рдгрд╛рдореЛрдВ рдкрд░ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдЖрд╢реНрдЪрд░реНрдпрдЪрдХрд┐рдд рдирд╣реАрдВ рд╣реВрдВ, рдХреНрдпреЛрдВрдХрд┐ рдореИрдВрдиреЗ рдЙрдиреНрд╣реЗрдВ рдЕрдкрдиреЗ рдХреНрд▓рд╛рдЗрдВрдЯ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдмрд╛рд░-рдмрд╛рд░ рджреЗрдЦрд╛ рд╣реИред

рдЕрдкрдиреЗ рд▓реЗрдЦ рдХреА рдирд┐рд░рдВрддрд░рддрд╛ рдореЗрдВ, рдореИрдВ рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рдкреНрд░рдХрд╛рд░ рдХреА рдЙрдореНрдореАрджреЛрдВ рдХреЛ рд╕рд░реНрд╡реЗрдХреНрд╖рдг рдХреЗ рдЙрддреНрддрд░рджрд╛рддрд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рдЕрд╡рд░реЛрд╣реА рдХреНрд░рдо рдореЗрдВ рд╕реВрдЪреАрдмрджреНрдз рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВ, рдФрд░ рдХреБрдЫ рд╢рдмреНрджреЛрдВ рдореЗрдВ рдЯрд┐рдкреНрдкрдгреА рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рдЕрдЧрд░ рд╡реЗ рдЖрдкрдХреЗ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рдореМрд▓рд┐рдХ рд╣реИрдВ, рддреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрдирдХрд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд╕реВрдЪреА рдкреНрд░рд╛рд░реВрдк рдЙрддреНрддрд░рджрд╛рддрд╛рдУрдВ рд╕реЗ рд╕рд┐рд╕реНрдЯрдо рдХреА рд╕рдВрдЦреНрдпрд╛ рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдкреНрд░рдХрд╛рд░ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдореБрдЦреНрдп рд╣реИред



рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рджрд┐рд▓рдЪрд╕реНрдк рдерд╛! рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЖрдк рдХреБрдЫ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ рдпрд╛ рдЖрдк рдЗрд╕ рд▓реЗрдЦ рдХреЛ рдкрдврд╝ рдЪреБрдХреЗ рд╣реИрдВ рдФрд░ рдЗрд╕рдХрд╛ рдЖрдирдВрдж рд▓рд┐рдпрд╛ рд╣реИ!

Source: https://habr.com/ru/post/In216309/


All Articles