SQL рд╕рд░реНрд╡рд░ 2019 рдХреЗ CTP рдХрд╛ рдкрд╣рд▓рд╛ рд╕рдВрд╕реНрдХрд░рдг 24 рд╕рд┐рддрдВрдмрд░ рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рдореБрдЭреЗ рдпрд╣ рдХрд╣рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдпрд╣ рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕реБрдзрд╛рд░реЛрдВ рдФрд░ рдирдИ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рд╕реЗ рднрд░рд╛ рд╣реИ (рдЬрд┐рдирдореЗрдВ рд╕реЗ рдХрдИ рдПрдЬрд╝реНрдпреЛрд░ SQL рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рд░реВрдк рдореЗрдВ рдкрд╛рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ)ред рдореЗрд░реЗ рдкрд╛рд╕ рдЗрд╕реЗ рдкрд╣рд▓реЗ рдЬрд╛рдирдиреЗ рдХрд╛ рдПрдХ рдЕрд╕рд╛рдзрд╛рд░рдг рдЕрд╡рд╕рд░ рдерд╛, рдЬрд┐рд╕рдиреЗ рдореБрдЭреЗ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреА рдЕрдкрдиреА рд╕рдордЭ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреА, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд╕рддрд╣реА рд░реВрдк рд╕реЗред рдЖрдк
SQL рд╕рд░реНрд╡рд░ рдЯреАрдо рдФрд░
рдЕрджреНрдпрддрди рдХрд┐рдП рдЧрдП рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рд╕реЗ рдирд╡реАрдирддрдо рдкреНрд░рдХрд╛рд╢рди рднреА рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред
рд╡рд┐рд╡рд░рдг рдореЗрдВ рдЬрд╛рдиреЗ рдХреЗ рдмрд┐рдирд╛, рдореИрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдирдИ рдХрд░реНрдиреЗрд▓ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВ: рдкреНрд░рджрд░реНрд╢рди, рд╕рдорд╕реНрдпрд╛ рдирд┐рд╡рд╛рд░рдг, рд╕реБрд░рдХреНрд╖рд╛, рдЙрдкрд▓рдмреНрдзрддрд╛ рдФрд░ рд╡рд┐рдХрд╛рд╕ред рдлрд┐рд▓рд╣рд╛рд▓, рдореЗрд░реЗ рдкрд╛рд╕ рджреВрд╕рд░реЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рд╡рд┐рд╡рд░рдг рд╣реИ, рдФрд░ рдЙрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкреНрд░рдХрд╛рд╢рди рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИрдВред рдореИрдВ рдЗрд╕ рдЦрдВрдб рдкрд░, рд╕рд╛рде рд╣реА рд╕рд╛рде рдХрдИ рдЕрдиреНрдп рд▓реЗрдЦреЛрдВ рдФрд░ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдгреЛрдВ рдкрд░ рд▓реМрдЯреВрдВрдЧрд╛ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░реВрдВрдЧрд╛ред рдореИрдВ рдЖрдкрдХреЛ рд╕реВрдЪрд┐рдд рдХрд░рдиреЗ рдХреА рдЬрд▓реНрджрдмрд╛рдЬреА рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдПрдХ рд╡реНрдпрд╛рдкрдХ рд╕рдореАрдХреНрд╖рд╛ рдирд╣реАрдВ рд╣реИ, рдмрд▓реНрдХрд┐ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рдПрдХ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ рдЬрд┐рд╕реЗ рдореИрдВ "рд╕реНрдкрд░реНрд╢" рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣рд╛, CTP 2.0 рддрдХред рдЕрднреА рднреА рдмрд╣реБрдд рд╕реА рдмрд╛рддреЗрдВ рдХрд░рдиреА рдмрд╛рдХреА рд╣реИрдВред
рдЙрддреНрдкрд╛рджрдХрддрд╛
рдЯреЗрдмрд▓ рдЪрд░: рд╡рд┐рд▓рдВрдмрд┐рдд рдпреЛрдЬрдирд╛ рднрд╡рди
рдЯреЗрдмрд▓ рдЪрд░ рдХреА рдмрд╣реБрдд рдЕрдЪреНрдЫреА рдкреНрд░рддрд┐рд╖реНрдард╛ рдирд╣реАрдВ рд╣реИ, рдЬреНрдпрд╛рджрд╛рддрд░ рд▓рд╛рдЧрдд рдЕрдиреБрдорд╛рди рдХреЗ рдХреНрд╖реЗрддреНрд░ рдореЗрдВред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, SQL рд╕рд░реНрд╡рд░ рдорд╛рдирддрд╛ рд╣реИ рдХрд┐ рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рдЪрд░ рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рдкрдВрдХреНрддрд┐ рд╣реЛ рд╕рдХрддреА рд╣реИ, рдЬреЛ рдХрднреА-рдХрднреА рдпреЛрдЬрдирд╛ рдХреА рдЕрдкрд░реНрдпрд╛рдкреНрдд рдкрд╕рдВрдж рдХреА рдУрд░ рд▓реЗ рдЬрд╛рддреА рд╣реИ рдЬрдм рдЪрд░ рдореЗрдВ рдХрдИ рдЧреБрдирд╛ рдЕрдзрд┐рдХ рдкрдВрдХреНрддрд┐рдпрд╛рдБ рд╣реЛрдВрдЧреАред рд╡рд┐рдХрд▓реНрдк (RECOMPILE) рдЖрдорддреМрд░ рдкрд░ рдПрдХ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рд▓рд┐рдП рдХреЛрдб рдкрд░рд┐рд╡рд░реНрддрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдФрд░ рдпрд╣ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ, рд╣рд░ рдмрд╛рд░ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмреЗрдХрд╛рд░ рд╣реИ, рдЬрдмрдХрд┐ рд▓рд╛рдЗрдиреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░ рдПрдХ рд╣реА рд╣реЛрддреА рд╣реИред рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП,
рдЯреНрд░реЗрд╕ рдзреНрд╡рдЬ 2453 рдкреЗрд╢ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдзреНрд╡рдЬ рдХреЗ рд╕рд╛рде рдПрдХ рд▓реЙрдиреНрдЪ рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдФрд░ рдХреЗрд╡рд▓ рддрдм рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЬрдм рд▓рд╛рдЗрдиреЛрдВ рдореЗрдВ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдкрд░рд┐рд╡рд░реНрддрди рд╣реЛрддрд╛ рд╣реИред
рд╕рдВрдЧрддрддрд╛ рд╕реНрддрд░ 150 рдкрд░, рддрд╛рд▓рд┐рдХрд╛ рдЪрд░ рдореМрдЬреВрдж рд╣реЛрдиреЗ рдкрд░ рдЖрд╕реНрдердЧрд┐рдд рдирд┐рд░реНрдорд╛рдг рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдХреНрд╡реЗрд░реА рдпреЛрдЬрдирд╛ рддрдм рддрдХ рдирд╣реАрдВ рдмрдирд╛рдИ рдЬрд╛рддреА рд╣реИ рдЬрдм рддрдХ рдХрд┐ рддрд╛рд▓рд┐рдХрд╛ рдЪрд░ рдПрдХ рдмрд╛рд░ рдкреЙрдкреБрд▓реЗрдЯреЗрдб рди рд╣реЛ рдЬрд╛рдПред рд▓рд╛рдЧрдд рдХрд╛ рдЕрдиреБрдорд╛рди рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рдЪрд░ рдХреЗ рдкрд╣рд▓реЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд▓рдЧрд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЖрдЧреЗ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХреЗ рдмрд┐рдирд╛ред рдпрд╣ рд╕рдЯреАрдХ рд▓рд╛рдЧрдд рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рд░рдВрддрд░ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХреЗ рдмреАрдЪ рдПрдХ рд╕рдордЭреМрддрд╛ рд╣реИ, рдФрд░ рдирд┐рд░рдВрддрд░ рд▓рд╛рдЧрдд рдХреЗ рд╕рд╛рде рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХреА рдкреВрд░реНрдг рдЕрдиреБрдкрд╕реНрдерд┐рддрд┐ 1. рдпрджрд┐ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рд╕реНрдерд┐рд░ рд░рд╣рддреА рд╣реИ, рддреЛ рдпрд╣ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╕рдВрдХреЗрддрдХ рд╣реИ (рдФрд░ рдЕрдЧрд░ рд╕рдВрдЦреНрдпрд╛ 1 рд╕реЗ рдЕрдзрд┐рдХ рд╣реЛ рддреЛ рднреА рдмреЗрд╣рддрд░), рд▓реЗрдХрд┐рди рдХрдо рд▓рд╛рднрджрд╛рдпрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЕрдЧрд░ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдмрдбрд╝реА рднрд┐рдиреНрдирддрд╛ рд╣реИред
рдореИрдВрдиреЗ рдПрдХ рд╣рд╛рд▓рд┐рдпрд╛ рд▓реЗрдЦ
Tabular Variables: Delayed Build in SQL Server рдореЗрдВ рдПрдХ рдЧрд╣рд░рд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛, рдФрд░ рдмреНрд░реЗрдВрдЯ рдУрдЬреЗрд░ рдиреЗ рдЗрд╕ рд▓реЗрдЦ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ
рдлрд╛рд╕реНрдЯ рдЯреЗрдмреБрд▓рд░ рд╡реЗрд░рд┐рдПрдмрд▓реНрд╕ (рдФрд░ рдирдП рдкреИрд░рд╛рдореАрдЯрд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рд╕рдорд╕реНрдпрд╛рдУрдВ) рдореЗрдВ рднреА рдмрд╛рдд рдХреАред
рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЛрдб рдореЗрдВ рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрди рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛
SQL рд╕рд░реНрд╡рд░ 2017 рдореЗрдВ рдмреИрдЪ рдореЗрдореЛрд░реА рдПрд▓реЛрдХреЗрд╢рди рдлреАрдбрдмреИрдХ рд╣реИ, рдЬрд┐рд╕реЗ
рдпрд╣рд╛рдБ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛
рд╣реИ ред рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ, рдХреНрд╡реЗрд░реА рдореЛрдб рд╕реЗ рдЬреБрдбрд╝реЗ рдХрд┐рд╕реА рднреА рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрди рдХреЗ рд▓рд┐рдП рдЬрд┐рд╕рдореЗрдВ рдмреИрдЪ рдореЛрдб рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, SQL рд╕рд░реНрд╡рд░ рдХреНрд╡реЗрд░реА рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХреА рдЧрдИ рдореЗрдореЛрд░реА рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░реЗрдЧрд╛ рдФрд░ рдЕрдиреБрд░реЛрдзрд┐рдд рдореЗрдореЛрд░реА рдХреЗ рд╕рд╛рде рддреБрд▓рдирд╛ рдХрд░реЗрдЧрд╛ред рдпрджрд┐ рдЕрдиреБрд░реЛрдзрд┐рдд рдореЗрдореЛрд░реА рдмрд╣реБрдд рдЫреЛрдЯреА рдпрд╛ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдЯреЗрдореНрдкрд░реНрдб рдпрд╛ рдореЗрдореЛрд░реА рдХреА рдмрд░реНрдмрд╛рджреА рд╣реЛ рдЬрд╛рдПрдЧреА, рддреЛ рдЕрдЧрд▓реА рд╢реБрд░реБрдЖрдд рдореЗрдВ рд╕рдВрдмрдВрдзрд┐рдд рдХреНрд╡реЗрд░реА рдкреНрд▓рд╛рди рдХреЗ рд▓рд┐рдП рдЖрд╡рдВрдЯрд┐рдд рдореЗрдореЛрд░реА рд╕рдорд╛рдпреЛрдЬрд┐рдд рд╣реЛ рдЬрд╛рдПрдЧреАред рдпрд╣ рд╡реНрдпрд╡рд╣рд╛рд░ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╛ рддреЛ рдЖрд╡рдВрдЯрд┐рдд рдорд╛рддреНрд░рд╛ рдХреЛ рдХрдо рдХрд░реЗрдЧрд╛ рдФрд░ рд╕рдВрдЧрд╛рдорд┐рддрд┐ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░реЗрдЧрд╛, рдпрд╛ рдЗрд╕реЗ рдмрдврд╝рд╛рдПрдЧрд╛ред
рдЕрдм рд╣рдо рд╕рдВрдЧрддрддрд╛ рд╕реНрддрд░ 150 рдХреЗ рддрд╣рдд рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЛрдб рдореЗрдВ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рд╡реНрдпрд╡рд╣рд╛рд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВред рдпрджрд┐ рдХреНрд╡реЗрд░реА рдХреЛ рдбрд┐рд╕реНрдХ рдореЗрдВ рдбреЗрдЯрд╛ рдорд░реНрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рддреЛ рдмрд╛рдж рдХреЗ рд▓реЙрдиреНрдЪреЛрдВ рдХреЗ рд▓рд┐рдП рдЖрд╡рдВрдЯрд┐рдд рдореЗрдореЛрд░реА рдХреЛ рдмрдврд╝рд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдпрджрд┐ рдЕрдиреБрд░реЛрдз рдХреЗ рдкреВрд░рд╛ рд╣реЛрдиреЗ рдкрд░ рдЖрдзреА рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрд┐рдд рдХреА рдЧрдИ рдереА, рддреЛ рдмрд╛рдж рдХреЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдиреАрдЪреЗ рддрдХ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдмреНрд░реЗрдЯрди рдУрдЬрд░ рдиреЗ рдЕрдкрдиреЗ рд▓реЗрдЦ рдХреЙрдиреНрдбрд┐рд╢рдирд▓
рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрди рдореЗрдВ рдЗрд╕реЗ рдФрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рд╣реИред
рд▓рд╛рдЗрди-рдмрд╛рдп-рд▓рд╛рдЗрди рд╕реНрдЯреЛрд░реЗрдЬ рдХреЗ рд▓рд┐рдП рдмреИрдЪ рдореЛрдб
SQL рд╕рд░реНрд╡рд░ 2012 рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рдирд╛, рдХреЙрд▓рдо рдЗрдВрдбреЗрдХреНрд╕ рдХреЗ рд╕рд╛рде рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЛ рдХреНрд╡реЗрд░реА рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рдмреИрдЪ рдореЛрдб рдкреНрд░рджрд░реНрд╢рди рд╕реЗ рд▓рд╛рдн рд╣реБрдЖ рд╣реИред рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рд╕реБрдзрд╛рд░ рдПрдХ рдХреНрд╡реЗрд░реА рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рдХрд╛рд░рдг рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рдкрдВрдХреНрддрд┐-рд╡рд╛рд░ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдмрдЬрд╛рдп рдмреИрдЪ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реИред рдкреИрдХреЗрдЬреЛрдВ рдореЗрдВ рд╕реНрдЯреЛрд░реЗрдЬ рдХреЛрд░ рджреНрд╡рд╛рд░рд╛ рд▓рд╛рдЗрдиреЛрдВ рдХреЛ рднреА рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рд╕рдорд╕рд╛рдордпрд┐рдХ рд╡рд┐рдирд┐рдордп рд╡рд┐рд╡рд░рдгреЛрдВ рд╕реЗ рдмрдЪрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкреЙрд▓ рд╡реНрд╣рд╛рдЗрдЯ (
@SQL_Kiwi ) рдиреЗ рдореБрдЭреЗ рдпрд╛рдж рджрд┐рд▓рд╛рдпрд╛ рдХрд┐ рдпрджрд┐ рдЖрдк рдмреИрдЪ рд╕рдВрдЪрд╛рд▓рди рдХреЛ рд╕рдВрднрд╡ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрддрдВрдн рднрдВрдбрд╛рд░рдг рдХреЗ рд╕рд╛рде рдПрдХ рдЦрд╛рд▓реА рддрд╛рд▓рд┐рдХрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдПрдХ рдЕрджреГрд╢реНрдп рд╡рд┐рд╡рд░рдг рджреНрд╡рд╛рд░рд╛ рдкреИрдХреЗрдЯ рдореЗрдВ рдПрдХрддреНрд░ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрд╣ рдХреНрд░реИрдХ рдмреИрдЪ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рд╕реА рднреА рд╕реБрдзрд╛рд░ рдХреЛ рдирдХрд╛рд░ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдЬрд╛рдирдХрд╛рд░реА
рд╕реНрдЯреИрдХ рдПрдХреНрд╕рдЪреЗрдВрдЬ рдХреЗ
рдЬрд╡рд╛рдм рдореЗрдВ рд╣реИ ред
рд╕рдВрдЧрддрддрд╛ рд╕реНрддрд░ 150 рдкрд░, SQL Server 2019 рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдордзреНрдп рдореИрджрд╛рди рдХреЗ рд░реВрдк рдореЗрдВ рдмреИрдЪ рдореЛрдб рдХрд╛ рдЪрдпрди рдХрд░реЗрдЧрд╛, рднрд▓реЗ рд╣реА рдХреЛрдИ рдХреЙрд▓рдо рдЗрдВрдбреЗрдХреНрд╕ рди рд╣реЛред рдЖрдк рд╕реЛрдЪ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╕рд┐рд░реНрдл рдХреЙрд▓рдо рдЗрдВрдбреЗрдХреНрд╕ рдФрд░ рд╣реИрдЯ рд╣реА рдХреНрдпреЛрдВ? рдпрд╛ рдКрдкрд░ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рдмреИрд╕рд╛рдЦреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦреЗрдВ? рдкрдВрдХреНрддрд┐ рднрдВрдбрд╛рд░рдг рдХреЗ рд╕рд╛рде рдкрд╛рд░рдВрдкрд░рд┐рдХ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд▓рд┐рдП рднреА рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЛ рдмрдврд╝рд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рд╕реНрддрдВрдн рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛, рдХрдИ рдХрд╛рд░рдгреЛрдВ рд╕реЗ, рд╣рдореЗрд╢рд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рд╕реАрдорд╛рдПрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЯреНрд░рд┐рдЧрд░), рдЕрддреНрдпрдзрд┐рдХ рд▓реЛрдб рдХрд┐рдП рдЧрдП рдЕрдкрдбреЗрдЯ рдпрд╛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рджреМрд░рд╛рди рдУрд╡рд░рд╣реЗрдб, рдФрд░ рддреГрддреАрдп-рдкрдХреНрд╖ рдирд┐рд░реНрдорд╛рддрд╛рдУрдВ рд╕реЗ рд╕рдорд░реНрдерди рдХреА рдХрдореА рд╢рд╛рдорд┐рд▓ рд╣реИред рдФрд░ рдЙрд╕ рдмреИрд╕рд╛рдЦреА рд╕реЗ рдХреБрдЫ рднреА рдЕрдЪреНрдЫрд╛ рд╣реЛрдиреЗ рдХреА рдЙрдореНрдореАрдж рдирд╣реАрдВ рдХреА рдЬрд╛ рд╕рдХрддреАред
рдореИрдВрдиреЗ 10 рдорд┐рд▓рд┐рдпрди рдкрдВрдХреНрддрд┐рдпреЛрдВ рдФрд░ рдПрдХ рдкреВрд░реНрдгрд╛рдВрдХ рд╕реНрддрдВрдн рдкрд░ рдПрдХ рдХреНрд▓рд╕реНрдЯрд░ рдЗрдВрдбреЗрдХреНрд╕ рдХреЗ рд╕рд╛рде рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рд░рд▓ рддрд╛рд▓рд┐рдХрд╛ рдмрдирд╛рдИ рдФрд░ рдЗрд╕ рдХреНрд╡реЗрд░реА рдХреЛ рдЪрд▓рд╛рдпрд╛:
SELECT sa5, sa2, SUM(i1), SUM(i2), COUNT(*) FROM dbo.FactTable WHERE i1 > 100000 GROUP BY sa5, sa2 ORDER BY sa5, sa2;
рдпреЛрдЬрдирд╛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕рдВрдХреБрд▓ рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ рдЦреЛрдЬ рдФрд░ рд╕рдВрдЧрд╛рдорд┐рддрд┐ рдХреЛ рджрд┐рдЦрд╛рддреА рд╣реИ, рд▓реЗрдХрд┐рди рд╕реНрддрдВрдн рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд╢рдмреНрдж рдирд╣реАрдВ (рдЬреИрд╕рд╛ рдХрд┐
рд╕реЗрдВрдЯреНрд░реАрдСрди рдкреНрд▓рд╛рди рджрд┐рдЦрд╛рддрд╛ рд╣реИ):

рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдк рдереЛрдбрд╝рд╛ рдЧрд╣рд░рд╛ рдЦреБрджрд╛рдИ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд▓рдЧрднрдЧ рд╕рднреА рдСрдкрд░реЗрдЯрд░реЛрдВ рдХреЛ рдмреИрдЪ рдореЛрдб рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЫрдВрдЯрд╛рдИ рдФрд░ рд╕реНрдХреЗрд▓рд░ рдЧрдгрдирд╛ рднреА:

рдЖрдк рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдмрджрд▓рдХрд░ рдпрд╛ рдХреНрд╡реЗрд░реА рдореЗрдВ DISALLOW_BATCH_MODE рдкреНрд░реЙрдореНрдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрдо рд╕рдВрдЧрддрддрд╛ рд╕реНрддрд░ рдкрд░ рд░рд╣рдХрд░ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
SELECT тАж OPTION (USE HINT ('DISALLOW_BATCH_MODE'));
рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдПрдХреНрд╕рдЪреЗрдВрдЬ рдСрдкрд░реЗрдЯрд░ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ, рд╕рднреА рдСрдкрд░реЗрдЯрд░реЛрдВ рдХреЛ рд▓рд╛рдЗрди-рдмрд╛рдп-рд▓рд╛рдЗрди рдореЛрдб рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдХреНрд╡реЗрд░реА рдирд┐рд╖реНрдкрд╛рджрди рдХрд╛ рд╕рдордп рд▓рдЧрднрдЧ рддреАрди рдЧреБрдирд╛ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕реНрддрд░ рддрдХ, рдЖрдк рдЗрд╕реЗ рдЖрд░реЗрдЦ рдореЗрдВ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпреЛрдЬрдирд╛ рдХреЗ рд╡рд┐рд╡рд░рдг рдЯреНрд░реА рдореЗрдВ рдЖрдк рдПрдХ рдЪрдпрди рд╕реНрдерд┐рддрд┐ рдХреЗ рдкреНрд░рднрд╛рд╡ рдХреЛ рднреА рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдЫрдВрдЯрд╛рдИ рд╣реЛрдиреЗ рддрдХ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдмрд╛рд╣рд░ рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде рд╣реИ:

рдмреИрдЪ рдореЛрдб рдХрд╛ рд╡рд┐рдХрд▓реНрдк рд╣рдореЗрд╢рд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рдХрджрдо рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ - рдирд┐рд░реНрдгрдп рд▓реЗрдиреЗ рд╡рд╛рд▓реЗ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдЕрдиреБрдорд╛рдиреА рд▓рд╛рдЗрдиреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛, рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдСрдкрд░реЗрдЯрд░реЛрдВ рдХреЗ рдкреНрд░рдХрд╛рд░ рдФрд░ рдмреИрдЪ рдореЛрдб рдХреЗ рдЕрдкреЗрдХреНрд╖рд┐рдд рд▓рд╛рднреЛрдВ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддрд╛ рд╣реИред
APPROX_COUNT_DISTINCT
рдпрд╣ рдирдпрд╛ рд╕рдореБрдЪреНрдЪрдп рдлрд╝рдВрдХреНрд╢рди рдбреЗрдЯрд╛ рд╡реЗрдпрд░рд╣рд╛рдЙрд╕рд┐рдВрдЧ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╣реИ рдФрд░ COUNT (DISTINCT ()) рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдорд╛рддреНрд░рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд╣рдВрдЧрд╛ рдЫрдБрдЯрд╛рдИ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдирдпрд╛ рдлрд╝рдВрдХреНрд╢рди рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рд╕рдЯреАрдХ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдБрдХрдбрд╝реЛрдВ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред рдЖрдкрдХреЛ рдпрд╣ рд╕рдордЭрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рддреНрд░реБрдЯрд┐ рд╕рдЯреАрдХ рд░рд╛рд╢рд┐ рдХреЗ 2% рдХреЗ рднреАрддрд░ рд╣реИ, рдФрд░ 97% рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЬреЛ рдЙрдЪреНрдЪ-рд╕реНрддрд░реАрдп рдПрдирд╛рд▓рд┐рдЯрд┐рдХреНрд╕ рдХреЗ рд▓рд┐рдП рдЖрджрд░реНрд╢ рд╣реИрдВ, рдпреЗ рд╕рдВрдХреЗрддрдХ рдкрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдорд╛рди рд╣реИрдВ рдпрд╛ рддреНрд╡рд░рд┐рдд рдЕрдиреБрдорд╛рди рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред
рдореЗрд░реЗ рд╕рд┐рд╕реНрдЯрдо рдкрд░, рдореИрдВрдиреЗ рдкреВрд░реНрдгрд╛рдВрдХ рд╕реНрддрдВрднреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рдмрдирд╛рдИ рдЬрд┐рд╕рдореЗрдВ 100 рд╕реЗ 100,000 рдХреА рд╕реАрдорд╛ рдореЗрдВ рдЕрджреНрд╡рд┐рддреАрдп рдорд╛рди рдФрд░ 100 рд╕реЗ 100,000 рдХреА рд╕реАрдорд╛ рдореЗрдВ рдЕрджреНрд╡рд┐рддреАрдп рдорд╛рдиреЛрдВ рдХреЗ рд╕рд╛рде рдкрдВрдХреНрддрд┐ рдХреЙрд▓рдо рдереЗред рдЗрд╕рдореЗрдВ рдкрд╣рд▓реЗ рдкреНрд░рд╛рдердорд┐рдХ рдХреНрд▓рд╕реНрдЯрд░ рдХреБрдВрдЬреА рдХреЛ рдЫреЛрдбрд╝рдХрд░ рдХреЛрдИ рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ рдирд╣реАрдВ рдереАред рдкреВрд░реНрдгрд╛рдВрдХ рд╕реНрддрдВрднред рдЗрди рд╕реНрддрдВрднреЛрдВ рдкрд░ COUNT (DISTINCT ()) рдФрд░ APPROX_COUNT_DISTINCT () рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рдкрд░рд┐рдгрд╛рдо рд╣реИрдВ, рдЬрд╣рд╛рдВ рд╕реЗ рдЖрдк рдереЛрдбрд╝реА рд╡рд┐рд╕рдВрдЧрддрд┐рдпрд╛рдВ (рд▓реЗрдХрд┐рди рд╣рдореЗрд╢рд╛ 2% рдХреЗ рднреАрддрд░) рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ:

рдпрджрд┐ рдореЗрдореЛрд░реА рд╕реАрдорд╛рдПрдВ рд╣реИрдВ, рддреЛ рдпрд╣ рдмрд╣реБрдд рдмрдбрд╝рд╛ рд╣реИ, рдЬреЛ рд╣рдо рдореЗрдВ рд╕реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдХреНрд╡реЗрд░реА рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕ рд╡рд┐рд╢реЗрд╖ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЖрдк рд╣реИрд╢ рдореИрдЪ рдСрдкрд░реЗрдЯрд░ рджреНрд╡рд╛рд░рд╛ рдореЗрдореЛрд░реА рдХреА рдЦрдкрдд рдореЗрдВ рднрд╛рд░реА рдЕрдВрддрд░ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ:

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдпрджрд┐ рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕реНрдореГрддрд┐-рдмрджреНрдз рд╣реИрдВ, рддреЛ рдЖрдк рдЖрдорддреМрд░ рдкрд░ рдХреЗрд╡рд▓ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдкреНрд░рджрд░реНрд╢рди рд╕реБрдзрд╛рд░ рд╣реА рджреЗрдЦреЗрдВрдЧреЗред рдореЗрд░реЗ рд╕рд┐рд╕реНрдЯрдо рдкрд░, рдирдИ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рдЙрдЪреНрдЪ CPU рдЙрдкрдпреЛрдЧ рдХреЗ рдХрд╛рд░рдг рдирд┐рд╖реНрдкрд╛рджрди рдереЛрдбрд╝реА рджреЗрд░ рддрдХ рдЪрд▓рд╛:

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

рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ: рдЯреНрд░реЗрд╕ рдЭрдВрдбреЗ рдХреЛ рдпрд╛рдж рдХрд░рдиреЗ рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдпрд╛ рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЖрдкрдХреЛ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд┐рдВрддрд╛ рдХрд░рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдХреНрд╡реЗрд░реА рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝рд░ рдХреЗ рд▓рд┐рдП TF 4199 рдкреИрдЪ рд╡рд┐рддрд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдпрд╛ рдЗрд╕реЗ рдХрд┐рд╕реА рдЕрдиреНрдп рд╕рд░реНрд╡рд┐рд╕ рдкреИрдХ рджреНрд╡рд╛рд░рд╛ рд░рджреНрдж рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЗрди рдЕрддрд┐рд░рд┐рдХреНрдд рдпреБрдХреНрддрд┐рдпреЛрдВ рдХреЛ рд╣рд╛рд▓ рд╣реА рдореЗрдВ SQL Server 2017 рдХреЗ рд▓рд┐рдП рд╕рдВрдЪрдпреА рдЕрджреНрдпрддрди # 10 рдореЗрдВ рднреА рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИ (рд╡рд┐рд╡рд░рдг рдХреЗ
рд▓рд┐рдП рдкреЗрдбреНрд░реЛ рд▓реЛрдкреЗрдЬрд╝ рдХрд╛ рдмреНрд▓реЙрдЧ рджреЗрдЦреЗрдВ)ред рдЖрдк рдирд┐рдореНрди рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рд╕рднреА рдЙрдкрд▓рдмреНрдз рд╕рдВрдХреЗрдд рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ:
SELECT name FROM sys.dm_exec_valid_use_hints;
рд▓реЗрдХрд┐рди рдпрд╣ рдордд рднреВрд▓реЛ рдХрд┐ рд╕рдВрдХреЗрдд рдПрдХ рдЕрд╕рд╛рдзрд╛рд░рдг рдЙрдкрд╛рдп рд╣реИрдВ, рд╡реЗ рдЕрдХреНрд╕рд░ рдПрдХ рдХрдард┐рди рдкрд░рд┐рд╕реНрдерд┐рддрд┐ рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рд╣реЛрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд▓рдВрдмреЗ рд╕рдордп рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдпреЛрдЬрдирд╛ рдирд╣реАрдВ рдмрдирд╛рдИ рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдП, рдХреНрдпреЛрдВрдХрд┐ рдмрд╛рдж рдХреЗ рдЕрдкрдбреЗрдЯ рдХреЗ рд╕рд╛рде рдЙрдирдХрд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рдмрджрд▓ рд╕рдХрддрд╛ рд╣реИред
рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рдирд┐рд╡рд╛рд░рдг рдХрд░рдирд╛
рд╕рд░рд▓реАрдХреГрдд рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдкреНрд░реЛрдлрд╛рдЗрд▓рд┐рдВрдЧ
рдЗрд╕ рд╕реБрдзрд╛рд░ рдХреЛ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╛рдж рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдмрд┐рдВрджреБрдУрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред SQL рд╕рд░реНрд╡рд░ 2014 рдиреЗ DMV sysinos_exec_query_profiles рджреГрд╢реНрдп рдкреЗрд╢ рдХрд┐рдпрд╛, рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдХреНрд╡реЗрд░реА рдХреЗ рд╕рднреА рд╣рд┐рд╕реНрд╕реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдиреИрджрд╛рдирд┐рдХ тАЛтАЛрдЬрд╛рдирдХрд╛рд░реА рдПрдХрддреНрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд╡реЗрд░реА рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдПрдХрддреНрд░рд┐рдд рдЬрд╛рдирдХрд╛рд░реА рдХреНрд╡реЗрд░реА рдХреЗ рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдЙрдкрд▓рдмреНрдз рд╣реЛ рдЬрд╛рддреА рд╣реИ рдФрд░ рдЖрдкрдХреЛ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИ рдХрд┐ рдХреМрди рд╕реЗ рдСрдкрд░реЗрдЯрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореБрдЦреНрдп рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдФрд░ рдХреНрдпреЛрдВ рдЦрд░реНрдЪ рдХрд░рддреЗ рд╣реИрдВред рдХреЛрдИ рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЬреЛ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рдЕрдиреБрд░реЛрдз рдХреЛ рдкреВрд░рд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд╡рд╣ рдХрд┐рд╕реА рднреА рд╕рддреНрд░ рдХреЗ рд▓рд┐рдП рдпрд╣ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ STATISTICS XML рдпрд╛ STATISTICS PROFILE рдХрдерди рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдпрд╛ рд╕рднреА рд╕рддреНрд░реЛрдВ рдХреЗ рд▓рд┐рдП, рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд query_post_execution_showplan рдИрд╡реЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рд╣рд╛рд▓рд╛рдБрдХрд┐ рдпрд╣ рдИрд╡реЗрдВрдЯ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рд╕рдордЧреНрд░ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рдкреНрд░рдмрдВрдзрди рд╕реНрдЯреВрдбрд┐рдпреЛ 2016 рдореЗрдВ, рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ DMV рд╕реЗ рдПрдХрддреНрд░рд┐рдд рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдореЗрдВ рдХреНрд╡реЗрд░реА рдпреЛрдЬрдирд╛ рд╕реЗ рдЧреБрдЬрд░рдиреЗ рд╡рд╛рд▓реА рдбреЗрдЯрд╛ рдзрд╛рд░рд╛рдУрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬреЛ рд╕рдорд╕реНрдпрд╛ рдирд┐рд╡рд╛рд░рдг рдХреЗ рд▓рд┐рдП рдФрд░ рднреА рдЕрдзрд┐рдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдмрдирд╛рддрд╛ рд╣реИред рдкреНрд▓рд╛рди рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдФрд░ рдкреНрд▓реЗрдмреИрдХ рдореЛрдб рдореЗрдВ, рдХреНрд╡реЗрд░реА рд╕реЗ рдЧреБрдЬрд░рдиреЗ рд╡рд╛рд▓реЗ рдбреЗрдЯрд╛ рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рднреА рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред
SQL Server 2016 рд╕рд░реНрд╡рд┐рд╕ рдкреИрдХ 1 (SP1) рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рдХреЗ, рдЖрдк рдЯреНрд░реЗрд╕ рдлрд╝реНрд▓реИрдЧ 7412 рдпрд╛ рдЙрдиреНрдирдд query_thread_profile рдкреНрд░реЙрдкрд░реНрдЯреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рднреА рд╕рддреНрд░реЛрдВ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдбреЗрдЯрд╛ рдХреЛ рдПрдХрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рд╣рд▓реНрдХрд╛ рд╕рдВрд╕реНрдХрд░рдг рднреА рд╕рдХреНрд╖рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдЖрдкрдХреЛ рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╕рддреНрд░ рдХреА рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рдмрд┐рдирд╛ рдХрд┐рд╕реА рднреА рдЪреАрдЬрд╝ рдХреА рддреБрд░рдВрдд рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЗрд╕рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВ (рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдРрд╕реА рдЪреАрдЬреЗрдВ рдЬреЛ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдкреНрд░рддрд┐рдХреВрд▓ рд░реВрдк рд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддреА рд╣реИрдВ)ред
рдкреЗрдбреНрд░реЛ рд▓реЛрдкреЗрдЬ рдХреЗ
рдмреНрд▓реЙрдЧ рдкрд░ рдпрд╣ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд░реНрдгрд┐рдд
рд╣реИ ред
SQL рд╕рд░реНрд╡рд░ 2019 рдореЗрдВ, рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╕рдХреНрд╖рдо рд╣реЛрддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рдХрд┐рд╕реА рднреА рд╕рддреНрд░ рдХреЛ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдШрдЯрдирд╛рдУрдВ рдХреЗ рд╕рд╛рде рдЪрд▓рд╛рдиреЗ рдпрд╛ рдХрд┐рд╕реА рднреА рдХреНрд╡реЗрд░реА рдореЗрдВ рдХрд┐рд╕реА рднреА рдЯреНрд░реЗрд╕ рдзреНрд╡рдЬ рдФрд░ рд╕рд╛рдВрдЦреНрдпрд┐рдХреА рдХрдерди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рд╕рднреА рд╕рдорд╡рд░реНрддреА рд╕рддреНрд░реЛрдВ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рднреА рд╕рдордп DMV рдХреЗ рдбреЗрдЯрд╛ рдХреЛ рджреЗрдЦреЗрдВред рд▓реЗрдХрд┐рди LIGHTWEIGHT_QUERY_PROFILING рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕ рдореЛрдб рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рд╕рд┐рдВрдЯреИрдХреНрд╕ CTP 2.0 рдореЗрдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдФрд░ рднрд╡рд┐рд╖реНрдп рдХреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рддрдп рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдХреНрд▓реЛрди рдХрд┐рдП рдЧрдП рдХреЙрд▓рдо рдЗрдВрдбреЗрдХреНрд╕ рдЖрдБрдХрдбрд╝реЗ рдЕрдм рдХреНрд▓реЛрди рдХрд┐рдП рдЧрдП рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИрдВ
SQL рд╕рд░реНрд╡рд░ рдХреЗ рд╡рд░реНрддрдорд╛рди рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ, рдЬрдм рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╛ рдХреНрд▓реЛрдирд┐рдВрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдХреНрд▓рд╕реНрдЯрд░ рдХреЙрд▓рдо рдЗрдВрдбреЗрдХреНрд╕ рд╕реЗ рдХреЗрд╡рд▓ рдореВрд▓ рдСрдмреНрдЬреЗрдХреНрдЯ рдЖрдБрдХрдбрд╝реЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдмрд╛рдж рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдХрд┐рдП рдЧрдП рдЕрдкрдбреЗрдЯ рдХреЛ рдЫреЛрдбрд╝рдХрд░ред рдпрджрд┐ рдЖрдк рдкреНрд░рд╢реНрдиреЛрдВ рдФрд░ рдЕрдиреНрдп рдкреНрд░рджрд░реНрд╢рди рдкрд░реАрдХреНрд╖рдг рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХреНрд▓реЛрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рдмрд┐рдЬрд▓реА рд░реЗрдЯрд┐рдВрдЧ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИрдВ, рддреЛ рдпреЗ рдЙрджрд╛рд╣рд░рдг рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдкрд░реАрдХреНрд╖рд┐рдд рд╕реЗрд╡рд╛рдиреА рдиреЗ
рдЗрд╕ рдкреНрд░рдХрд╛рд╢рди рдореЗрдВ рд╕реАрдорд╛рдУрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рдФрд░ рдПрдХ рдЕрд╕реНрдерд╛рдпреА рд╕рдорд╛рдзрд╛рди рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ - рдХреНрд▓реЛрди рдмрдирд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЖрдкрдХреЛ рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрдирд╛рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рдЬреЛ DBCC SHOW_STATISTICS рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреА рд╣реИ ... рдкреНрд░рддреНрдпреЗрдХ рд╡рд╕реНрддреБ рдХреЗ рд▓рд┐рдП STATS_STREAM рдХреЗ рд╕рд╛рдеред рдпрд╣ рдорд╣рдВрдЧрд╛ рд╣реИ рдФрд░ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреВрд▓рдирд╛ рдЖрд╕рд╛рди рд╣реИред
SQL рд╕рд░реНрд╡рд░ 2019 рдореЗрдВ, рдпреЗ рдЕрдкрдбреЗрдЯ рдХрд┐рдП рдЧрдП рдЖрдБрдХрдбрд╝реЗ рдХреНрд▓реЛрди рдореЗрдВ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЙрдкрд▓рдмреНрдз рд╣реЛрдВрдЧреЗ, рдЬрд┐рд╕рд╕реЗ рдЖрдк рд╡рд┐рднрд┐рдиреНрди рдХреНрд╡реЗрд░реА рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╕рднреА рдЖрдБрдХрдбрд╝реЛрдВ рдХреЗ рд▓рд┐рдП рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ STATS_STREAM рдХреЛ рдЪрд▓рд╛рдП рдмрд┐рдирд╛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЖрдВрдХрдбрд╝реЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЙрджреНрджреЗрд╢реНрдп рдпреЛрдЬрдирд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд╕реНрддрдВрдн рднрдВрдбрд╛рд░рдг рдХреЗ рд▓рд┐рдП рд╕рдВрдкреАрдбрд╝рди рдкреВрд░реНрд╡рд╛рдиреБрдорд╛рди
рд╡рд░реНрддрдорд╛рди рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ, sys.sp_estimate_data_compression_savings рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЬрд╛рдВрдЪ рд╣реИ:
if (@data_compression not in ('NONE', 'ROW', 'PAGE'))
рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдпрд╣ рдЖрдкрдХреЛ рдПрдХ рдкрдВрдХреНрддрд┐ рдпрд╛ рдкреГрд╖реНрда рдХреЗ рд╕рдВрдкреАрдбрд╝рди рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ (рдпрд╛ рд╡рд░реНрддрдорд╛рди рд╕рдВрдкреАрдбрд╝рди рдХреЛ рд╣рдЯрд╛рдиреЗ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рджреЗрдЦреЗрдВ)ред SQL Server 2019 рдореЗрдВ, рдпрд╣ рдЪреЗрдХ рдЕрдм рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
if (@data_compression not in ('NONE', 'ROW', 'PAGE', 'COLUMNSTORE', 'COLUMNSTORE_ARCHIVE'))
рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫреА рдЦрдмрд░ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЖрдкрдХреЛ рдХрд┐рд╕реА рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдПрдХ рд╕реНрддрдВрдн рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдкреНрд░рднрд╛рд╡ рдХреА рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдпрд╛ рддрд╛рд▓рд┐рдХрд╛ рдпрд╛ рд╡рд┐рднрд╛рдЬрди рдХреЛ рдФрд░ рднреА рдЕрдзрд┐рдХ рд╕рдВрдХреБрдЪрд┐рдд рд╕реНрддрдВрдн рднрдВрдбрд╛рд░рдг рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдмрд┐рдирд╛ рддрд╛рд▓рд┐рдХрд╛ рдХреЛ рдХрд┐рд╕реА рдЕрдиреНрдп рдкреНрд░рдгрд╛рд▓реА рдореЗрдВ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдП рдмрд┐рдирд╛ред рдореЗрд░реЗ рдкрд╛рд╕ 10 рдорд┐рд▓рд┐рдпрди рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рдереА, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдореИрдВрдиреЗ рдкреНрд░рддреНрдпреЗрдХ рдкрд╛рдВрдЪ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдВрдЧреНрд░рд╣реАрдд рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд┐рдпрд╛:
EXEC sys.sp_estimate_data_compression_savings @schema_name = N'dbo', @object_name = N'FactTable', @index_id = NULL, @partition_number = NULL, @data_compression = N'NONE';
рдкрд░рд┐рдгрд╛рдо:

рдЕрдиреНрдп рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рдВрдкреАрдбрд╝рди рдХреЗ рд╕рд╛рде, рд╕рдЯреАрдХрддрд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЙрдкрд▓рдмреНрдз рдкрдВрдХреНрддрд┐рдпреЛрдВ рдФрд░ рдмрд╛рдХреА рдбреЗрдЯрд╛ рдХреА рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХреНрд╖рдорддрд╛ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреА рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рдПрдХ рдмрд╣реБрдд рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рддрд░реАрдХрд╛ рд╣реИ рдЬреЛ рдмрд╣реБрдд рдХрдард┐рдирд╛рдИ рдХреЗ рдмрд┐рдирд╛ рдЕрдиреБрдорд╛рдирд┐рдд рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред
рдкреГрд╖реНрда рдХреА рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирдИ рд╕реБрд╡рд┐рдзрд╛
рдПрдХ рд▓рдВрдмреЗ рд╕рдордп рдХреЗ рд▓рд┐рдП, DBCC рдкреГрд╖реНрда рдФрд░ DBCC IND рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдиреБрднрд╛рдЧ, рд╕реВрдЪрдХрд╛рдВрдХ, рдпрд╛ рддрд╛рд▓рд┐рдХрд╛ рд╡рд╛рд▓реЗ рдкреГрд╖реНрдареЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдПрдХрддреНрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд▓реЗрдХрд┐рди рд╡реЗ рдЕрдирд┐рд░реНрджрд┐рд╖реНрдЯ рдФрд░ рдЕрд╕рдорд░реНрдерд┐рдд рд╣реИрдВ, рдФрд░ рдпрд╣ рдХрдИ рдЕрдиреБрдХреНрд░рдорд┐рдд рдпрд╛ рдкреГрд╖реНрдареЛрдВ рд╕реЗ рдЬреБрдбрд╝реЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕рдорд╛рдзрд╛рди рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдердХрд╛рдК рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рдмрд╛рдж рдореЗрдВ, рдПрдХ рдЧрддрд┐рд╢реАрд▓ рдкреНрд░рд╢рд╛рд╕рдирд┐рдХ рдлрд╝рдВрдХреНрд╢рди (DMF) sysinos_db_database_page_allocations рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛, рдЬреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рд╕рднреА рдкреГрд╖реНрдареЛрдВ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдПрдХ рд╕реЗрдЯ рджреЗрддрд╛ рд╣реИред рдЕрднреА рднреА рдЕрдирд┐рд░реНрджрд┐рд╖реНрдЯ рдФрд░ рдЦрд╛рдорд┐рдпрд╛рдВ рд╣реИрдВ рдЬреЛ рдмрдбрд╝реА рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдкрд░ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдорд╕реНрдпрд╛ рдмрди рд╕рдХрддреА рд╣реИрдВ: рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдПрдХ рдкреГрд╖реНрда рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЗрд╕реЗ рдкреВрд░реА рд╕рдВрд░рдЪрдирд╛ рдХреЛ рдкрдврд╝рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬреЛ рдХрд╛рдлреА рдорд╣рдВрдЧрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
SQL Server 2019 рдореЗрдВ, рдПрдХ рдФрд░ DMF рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛ рд╣реИ - sysinos_db_page_infoред рдпрд╣ рдореВрд▓ рд░реВрдк рд╕реЗ DMF рд╡рд┐рддрд░рдг рдХреЗ рдУрд╡рд░рд╣реЗрдб рдХреЗ рдмрд┐рдирд╛, рд╕рднреА рдкреГрд╖реНрда рдЬрд╛рдирдХрд╛рд░реА рд▓реМрдЯрд╛рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╡рд░реНрддрдорд╛рди рдмрд┐рд▓реНрдб рдореЗрдВ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЙрд╕ рдкреГрд╖реНрда рдХреА рд╕рдВрдЦреНрдпрд╛ рдЬрд╛рдирдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВред рд╢рд╛рдпрдж рдпрд╣ рдХрджрдо рдЬрд╛рдирдмреВрдЭрдХрд░ рдЙрдард╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдкреНрд░рджрд░реНрд╢рди рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рддрд░реАрдХрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдЖрдк рдХрд┐рд╕реА рдЗрдВрдбреЗрдХреНрд╕ рдпрд╛ рдЯреЗрдмрд▓ рдХреЗ рд╕рднреА рдкреЗрдЬреЛрдВ рдХреЛ рдкрд╣рдЪрд╛рдирдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдЕрднреА рднреА рдбреАрдПрдордПрдл рд╡рд┐рддрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЕрдЧрд▓реЗ рд▓реЗрдЦ рдореЗрдВ рдореИрдВ рдЗрд╕ рдкреНрд░рд╢реНрди рдХрд╛ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд░реНрдгрди рдХрд░реВрдВрдЧрд╛ред
рд╕реБрд░рдХреНрд╖рд╛
рдПрдХ рд╕реБрд░рдХреНрд╖рд┐рдд рд╡рд╛рддрд╛рд╡рд░рдг (рдПрдиреНрдХреНрд▓реЗрд╡) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕реНрдерд╛рдпреА рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди
рдлрд┐рд▓рд╣рд╛рд▓, рд╕реНрдерд╛рдпреА рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдЯреНрд░рд╛рдВрд╕рдорд┐рд╢рди рдХреЗ рджреМрд░рд╛рди рдФрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдЫреЛрд░ рдкрд░ рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди / рдбрд┐рдХреНрд░рд┐рдкреНрд╢рди рджреНрд╡рд╛рд░рд╛ рдореЗрдореЛрд░реА рдХреЗ рджреМрд░рд╛рди рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рдбреЗрдЯрд╛ рдХреА рд╕реБрд░рдХреНрд╖рд╛ рдХрд░рддрд╛ рд╣реИред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдпрд╣ рдЕрдХреНрд╕рд░ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рдЧрдВрднреАрд░ рд╕реАрдорд╛рдУрдВ рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ рдЧрдгрдирд╛ рдФрд░ рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрдерддрд╛, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рдПрдХ рд╕реАрдорд╛ рдЦреЛрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд▓рд╛рдЗрдВрдЯ рдбреЗрдЯрд╛ рдХреЛ рдкреНрд░рджрд░реНрд╢рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрдкреВрд░реНрдг рдбреЗрдЯрд╛ рдЯреНрд░рд╛рдВрд╕рдлрд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
рдПрдХ рд╕реБрд░рдХреНрд╖рд┐рдд рд╡рд╛рддрд╛рд╡рд░рдг (рдПрдиреНрдХреНрд▓реЗрд╡) рдореЗрдореЛрд░реА рдХрд╛ рдПрдХ рд╕рдВрд░рдХреНрд╖рд┐рдд рдХреНрд╖реЗрддреНрд░ рд╣реИ рдЬрд╣рд╛рдВ рдЗрд╕ рддрд░рд╣ рдХреА рд╕рдВрдЧрдгрдирд╛ рдФрд░ рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рдХреЛ рдкреНрд░рддреНрдпрд╛рдпреЛрдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рд╡рд┐рдВрдбреЛрдЬрд╝
рд╡рд░реНрдЪреБрдЕрд▓рд╛рдЗрдЬреЗрд╢рди-рдЖрдзрд╛рд░рд┐рдд рд╕реБрд░рдХреНрд╖рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ) - рдбреЗрдЯрд╛ рдХрд░реНрдиреЗрд▓ рдореЗрдВ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рд░рд╣рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕реБрд░рдХреНрд╖рд┐рдд рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдбрд┐рдХреНрд░рд┐рдкреНрдЯ рдпрд╛ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЖрдкрдХреЛ рдХреЗрд╡рд▓ SSMS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рд╛рдердорд┐рдХ рдХреБрдВрдЬреА рдореЗрдВ ENCLAVE_COMPUTATIONS рдкреИрд░рд╛рдореАрдЯрд░ рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, "рд╕реБрд░рдХреНрд╖рд┐рдд рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдЧрдгрдирд╛ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдВ" рдмреЙрдХреНрд╕ рдЪреЗрдХ рдХрд░рдХреЗ:

рдЕрдм рдЖрдк рдкреБрд░рд╛рдиреЗ рддрд░реАрдХреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ (рдЬрд┐рд╕рдореЗрдВ рд╡рд┐рдЬрд╝рд╛рд░реНрдб, рд╕реЗрдЯ- SqlColumnEncyption cmdlet рдпрд╛ рдЖрдкрдХреЗ рдЖрд╡реЗрджрди рдХреА рддреБрд▓рдирд╛ рдореЗрдВ, рд▓рдЧрднрдЧ рддреБрд░рдВрдд рдбреЗрдЯрд╛ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдкреВрд░реЗ рд╕реЗрдЯ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдЗрд╕реЗ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд░реЗрдВ, рдФрд░ рд╡рд╛рдкрд╕ рднреЗрдЬреЗрдВ):
ALTER TABLE dbo.Patients ALTER COLUMN SSN char(9)
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХрдИ рд╕рдВрдЧрдардиреЛрдВ рдХреЗ рд▓рд┐рдП рдпрд╣ рд╕реБрдзрд╛рд░ рдореБрдЦреНрдп рд╕рдорд╛рдЪрд╛рд░ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рд╡рд░реНрддрдорд╛рди рд╕реАрдЯреАрдкреА рдореЗрдВ рдЗрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдЙрдкрдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдореЗрдВ рдЕрднреА рднреА рд╕реБрдзрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЙрдиреНрд╣реЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди
рдпрд╣рд╛рдВ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдХреИрд╕реЗ рдЪрд╛рд▓реВ рдХрд┐рдпрд╛ рдЬрд╛рдПред
рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдкреНрд░рдмрдВрдзрдХ рдореЗрдВ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдкреНрд░рдмрдВрдзрди
рдПрд╕рдПрд╕рдПрд▓ рдФрд░ рдЯреАрдПрд▓рдПрд╕ рдкреНрд░рдорд╛рдгрдкрддреНрд░реЛрдВ рдХрд╛ рдкреНрд░рдмрдВрдзрди рд╣рдореЗрд╢рд╛ рдПрдХ рджрд░реНрдж рд░рд╣рд╛ рд╣реИ, рдФрд░ рдХрдИ рд▓реЛрдЧ рдЕрдкрдиреЗ рдЙрджреНрдпрдо рдкреНрд░рдорд╛рдгрдкрддреНрд░реЛрдВ рдХреЛ рддреИрдирд╛рдд рдХрд░рдиреЗ рдФрд░ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрдирд╛рдиреЗ рдХреЗ рдердХрд╛рдК рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рд╣реБрдП рд╣реИрдВред SQL Server 2019 рдХреЗ рд▓рд┐рдП рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореИрдиреЗрдЬрд░ рдЖрдкрдХреЛ рдХрд┐рд╕реА рднреА рдЙрджрд╛рд╣рд░рдг рдХреЗ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдХреЛ рдЬрд▓реНрджреА рд╕реЗ рджреЗрдЦрдиреЗ рдФрд░ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛, рдЬрд▓реНрдж рд╣реА рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдвреВрдВрдвреЗрдЧрд╛, рдФрд░ рдЙрдкрд▓рдмреНрдзрддрд╛ рд╕рдореВрд╣ рдореЗрдВ рд╕рднреА рдкреНрд░рддрд┐рдХреГрддрд┐ рдпрд╛ рд╡рд┐рдлрд▓рддрд╛ рдХреНрд▓рд╕реНрдЯрд░ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рд╕рднреА рдиреЛрдбреНрд╕ рдХреЛ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
рдореИрдВрдиреЗ рдЗрди рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рдХреА рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХреА рд╣реИ, рд▓реЗрдХрд┐рди рдпрджрд┐ рдкреНрд░рдмрдВрдзрди SQL рд╕рд░реНрд╡рд░ 2019 рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдкреНрд░рдмрдВрдзрдХ рд╕реЗ рдЖрддрд╛ рд╣реИ, рддреЛ рдЙрдиреНрд╣реЗрдВ SQL рд╕рд░реНрд╡рд░ рдХреЗ рдкрд┐рдЫрд▓реЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдбреЗрдЯрд╛ рд╡рд░реНрдЧреАрдХрд░рдг рдФрд░ рд▓реЗрдЦрд╛ рдкрд░реАрдХреНрд╖рд╛
SQL рд╕рд░реНрд╡рд░ рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдЯреАрдо рдиреЗ SSMS 17.5 рдореЗрдВ рдбреЗрдЯрд╛ рдХреЛ рд╡рд░реНрдЧреАрдХреГрдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЛ рдЬреЛрдбрд╝рд╛ рд╣реИ, рдЬреЛ рдЖрдкрдХреЛ рдХрд┐рд╕реА рднреА рдХреЙрд▓рдо рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рдЬрд╛рдирдХрд╛рд░реА рд╣реЛ рд╕рдХрддреА рд╣реИ рдпрд╛ рд╡рд┐рднрд┐рдиреНрди рдорд╛рдирдХреЛрдВ (HIPAA, SOX, PCI, рдФрд░ GDPR, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ) рдХрд╛ рдЦрдВрдбрди рдХрд░ рд╕рдХрддреА рд╣реИред рд╡рд┐рдЬрд╝рд╛рд░реНрдб рдПрдХ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рд╕реНрддрдВрдн рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдЬреЛ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рдХрд╛рд░рдг рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдк рд╕реВрдЪреА рд╕реЗ рдЗрди рд╕реНрддрдВрднреЛрдВ рдХреЛ рд╣рдЯрд╛рдХрд░ рдпрд╛ рддреЛ рдЕрдкрдирд╛ рд╡рд╛рдХреНрдп рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рдЕрдкрдирд╛ рд╕реНрд╡рдпрдВ рдХрд╛ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред рд╡рд░реНрдЧреАрдХрд░рдг рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЙрдиреНрдирдд рдЧреБрдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ; рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд SSMS рд░рд┐рдкреЛрд░реНрдЯ рдЕрдкрдиреЗ рдбреЗрдЯрд╛ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИред рд░рд┐рдкреЛрд░реНрдЯ рдХреЗ рдмрд╛рд╣рд░, рдпреЗ рдЧреБрдг рдЗрддрдиреЗ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИрдВред
SQL рд╕рд░реНрд╡рд░ 2019 рдиреЗ рдЗрд╕ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рдмрдпрд╛рди рдкреЗрд╢ рдХрд┐рдпрд╛, рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА Azure SQL рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИ, рдФрд░ рдЗрд╕реЗ ADD SENSITIVITY CLASSIFICATION рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдЖрдкрдХреЛ SSMS рдореЗрдВ рд╡рд┐рдЬрд╝рд╛рд░реНрдб рдХреЗ рд╕рдорд╛рди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЬрд╛рдирдХрд╛рд░реА рдЕрдм рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рд╕рдВрдкрддреНрддрд┐ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдирд╣реАрдВ рдХреА рдЬрд╛рддреА рд╣реИ, рдФрд░ рдЗрд╕ рдбреЗрдЯрд╛ рддрдХ рдХрд┐рд╕реА рднреА рдПрдХреНрд╕реЗрд╕ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдСрдбрд┐рдЯ рдореЗрдВ рдПрдХ рдирдП XML рдХреЙрд▓рдо рдбреЗрдЯрд╛_рд╕реЗрдВрд╕реЗрдЯрд┐рд╡рд┐рдЯреА_рдЗрдирдлреЙрд░реНрдореЗрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдореЗрдВ рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреА рдЬрд╛рдирдХрд╛рд░реА рд╢рд╛рдорд┐рд▓ рд╣реИ рдЬреЛ рдСрдбрд┐рдЯ рдХреЗ рджреМрд░рд╛рди рдкреНрд░рднрд╛рд╡рд┐рдд рд╣реБрдИ рдереАред
рдПрдХ рддреНрд╡рд░рд┐рдд рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ, рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдмрд╛рд╣рд░реА рдареЗрдХреЗрджрд╛рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рд╣реИ:
CREATE TABLE dbo.Contractors ( FirstName sysname, LastName sysname, SSN char(9), HourlyRate decimal(6,2) );
рдЗрд╕ рддрд░рд╣ рдХреА рд╕рдВрд░рдЪрдирд╛ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рд╕рднреА рдЪрд╛рд░ рд╕реНрддрдВрдн рдпрд╛ рддреЛ рд░рд┐рд╕рд╛рд╡ рдХреЗ рд▓рд┐рдП рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рдХрдордЬреЛрд░ рд╣реИрдВ, рдпрд╛ рдХреЗрд╡рд▓ рд▓реЛрдЧреЛрдВ рдХреЗ рд╕реАрдорд┐рдд рджрд╛рдпрд░реЗ рдореЗрдВ рд╣реА рд╕реБрд▓рдн рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣рд╛рдВ рдЖрдк рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХрдо рд╕реЗ рдХрдо рдЖрдкрдХреЛ рдЙрди рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╣рдо рдЗрди рд╕реНрддрдВрднреЛрдВ рдХреЛ рд╡рд┐рднрд┐рдиреНрди рддрд░реАрдХреЛрдВ рд╕реЗ рд╡рд░реНрдЧреАрдХреГрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
ADD SENSITIVITY CLASSIFICATION TO dbo.Contractors.FirstName, dbo.Contractors.LastName WITH (LABEL = 'Confidential ├втВмтАЬ GDPR', INFORMATION_TYPE = 'Personal Info'); ADD SENSITIVITY CLASSIFICATION TO dbo.Contractors.SSN WITH (LABEL = 'Highly Confidential', INFORMATION_TYPE = 'National ID'); ADD SENSITIVITY CLASSIFICATION TO dbo.Contractors.HourlyRate WITH (LABEL = 'Highly Confidential', INFORMATION_TYPE = 'Financial');
рдЕрдм, sys.extended_properties рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдЖрдк рдЙрдиреНрд╣реЗрдВ sys.sunning_classifications рдореЗрдВ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ:

рдФрд░ рдЕрдЧрд░ рд╣рдо рдЗрд╕ рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рд▓рд┐рдП рдСрдбрд┐рдЯ рд╕реИрдВрдкрд▓рд┐рдВрдЧ (рдпрд╛ рдбреАрдПрдордПрд▓) рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдХреБрдЫ рднреА рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ; рд╡рд░реНрдЧреАрдХрд░рдг рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рдж,
SELECT *
рдСрдбрд┐рдЯ рдореЗрдВ рд░рд┐рдХреЙрд░реНрдб рдХрд░реЗрдЧрд╛ рдПрдХ рдирдП рдХреЙрд▓рдо рдбреЗрдЯрд╛_рд╕реЗрдВрд╕рд┐рдЯрд┐рд╡рд┐рдЯреА рдлрд╛рдЗрд▓ рдореЗрдВ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреА рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рд░рд┐рдХреЙрд░реНрдб рд▓реЙрдЧ рдЗрди рдХрд░реЗрдВ:
<sensitivity_attributes> <sensitivity_attribute label="Confidential - GDPR" information_type="Personal Info" /> <sensitivity_attribute label="Highly Confidential" information_type="National ID" /> <sensitivity_attribute label="Highly Confidential" information_type="Financial" /> </sensitivity_attributes>
рдмреЗрд╢рдХ, рдпрд╣ рдорд╛рдирдХреЛрдВ рдХреЗ рдЕрдиреБрдкрд╛рд▓рди рдХреЗ рд╕рднреА рдореБрджреНрджреЛрдВ рдХреЛ рд╣рд▓ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд▓рд╛рдн рджреЗ рд╕рдХрддрд╛ рд╣реИред рд╡рд┐рдЬрд╝рд╛рд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╕реНрддрдВрднреЛрдВ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдирд╛ рдФрд░ AD_ рд╕реЗрдВрд╕реЗрдЯрд┐рд╡рд┐рдЯреА рдХреНрд▓рд╛рд╕ рдХрдорд╛рдВрдб рдореЗрдВ sp_addextendedproperty рдХреЙрд▓ рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдХрд░рдирд╛ рдорд╛рдирдХреЛрдВ рдХреЗ рдЕрдиреБрдкрд╛рд▓рди рдХреЗ рдХрд╛рд░реНрдп рдХреЛ рд╕рд░рд▓ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдмрд╛рдж рдореЗрдВ, рдореИрдВ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдЕрд▓рдЧ рд▓реЗрдЦ рд▓рд┐рдЦреВрдВрдЧрд╛ред
рдЖрдк рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдореЗрдВ рд▓реЗрдмрд▓ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг (рдпрд╛ рдЕрдкрдбреЗрдЯ) рдХреЛ рднреА рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ - рдПрдХ рдЧрддрд┐рд╢реАрд▓ рдПрд╕рдХреНрдпреВрдПрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдЬреЛ рд╕рднреА рдЧреЛрдкрдиреАрдп (рдЬреАрдбреАрдкреАрдЖрд░) рдХреЙрд▓рдо рддрдХ рдкрд╣реБрдВрдЪ рдХреЛ рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдЖрдкрдХреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ, рд╕рдореВрд╣реЛрдВ рдпрд╛ рд░реЛрд▓реНрд╕рдм рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред рдореИрдВ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдХрд╛рдо рдХрд░реВрдВрдЧрд╛ред
рдЙрдкрд▓рдмреНрдзрддрд╛
рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдЕрдХреНрд╖рдп рд╕реВрдЪрдХрд╛рдВрдХ рдирд┐рд░реНрдорд╛рдг
SQL рд╕рд░реНрд╡рд░ 2017 рдореЗрдВ, рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдореЗрдВ рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ рдХреЗ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХреЛ рдирд┐рд▓рдВрдмрд┐рдд рдХрд░рдирд╛ рдФрд░ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЧрдпрд╛, рдЬреЛ рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдпрджрд┐ рдЖрдкрдХреЛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рд╡рд┐рдлрд▓рддрд╛ рдХреЗ рдмрд╛рдж рдирд┐рд▓рдВрдмрди рдХреЗ рдХреНрд╖рдг рд╕реЗ рдЬрд╛рд░реА рд░рдЦреЗрдВ, рдпрд╛ рдмрд╕ рд╕реЗрд╡рд╛ рдЦрд┐рдбрд╝рдХрд┐рдпреЛрдВ рдХреЗ рдмреАрдЪ рдХреА рдЦрд╛рдИ рдХреЛ рдкрд╛рдЯ рджреЗрдВред рдореИрдВрдиреЗ
рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦ рдореЗрдВ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХреА рдереАред
SQL рд╕рд░реНрд╡рд░ 2019 рдореЗрдВ, рдЖрдк рд░реАрдпрд▓-рдЯрд╛рдЗрдо рдЗрдВрдбреЗрдХреНрд╕ рдмрдирд╛рдиреЗ, рд░реЛрдХрдиреЗ рдФрд░ рдЬрд╛рд░реА рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдирд┐рд╖реНрдкрд╛рджрди рд╕рдордп рдХреЛ рднреА рд╕реАрдорд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдард╣рд░рд╛рд╡ рдХрд╛ рд╕рдордп рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреЗ рд╣реБрдП):
CREATE INDEX foo ON dbo.bar(blat) WITH (ONLINE = ON, RESUMABLE = ON, MAX_DURATION = 10 MINUTES);
рдпрджрд┐ рдпрд╣ рдХреНрд╡реЗрд░реА рдмрд╣реБрдд рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдХрд╛рдо рдХрд░рддреА рд╣реИ, рддреЛ рд╡рд┐рд░рд╛рдо рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдЕрдиреНрдп рд╕рддреНрд░ рдореЗрдВ ALTER INDEX рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ (рднрд▓реЗ рд╣реА рд╕реВрдЪрдХрд╛рдВрдХ рдЕрднреА рддрдХ рднреМрддрд┐рдХ рд░реВрдк рд╕реЗ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ):
ALTER INDEX foo ON dbo.bar PAUSE;
рд╡рд░реНрддрдорд╛рди рдмрд┐рд▓реНрдб рдореЗрдВ, рдирд╡реАрдиреАрдХрд░рдг рдХреЗ рджреМрд░рд╛рди рд╕рдорд╛рдирддрд╛ рдХреА рдбрд┐рдЧреНрд░реА рдХреЛ рдХрдо рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рд╣реИред рдЬрдм рдбреАрдУрдкреА рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдЬрд╛ рд░рд╣реА рд╣реИ:
ALTER INDEX foo ON dbo.bar RESUME WITH (MAXDOP = 2);
рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ:
Msg 10666, Level 16, State 1, Line 3 Cannot resume index build as required DOP 4 (DOP operation was started with) is not available. Please ensure sufficient DOP is available or abort existing index operation and try again. The statement has been terminated.
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрджрд┐ рдЖрдк рдРрд╕рд╛ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рдЕрддрд┐рд░рд┐рдХреНрдд рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдмрд┐рдирд╛ рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдХрдо рд╕реЗ рдХрдо рд╡рд░реНрддрдорд╛рди рдмрд┐рд▓реНрдб рдкрд░ рд╕рдорд╛рди рддреНрд░реБрдЯрд┐ рдорд┐рд▓реЗрдЧреАред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдирд╡реАрдиреАрдХрд░рдг рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд╣реАрдВ рджрд░реНрдЬ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рд╕рд┐рд╕реНрдЯрдо рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред рдЬрд╛рд░реА рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд╕рд╣реА (рдпрд╛ рдЕрдзрд┐рдХ) DOP рдорд╛рди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛:
ALTER INDEX foo ON dbo.bar RESUME WITH (MAXDOP = 4);
рдЗрд╕реЗ рд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП: рдЖрдк рд░реБрдХреЗ рд╣реБрдП рд╕реВрдЪрдХрд╛рдВрдХ рдирд┐рд░реНрдорд╛рдг рдХреЛ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реБрдП рдбреАрдУрдкреА рдмрдврд╝рд╛ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдХрдо рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред
рдЗрди рд╕рдмрдХрд╛ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рд▓рд╛рдн рдпрд╣ рд╣реИ рдХрд┐ рдЖрдк рдирдП рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд▓рд┐рдП ELEVATE_ONLINE рдФрд░ ELEVATE_RESUMABLE рдХреНрд▓реЙрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдореЛрдб рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдореЗрдВ рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдФрд░ / рдпрд╛ рдирд╡реАрдиреАрдХрд░рдг рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдирд┐рд░реНрдорд╛рдг / рдХреНрд▓рд╕реНрдЯрд░ рдХрд┐рдП рдЧрдП рд╕реНрддрдВрдн рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ рдХрд╛ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг
рдЕрдХреНрд╖рдп рд╕реВрдЪрдХрд╛рдВрдХ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рдореЗрдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдореЗрдВ рдХреНрд▓рд╕реНрдЯрд░ рдХрд┐рдП рдЧрдП рдХреЙрд▓рдо рдЗрдВрдбреЗрдХреНрд╕ рдмрдирд╛рдиреЗ рдпрд╛ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХрд░рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рднреА рдорд┐рд▓рддрд╛ рд╣реИред рдпрд╣ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрджрд▓рд╛рд╡ рд╣реИ, рдЬреЛ рдЖрдкрдХреЛ рдРрд╕реЗ рд╕реВрдЪрдХрд╛рдВрдХреЛрдВ рдХреЗ рд░рдЦрд░рдЦрд╛рд╡ рдкрд░ рд╕реЗрд╡рд╛ рдЦрд┐рдбрд╝рдХрд┐рдпреЛрдВ рдХреЗ рд╕рдордп рдХреЛ рдЦрд░реНрдЪ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ (рдпрд╛ рдЕрдзрд┐рдХ рдирд┐рд╢реНрдЪрд┐рддрддрд╛ рдХреЗ рд▓рд┐рдП) рдкрдВрдХреНрддрд┐-рдЖрдзрд╛рд░рд┐рдд рд╕реЗ рдХреЙрд▓рдо-рд╡рд╛рд░ рдХреЛ рд╕реВрдЪрдХрд╛рдВрдХреЛрдВ рдХреЛ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ:
CREATE TABLE dbo.splunge ( id int NOT NULL ); GO CREATE UNIQUE CLUSTERED INDEX PK_Splunge ON dbo.splunge(id); GO CREATE CLUSTERED COLUMNSTORE INDEX PK_Splunge ON dbo.splunge WITH (DROP_EXISTING = ON, ONLINE = ON);
рдПрдХ рдЪреЗрддрд╛рд╡рдиреА: рдпрджрд┐ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдореЗрдВ рдПрдХ рдореМрдЬреВрджрд╛ рдкрд╛рд░рдВрдкрд░рд┐рдХ рдХреНрд▓рд╕реНрдЯрд░ рдЗрдВрдбреЗрдХреНрд╕ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рддреЛ рдПрдХ рдХреНрд▓рд╕реНрдЯрд░ рдХреЙрд▓рдо рдЗрдВрдбреЗрдХреНрд╕ рдореЗрдВ рдЗрд╕рдХрд╛ рд░реВрдкрд╛рдВрддрд░рдг рдХреЗрд╡рд▓ рдЗрд╕ рдореЛрдб рдореЗрдВ рднреА рд╕рдВрднрд╡ рд╣реИред рдпрджрд┐ рдпрд╣ рдкреНрд░рд╛рдердорд┐рдХ рдХреБрдВрдЬреА рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ, рддреЛ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдпрд╛ рдирд╣реАрдВ ... CREATE TABLE dbo.splunge ( id int NOT NULL CONSTRAINT PK_Splunge PRIMARY KEY CLUSTERED (id) ); GO
рд╣рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИ: Msg 1907, Level 16 Cannot recreate index 'PK_Splunge'. The new index definition does not match the constraint being enforced by the existing index.
рдЖрдкрдХреЛ рдкрд╣рд▓реЗ рдЗрд╕реЗ рдПрдХ рд╕реНрддрдВрднрд┐рдд рд╕реНрддрдВрдн рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ рдореЗрдВ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╛рдзрд╛ рдХреЛ рджреВрд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдЗрди рджреЛрдиреЛрдВ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: ALTER TABLE dbo.splunge DROP CONSTRAINT PK_Splunge WITH (ONLINE = ON); GO CREATE CLUSTERED COLUMNSTORE INDEX PK_Splunge ON dbo.splunge WITH (ONLINE = ON);
рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдмрдбрд╝реА рдореЗрдЬ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рд╕рдордп рд▓рдЧрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдЕрдЧрд░ рдкреНрд░рд╛рдердорд┐рдХ рдХреБрдВрдЬреА рдХреЛ рдПрдХ рдЕрджреНрд╡рд┐рддреАрдп рдХреНрд▓рд╕реНрдЯрд░ рдЗрдВрдбреЗрдХреНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдореИрдВ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдХрд╣ рд╕рдХрддрд╛ рдХрд┐ рдпрд╣ рдПрдХ рдЬрд╛рдирдмреВрдЭрдХрд░ рдкреНрд░рддрд┐рдмрдВрдз рд╣реИ рдпрд╛ рдХреЗрд╡рд▓ рд╡рд░реНрддрдорд╛рди CTP рдХреА рдПрдХ рд╕реАрдорд╛ рд╣реИредрдПрдХ рдорд╛рдзреНрдпрдорд┐рдХ рд╕рд░реНрд╡рд░ рд╕реЗ рдПрдХ рдкреНрд░рд╛рдердорд┐рдХ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рддрд┐рдХреГрддрд┐ рдХрдиреЗрдХреНрд╢рди рдХреЛ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░рдирд╛
рдпрд╣ рдлрд╝рдВрдХреНрд╢рди рдЖрдкрдХреЛ рд╕реБрдирдиреЗ рдХреЗ рдмрд┐рдирд╛ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рди рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдк рдХрдиреЗрдХреНрд╢рди рдХреЛ рдкреНрд░рд╛рдердорд┐рдХ рд╕рд░реНрд╡рд░ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рднрд▓реЗ рд╣реА рдорд╛рдзреНрдпрдорд┐рдХ рд╕реАрдзреЗ рдХрдиреЗрдХреНрд╢рди рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╣реЛред рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рддрдм рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬрдм рдХреНрд▓рд╕реНрдЯрд░рд┐рдВрдЧ рддрдХрдиреАрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕реБрдирдиреЗ рдореЗрдВ рд╕рд╣рд╛рдпрддрд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЬрдм рдмрд┐рдирд╛ рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рдПрдЬреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдпрд╛ рдЬрдм рдХрдИ рд╕рдмрдиреЗрдЯ рдХреЗ рд╕рд╛рде рдкрд░рд┐рджреГрд╢реНрдп рдореЗрдВ рдПрдХ рдЬрдЯрд┐рд▓ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рди рдпреЛрдЬрдирд╛ рд╣реЛрддреА рд╣реИред рдпрд╣ рдХрдиреЗрдХреНрд╢рди рдХреЛ рд░реЛрдХ рджреЗрдЧрд╛, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд░реАрдб-рдУрдирд▓реА рдореЛрдб рдореЗрдВ рдкреНрд░рддрд┐рдХреГрддрд┐ рдХреЗ рд▓рд┐рдП рдСрдкрд░реЗрд╢рди рд▓рд┐рдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реИ (рдФрд░ рдХреНрд░рдорд╢рдГ рд╡рд┐рдлрд▓)редрдбрд┐рдЬрд╝рд╛рдЗрди
рдЧреНрд░рд╛рдл рдХреА рдЕрддрд┐рд░рд┐рдХреНрдд рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ
рдЧреНрд░рд╛рдл рд╕рдВрдмрдВрдз рдЕрдм MERGE рд╡рд┐рдзреЗрдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдиреЛрдб рдпрд╛ рд╕реАрдорд╛ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЗ рд▓рд┐рдП MERGE рдХрдерди рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ; рдЕрдм рдПрдХ рдСрдкрд░реЗрдЯрд░ рдПрдХ рдореМрдЬреВрджрд╛ рдмрдврд╝рдд рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рдПрдХ рдирдпрд╛ рдбрд╛рд▓ рд╕рдХрддрд╛ рд╣реИред рдирдпрд╛ рдПрдЬ рдкреНрд░рддрд┐рдмрдВрдз рдЖрдкрдХреЛ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдХрд┐ рдХрд┐рди рдХрд┐рди рдиреЛрдбреНрд╕ рдХреЛ рдХрдиреЗрдХреНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВредUTF-8
SQL Server 2012 рдореЗрдВ рдпреВрдирд┐рдХреНрд╕ -16 рдФрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рд╡рд░реНрдгреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛, рдЬреИрд╕реЗ рдХрд┐ рдкреНрд░рддреНрдпрдп _SC рдХреЗ рд╕рд╛рде рдПрдХ рдирд╛рдо рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдХреЗ, рдЬреИрд╕реЗ рдХрд┐ рдпреВрдиреАрдХреЛрдб тАЛтАЛрдХреЙрд▓рдо (nchar / ncharchar) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓реИрдЯрд┐рди 1_General_100_CI_AI_SCред SQL Server 2017 рдореЗрдВ, рдЖрдк BCP рдФрд░ BULK INSERT рдЬреИрд╕реЗ рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрди рд╕реНрддрдВрднреЛрдВ рд╕реЗ UTF-8 рдбреЗрдЯрд╛ рдЖрдпрд╛рдд рдФрд░ рдирд┐рд░реНрдпрд╛рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ редSQL рд╕рд░реНрд╡рд░ 2019 рдореЗрдВ, рдЕрдкрдиреЗ рдореВрд▓ рд░реВрдк рдореЗрдВ UTF-8 рдбреЗрдЯрд╛ рдХреА рдЬрдмрд░рди рдЕрд╡рдзрд╛рд░рдг рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирдП рдХреЛрд▓рд╛рдЬрд╝ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВред рдЗрд╕рд▓рд┐рдП рдЖрдк рдЖрд╕рд╛рдиреА рд╕реЗ char рдпрд╛ varchar рдХрд╛рд▓рдо рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ UTF-8 рдбреЗрдЯрд╛ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдкреНрд░рддреНрдпрдп _SC_UTF8 рдХреЗ рд╕рд╛рде рд▓реЗрдЯрд┐рди 1_General_100_CI_SC_UT_8 рдЬреИрд╕реЗ рдкреНрд░рддреНрдпрдп рдХреЗ рд╕рд╛рде рдкреНрд░рдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдФрд░ рднрдВрдбрд╛рд░рдг nvarchar рдХреА рд▓рд╛рдЧрдд рдХреЗ рдмрд┐рдирд╛, рдмрд╛рд╣рд░реА рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдФрд░ DBMS рдХреЗ рд╕рд╛рде рд╕рдВрдЧрддрддрд╛ рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИредрдИрд╕реНрдЯрд░ рдЕрдВрдбрд╛ рдореБрдЭреЗ рдорд┐рд▓рд╛
рдЬрд╣рд╛рдБ рддрдХ рдореБрдЭреЗ рдпрд╛рдж рд╣реИ, SQL рд╕рд░реНрд╡рд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрд╕ рдЕрд╕реНрдкрд╖реНрдЯ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╢рд┐рдХрд╛рдпрдд рдХрд░рддреЗ рд╣реИрдВ: Msg 8152 String or binary data would be truncated.
CTP рдмрд┐рд▓реНрдб рдореЗрдВ рдореИрдВрдиреЗ рдкреНрд░рдпреЛрдЧ рдХрд┐рдпрд╛, рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рджреЗрдЦрд╛ рдЧрдпрд╛ рдЬреЛ рдкрд╣рд▓реЗ рдирд╣реАрдВ рдерд╛: Msg 2628 String or binary data would be truncated in table '%.*ls', column '%.*ls'. Truncated value: '%.*ls'
рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣рд╛рдВ рдХрд┐рд╕реА рдФрд░ рдЪреАрдЬ рдХреА рдЬрд░реВрд░рдд рд╣реИ; рдпрд╣ рдПрдХ рдорд╣рд╛рди (рдпрджреНрдпрдкрд┐ рдмрд╣реБрдд рджреЗрд░ рд╕реЗ) рд╕реБрдзрд╛рд░ рд╣реИ, рдФрд░ рдХрдИ рдЦреБрд╢ рдХрд░рдиреЗ рдХрд╛ рд╡рд╛рджрд╛ рдХрд░рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрд╣ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ CTP 2.0 рдореЗрдВ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реЛрдЧреА; рдореИрдВ рдЖрдкрдХреЛ рдмрд╕ рдереЛрдбрд╝рд╛ рдЖрдЧреЗ рджреЗрдЦрдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рджреЗрддрд╛ рд╣реВрдВред рдмреНрд░реЗрдВрдЯ рдУрдЬрд░ рдиреЗ рд╡рд░реНрддрдорд╛рди рд╕реАрдЯреАрдкреА рдореЗрдВ рдкрд╛рдП рдЧрдП рд╕рднреА рдирдП рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд┐рдпрд╛ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЕрдкрдиреЗ sys.messages рд▓реЗрдЦ рдореЗрдВ рдХреБрдЫ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рд╕реАрдЬ рдХрд┐рдпрд╛: рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреА рдЦреЛрдЬ редрдирд┐рд╖реНрдХрд░реНрд╖
SQL рд╕рд░реНрд╡рд░ 2019 рдЕрдЪреНрдЫреА рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЗ рдкрд╕рдВрджреАрджрд╛ рд░рд┐рд▓реЗрд╢рдирд▓ рдбреЗрдЯрд╛рдмреЗрд╕ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛, рдФрд░ рдРрд╕реЗ рдХрдИ рдкрд░рд┐рд╡рд░реНрддрди рд╣реИрдВ рдЬрд┐рдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореИрдВрдиреЗ рдмрд╛рдд рдирд╣реАрдВ рдХреА рд╣реИред рдКрд░реНрдЬрд╛-рдХреБрд╢рд▓ рдореЗрдореЛрд░реА, рдорд╢реАрди рд╕реАрдЦрдиреЗ рдХреА рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдХреНрд▓рд╕реНрдЯрд░рд┐рдВрдЧ, рд▓рд┐рдирдХреНрд╕, рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕, рдУрд░реЗрдХрд▓ / рдЯреЗрд░рд╛рдбрд╛рдЯрд╛ / рдореЛрдВрдЧреЛрдбреАрдмреА рдкрд░ рдХрдиреЗрдХреНрдЯрд░реНрд╕ рдХреЗ рд▓рд┐рдП рд▓реЗрди-рджреЗрди рдФрд░ рд╡рд┐рддрд░рд┐рдд рд▓реЗрди-рджреЗрди, рддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдПрдЬреА рдкреНрд░рддрд┐рдХреГрддрд┐ рдЬрд╛рд╡рд╛ (рдкрд╛рдЗрдерди / рдЖрд░ рдХреЗ рд╕рдорд╛рди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди) рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдврд╝реА рд╣реИ рдФрд░, рдмрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг, рдПрдХ рдирдИ рдЫрд▓рд╛рдВрдЧ, рдмрд┐рдЧ рдбреЗрдЯрд╛ рдХреНрд▓рд╕реНрдЯрд░ рд╢реАрд░реНрд╖рдХред рдЗрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЗрд╕ рдИрдПрдкреА рдлреЙрд░реНрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрдВрдЬреАрдХрд░рдг рдХрд░рдирд╛ рд╣реЛрдЧрд╛ редрдмреЙрдм рд╡рд╛рд░реНрдб рдХреА рдЖрдЧрд╛рдореА рдкреБрд╕реНрддрдХ, рд▓рд┐рдирдХреНрд╕ рдкрд░ рдкреНрд░реЛ рдПрд╕рдХреНрдпреВрдПрд▓ рд╕рд░реНрд╡рд░ - рдбреЙрдХрдЯрд░ рдФрд░ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреЗ рд╕рд╛рде рдХрдВрдЯреЗрдирд░ рдЖрдзрд╛рд░рд┐рдд рддреИрдирд╛рддреА рд╕рд╣рд┐рдд, рдХрдИ рдЕрдиреНрдп рдЪреАрдЬреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рд╕реБрд░рд╛рдЧ рджреЗ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдЬрд▓реНрдж рд╣реА рдЖ рд░рд╣реЗ рд╣реИрдВред рдФрд░ рдмреНрд░реЗрдВрдЯ рдУрдЬрд░ рджреНрд╡рд╛рд░рд╛ рдпрд╣ рдкреНрд░рдХрд╛рд╢рди рдПрдХ рд╕реНрдХреЗрд▓рд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛-рдкрд░рд┐рднрд╛рд╖рд┐рдд рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рд╕рдВрднрд╛рд╡рд┐рдд рдЖрдЧрд╛рдореА рдлрд┐рдХреНрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддрд╛ рд╣реИредрд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЗрд╕ рдкрд╣рд▓реЗ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ CTP рдореЗрдВ рд▓рдЧрднрдЧ рд╕рднреА рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ, рдФрд░ рдореИрдВ рдЖрдкрд╕реЗ рдЦреБрдж рдЗрд╕реЗ рдЖрдЬрдорд╛рдиреЗ рдХрд╛ рдЖрдЧреНрд░рд╣ рдХрд░рддрд╛ рд╣реВрдВ!