рдбрд╛рдЙрдирдЯрд╛рдЗрдо рдХреЗ рдмрд┐рдирд╛ рд▓реЛрдб рдХрд┐рдП рдЧрдП рд╕рд┐рд╕реНрдЯрдо 24/7 рдкрд░ рдПрдХ рдЗрдВрдбреЗрдХреНрд╕ рдХреИрд╕реЗ рдЬреЛрдбрд╝реЗрдВ?

рджреЛрд╕реНрддреЛрдВ, рдЬрдирд╡рд░реА рдХреЗ рдЕрдВрдд рдореЗрдВ, рд╣рдо тАЬMS SQL Server Developer тАЭ рдирд╛рдордХ рдПрдХ рдирдпрд╛ рдкрд╛рдареНрдпрдХреНрд░рдо рд╢реБрд░реВ рдХрд░реЗрдВрдЧреЗред рдЗрд╕рдХреЗ рд▓реЙрдиреНрдЪ рдХреА рдкреНрд░рддреНрдпрд╛рд╢рд╛ рдореЗрдВ, рд╣рдордиреЗ рдкрд╛рдареНрдпрдХреНрд░рдо рд╢рд┐рдХреНрд╖рдХ рдХреНрд░рд┐рд╕реНрдЯреАрдирд╛ рдХреБрдЪрд░реЛрд╡рд╛ рдХреЛ рдПрдХ рд▓реЗрдЦрдХ рдХрд╛ рд▓реЗрдЦ рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ред рдпрд╣ рд▓реЗрдЦ рдЖрдкрдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ 24/7 рдкрд╣реБрдВрдЪ рдХреЗ рд╕рд╛рде рдареЗрд╕ рдкрд░ рдПрдХ рдмрд╣реБрдд рд▓реЛрдХрдкреНрд░рд┐рдп рддрд╛рд▓рд┐рдХрд╛ рд╣реИ рдФрд░ рдЕрдЪрд╛рдирдХ рдЖрдкрдХреЛ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рддрддреНрдХрд╛рд▓ рдПрдХ рд╕реВрдЪрдХрд╛рдВрдХ рдЬреЛрдбрд╝рдиреЗ рдФрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдХреБрдЫ рднреА рддреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред

рддреЛ рдХреНрдпрд╛ рдХрд░реЗрдВ? рдкрд╛рд░рдВрдкрд░рд┐рдХ рдХреНрд░рд┐рдПрдЯ рдЗрдВрдбреЗрдХреНрд╕ (ONLINE = ON) рд╡рд┐рдзрд┐ рдЖрдкрдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ рдЖрдкрдХреЗ DBA рдХреЗ рд╕рд┐рд╕реНрдЯрдо рдХреНрд░реИрд╢ рдФрд░ рджрд┐рд▓ рдХреЗ рджреМрд░реЗ рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИ, рд╕рднреА рдЯреЙрдкрд░реНрд╕ рдЖрдкрдХреЗ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рдордп рдХреА рдмрд╛рд░реАрдХреА рд╕реЗ рдирд┐рдЧрд░рд╛рдиреА рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЕрдЧрд░ рдпрд╣ рдмрдврд╝ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╡реЗ рдЖрдкрд╕реЗ рдФрд░ рдЖрдкрдХреЗ DBA рд╕реЗ рдмрд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрддреЗ рд╣реИрдВред рдХрд╛рдо рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдореБрдЖрд╡рдЬреЗ рдХреЗ overestimated рдЖрдВрдХрдбрд╝реЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВред

рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдФрд░ рд╡рд░реНрдгрд┐рдд рддрдХрдиреАрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдкреНрд░рддрд┐ рдорд┐рдирдЯ 400K рдЕрдиреБрд░реЛрдзреЛрдВ, SQL Server 2012 рдФрд░ 2016 (рдПрдВрдЯрд░рдкреНрд░рд╛рдЗрдЬрд╝) рдХреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

рдПрдХ рдЗрдВрдбреЗрдХреНрд╕ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рджреЛ рдмрд╣реБрдд рдЕрд▓рдЧ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╣реИрдВ, рдЬрд┐рдирдХрд╛ рдЙрдкрдпреЛрдЧ рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рдЖрдХрд╛рд░ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдХреЗрд╕ рдирдВрдмрд░ 1. рдПрдХ рдЫреЛрдЯреА рд▓реЗрдХрд┐рди рдмрд╣реБрдд рд▓реЛрдХрдкреНрд░рд┐рдп рддрд╛рд▓рд┐рдХрд╛


50 рд╣рдЬрд╛рд░ рд░рд┐рдХреЙрд░реНрдб (рдЫреЛрдЯреА) рдХреА рддрд╛рд▓рд┐рдХрд╛, рд▓реЗрдХрд┐рди рдмрд╣реБрдд рд▓реЛрдХрдкреНрд░рд┐рдп (рдкреНрд░рддрд┐ рдорд┐рдирдЯ рдХрдИ рд╣рдЬрд╛рд░ рд╣рд┐рдЯ)ред рдЖрдкрдХреЛ рдПрдХ рдирдпрд╛ рд╕реВрдЪрдХрд╛рдВрдХ рдФрд░ рдиреНрдпреВрдирддрдо рдбрд╛рдЙрдирдЯрд╛рдЗрдо рдФрд░ рдореЗрдЬ рдкрд░ рддрд╛рд▓реЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдЖрд╡реЗрджрди рдореЗрдВ, рдбреЗрдЯрд╛рдмреЗрд╕ рддрдХ рд╕рднреА рдкрд╣реБрдВрдЪ рдХреЗрд╡рд▓ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╣реИред

рдпрджрд┐ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рд╣реЛрддреА рд╣реИ, рддреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рддрд╛рд▓рд┐рдХрд╛ рдХреЛ рдПрдХреНрд╕реЗрд╕ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдЧрд╛ред



рдЗрд╕ рд╕реВрдЪрдХрд╛рдВрдХ рдХреЛ рд╕реАрдзреЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдореЗрдВ рдХреНрдпрд╛ рд╕рдорд╕реНрдпрд╛ рд╣реИ, рдЖрдк рдкреВрдЫреЗрдВ? ONLINE = ON (рд╣рд╛рдБ, рд╣рдо рднрд╛рдЧреНрдпрд╢рд╛рд▓реА рдереЗ, рдФрд░ рдпрд╣ рдПрдХ рдЙрджреНрдпрдо рдерд╛) рдХреЗ рд╕рд╛рде рд╡рд╛рдХреНрдп рдХреЗ рд╕рд╛рдеред

рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреЗ рд╕рдХреНрд░рд┐рдп рдЙрдкрдпреЛрдЧ рдХреЗ рд╕рд╛рде, рд▓реЙрдХ рд╣реЛрдиреЗ рдореЗрдВ рдХреБрдЫ рд╕рдордп рд▓рдЧрддрд╛ рд╣реИ (рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдиреНрдпреВрдирддрдо = рдЬреЛ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд╕рд╛рде рдСрдирд▓рд╛рдЗрди рдХреЗ рд╕рд╛рде рдЖрд╡рд╢реНрдпрдХ рд╣реИ)ред рдкреНрд░рддреАрдХреНрд╖рд╛ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ, рдирдП рдЕрдиреБрд░реЛрдз рдХрддрд╛рд░рдмрджреНрдз рд╣реЛ рд░рд╣реЗ рд╣реИрдВ, рдХрддрд╛рд░ рдЬрдорд╛ рд╣реЛ рд░рд╣реА рд╣реИ, рд╕реАрдкреАрдпреВ рдмрдврд╝ рд░рд╣рд╛ рд╣реИ, рдбреАрдмреАрдП рдкрд╕реАрдирд╛ рдЖ рд░рд╣рд╛ рд╣реИ рдФрд░ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреА рдУрд░ рдШрдмрд░рд╛рд╣рдЯ рдХрд░ рд░рд╣рд╛ рд╣реИ, рдЬрдмрдХрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ рдЧреНрд░рд╛рдлрд╝ рдкрд░ рдЖрдкрдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд╛ рд╕рдордп рд╕реБрдЪрд╛рд░реВ рд░реВрдк рд╕реЗ рдмрдврд╝рдирд╛ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреАред рдПрдВрдЧреЗрдЬрд┐рдВрдЧ рдХреЗ рдЖрдкрдХреЗ рдЙрдкрд╛рдзреНрдпрдХреНрд╖ рдХреЛ рдЗрд╕ рдмрд╛рдд рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рдордп рдореЗрдВ рдЗрд╕ рд╡реГрджреНрдзрд┐ рдХреЗ рдХрд╛рд░рдг, рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреА рдкреНрд░рдгрд╛рд▓реА рдбрд╛рдЙрдирдЯрд╛рдЗрдо рд╣реЛ рдЬрд╛рдПрдЧреА, рдХрд┐ рд╡рд░реНрд╖ рдХреЗ рдЕрдВрдд рдореЗрдВ рдЖрд╡реЗрджрди рдХреА рдЙрдкрд▓рдмреНрдзрддрд╛ рдХрд╛ рдЕрдиреБрдорд╛рди 5 рдирд╛рдЗрди (99,999), рд▓реЗрдХрд┐рди рдХрдо рд╣реЛрдЧрд╛? рдФрд░ рдлрд┐рд░ рдХрдВрдкрдиреА рдХреЗ рдкрд╛рд╕ рдХрдо рдЙрдкрд▓рдмреНрдзрддрд╛ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдЕрдиреБрдмрдВрдз, рджрд╛рдпрд┐рддреНрд╡ рдФрд░ рднрд╛рд░реА рдЬреБрд░реНрдорд╛рдирд╛ рд╣реИ, рдФрд░ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рд╣рдо рдкреНрд░рддрд┐рд╖реНрдард╛ рдХреЗ рдиреБрдХрд╕рд╛рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рднреВрд▓реЗрдВрдЧреЗред

рдЗрд╕ рджреБрд░реНрднрд╛рдЧреНрдпрдкреВрд░реНрдг рд╕реНрдерд┐рддрд┐ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдордиреЗ рдХреНрдпрд╛ рдХрд┐рдпрд╛ рд╣реИ?
рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдЕрднреА рднреА рдПрдХ рд╕реВрдЪрдХрд╛рдВрдХ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдЙрдиреНрд╣реЛрдВрдиреЗ рдЗрд╕ рдЯреЗрдмрд▓ рдкрд░ рд╡рд░реНрддрдорд╛рди рд╕рддреНрд░ рдХреЛ рдЫреЛрдбрд╝рдХрд░ рд╕рднреА рд╕реЗ рдЕрдзрд┐рдХрд╛рд░ рд▓реЗ рд▓рд┐рдпрд╛ред
рд╕реВрдЪрдХрд╛рдВрдХ рд▓рд╛рдЧреВ рдХрд░реЗрдВред

рд╣рд╛рдВ, рд╕рдорд╛рдзрд╛рди рдореЗрдВ рдПрдХ рдорд╛рдЗрдирд╕ рд╣реИ: рд╣рд░ рдХреЛрдИ рдЬреЛ рдЗрди рд╕реЗрдХрдВрдб рдореЗрдВ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдмрджрд▓ рдЧрдпрд╛, рдЙрд╕реЗ рдПрдХреНрд╕реЗрд╕ рдЕрд╕реНрд╡реАрдХреГрдд рдкреНрд░рд╛рдкреНрдд рд╣реЛрдЧрд╛ред рдпрджрд┐ рдЖрдкрдХрд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдРрд╕реА рд╕реНрдерд┐рддрд┐ рдХреЛ рд╕рдВрднрд╛рд▓рддрд╛ рд╣реИ рдФрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдХреНрд╡реЗрд░реА рджреЛрд╣рд░рд╛рддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдЗрд╕ рд╡рд┐рдХрд▓реНрдк рдкрд░ рдХрд░реАрдм рд╕реЗ рдирдЬрд╝рд░ рдбрд╛рд▓рдиреА рдЪрд╛рд╣рд┐рдПред рд╣рдорд╛рд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЗрд╕ рдкрджреНрдзрддрд┐ рдиреЗ рдареАрдХ рдХрд╛рдо рдХрд┐рдпрд╛ред рдлрд┐рд░ рд╕реЗ, рдЖрдк рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ ONLINE = ON рдХреЛ рд╣рдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдХреЗрд╡рд▓ рд╕рддреНрд░ рдореЗрдВ рд╕реВрдЪрдХрд╛рдВрдХ рдирд┐рд░реНрдорд╛рдг рдХреЗ рджреМрд░рд╛рди рддрд╛рд▓рд┐рдХрд╛ рддрдХ рдкрд╣реБрдВрдЪ рд╣реЛрдЧреАред

рд╕реВрдЪрдХрд╛рдВрдХ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб:

REVOKE EXECUTE ON [dbo].[spUserLogin] TO [User1] REVOKE EXECUTE ON [dbo].[spUserLogin] TO [User2] REVOKE EXECUTE ON [dbo].[spUserCreate] TO [User1] REVOKE EXECUTE ON [dbo].[spUserCreate] TO [User2] CREATE NONCLUSTERED INDEX IX_Users_Email_Status ON [dbo].[Users] ([Email],[Status]); GRANT EXECUTE ON [dbo].[spUserCreate] TO [User1] GRANT EXECUTE ON [dbo].[spUserCreate] TO [User2] GRANT EXECUTE ON [dbo].[spUserLogin] TO [User1] GRANT EXECUTE ON [dbo].[spUserLogin] TO [User2] 

рд▓реЛрдб рдХреЗ рддрд╣рдд рдкрд░реАрдХреНрд╖рдг рдХреЗ рджреМрд░рд╛рди рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рдордп рдФрд░ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХрд╛ рдкреНрд░рддрд┐рд╢рдд рдХреА рдЕрдиреБрд╕реВрдЪреАред

рдЫрд╡рд┐

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

рдХреЗрд╕ рдирдВрдмрд░ 2. рдмрдбрд╝реА рддрд╛рд▓рд┐рдХрд╛


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

2 рддрд░реАрдХреЗ рд╣реИрдВ:

  1. рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢реЗрд╖ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реИ, рддреЛ рдЖрдк рдмрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛрдб рдХреЛ рдмрджрд▓рддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдирдпрд╛ рдбреЗрдЯрд╛ рдХреЗрд╡рд▓ рдирдИ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдбрд╛рд▓рд╛ рдЬрд╛рдП, рд╡рд┐рд▓реЛрдкрди рджреЛрдиреЛрдВ рд╕реЗ рд╣реЛрддрд╛ рд╣реИ, рдЕрдкрдбреЗрдЯ рднреА рджреЛрдиреЛрдВ рдкрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рдЪрдпрди UNION ALL рдХреЗ рд╕рд╛рде рджреЛ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рд╕реЗ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
  2. рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреЛрдб рдХреЗ рдХрдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╣рд┐рд╕реНрд╕реЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рдЖрдк рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдбреЗрдЯрд╛ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рджреЛ рд▓реЛрдХрдкреНрд░рд┐рдп рдЯреНрд░рд┐рдХреНрд╕ рд╣реИрдВ: рдЯреНрд░рд┐рдЧрд░реНрд╕ рдХреЗ рд╕рд╛рде рджреЗрдЦреЗрдВ рдпрд╛ рдХреЛрдб рдХреЗ рд╕рднреА рднрд╛рдЧреЛрдВ рдХреЛ рдПрдХ рдирдИ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдбреЗрдЯрд╛ рдбрд╛рд▓рдиреЗ, рджреЛрдиреЛрдВ рд╕реЗ рд╣рдЯрд╛рдиреЗ рдФрд░ рджреЛрдиреЛрдВ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦреЗрдВред рдЯреНрд░рд┐рдЧрд░реНрд╕ рдХреЗ рд╕рд╛рде рдПрдХ рджреГрд╢реНрдп рдПрдХ рд╡рд┐рдХрд▓реНрдк рд╣реИ рдЬрдм рдЖрдк рджреЛ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдПрдХ рджреГрд╢реНрдп рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдирд╛рдо рджреЗрддреЗ рд╣реИрдВ, рдЕрдкрдиреА рд╡рд░реНрддрдорд╛рди рддрд╛рд▓рд┐рдХрд╛ рдХрд╛ рдирд╛рдо рдмрджрд▓рдХрд░ TableOld, рдФрд░ рддрд╛рд▓рд┐рдХрд╛ рдкрд░ рджреЗрдЦреЗрдВред рддрдм рдЖрдкрдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╕рднреА рддрд╛рд▓рд┐рдХрд╛ рдХреЙрд▓ рджреГрд╢реНрдп рдореЗрдВ рдорд┐рд▓ рдЬрд╛рддреА рд╣реИрдВ, рдпрд╣рд╛рдВ рдирд╛рдо рдмрджрд▓рдиреЗ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдорд╕реНрдпрд╛ рднреА рд╣реЛ рд╕рдХрддреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╕реНрдХреАрдорд╛рд▓реЙрдХ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдирд╛рдо рдмрд╣реБрдд рдЬрд▓реНрджреА рд╕реЗ рдЧреБрдЬрд░рддрд╛ рд╣реИред

рдПрдХ рдирдИ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдкреБрдирд░реНрд▓реЗрдЦрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝рд╛ рдФрд░ рд╡рд┐рд╕реНрддреГрдд рд╕рдВрд╕реНрдХрд░рдг:

  1. рдЖрдкрдХреЗ рдкрд╛рд╕ рдЖрджреЗрд╢ рддрд╛рд▓рд┐рдХрд╛ рд╣реИ, рдЙрд╕реА рдпреЛрдЬрдирд╛ рдХреЗ рд╕рд╛рде рдПрдХ рдирдпрд╛ рдЖрджреЗрд╢ рддрд╛рд▓рд┐рдХрд╛ рдмрдирд╛рдПрдВ, рд▓реЗрдХрд┐рди рд╡рд╛рдВрдЫрд┐рдд рд╕реВрдЪрдХрд╛рдВрдХ рдХреЗ рд╕рд╛рдеред рдЗрд╕реА рд╕рдордп, рдпрджрд┐ рдЖрдк рдЗрдВрдбреЗрдВрдЯрд┐рдЯреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдирдИ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдкрд╣рдЪрд╛рди рдХрд╛ рдкрд╣рд▓рд╛ рдореВрд▓реНрдп рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдкреБрд░рд╛рдиреА рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдЕрдзрд┐рдХрддрдо рдореВрд▓реНрдп рдХреЗ рдмрд░рд╛рдмрд░ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП + рдмрджрд▓рд╛рд╡ рдХрд╛ рдЪрд░рдг рдпрд╛ рдЕрдВрддрд░ рдЬрд┐рд╕реЗ рдЖрдк рдЖрджреЗрд╢реЛрдВ рдореЗрдВ рдЕрдзрд┐рдХрддрдо рдореВрд▓реНрдп рд╕реЗ рд╡рд┐рдЪрд▓рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЦрд░реНрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
  2. рдПрдХ рдСрд░реНрдбрд░ рджреГрд╢реНрдп рдмрдирд╛рдПрдВ, рдЬрд┐рд╕рдХреЗ рдЕрдВрджрд░ рдСрд░реНрдбрд░реНрд╕ рдпреВрдирд┐рдЕрди рдСрд▓ рдСрд░реНрдбрд░ рд╕реЗ рдПрдХ рдЪрдпрди
  3. рджреГрд╢реНрдп рд╕реЗ рдбреЗрдЯрд╛ рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рднреА рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ / рдХреЙрд▓ рдХреЛ рдмрджрд▓реЗрдВ, рдЗрд╕реЗ рдЖрджреЗрд╢ рдореЗрдВ рдбрд╛рд▓реЗрдВ, рджреЛрдиреЛрдВ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЛ рд╣рдЯрд╛рдПрдВ рдФрд░ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░реЗрдВред
  4. рдкреБрд░рд╛рдиреА рддрд╛рд▓рд┐рдХрд╛ рд╕реЗ рдбреЗрдЯрд╛ рдХреЛ рдирдП рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░реЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕ рддрд░рд╣:

     DECLARE @rowcount INT, @batchsize INT = 4999; SET IDENTITY_INSERT dbo.OrdersNew ON; SET @rowcount = @batchsize; WHILE @rowcount = @batchsize BEGIN BEGIN TRY DELETE TOP (@batchsize) FROM dbo.Orders OUTPUT deleted.Id ,deleted.Column1 ,deleted.Column2 ,deleted.Column3 INTO dbo.OrdersNew (Id ,Column1 ,Column2 ,Column3); SET @rowcount = @@ROWCOUNT; END TRY BEGIN CATCH SELECT ERROR_NUMBER() AS ErrorNumber, ERROR_MESSAGE() AS ErrorMessage; THROW; END CATCH; END; SET IDENTITY_INSERT dbo.OrdersNew OFF; 

  5. рдорд╛рдЗрдЧреНрд░реЗрд╢рди рд╕реЗ рдкрд╣рд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рд╕рднреА рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдВ рд▓реМрдЯрд╛рдПрдВ - рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рд╕рд╛рдеред рдпрд╣ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдпрд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рдирд┐рд╖реНрдХрд╛рд╕рди рдФрд░ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рдлрд┐рд░ рдЕрдзрд┐рдХрд╛рд░реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдордд рднреВрд▓рдирд╛), рдФрд░ рдЖрдк рдЦрд╛рд▓реА рддрд╛рд▓рд┐рдХрд╛ рдФрд░ рджреГрд╢реНрдп рдХреЛ рд╣рдЯрд╛рддреЗ рд╣реБрдП рдирдИ рддрд╛рд▓рд┐рдХрд╛ рдХрд╛ рдирд╛рдо рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред

рдЪрд░рдг 2 рдореЗрдВ, рдпрд╣ рд╕рдВрднрд╡ рдерд╛, рдпрджрд┐ рд▓реЛрдбрд┐рдВрдЧ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдореБрдЦреНрдп рддрд╛рд▓рд┐рдХрд╛ рдХрд╛ рдирд╛рдо рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП -> рдЖрджреЗрд╢реЛрдВ рдФрд░ рдЖрджреЗрд╢реЛрдВ -> рдЖрджреЗрд╢реЛрдВ рдФрд░ рдЖрджреЗрд╢реЛрдВ рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рдпрдВ рд╕рднреА рдЖрджреЗрд╢реЛрдВ рдХрд╛ рдЖрджреЗрд╢ рджреЗрдВ, рддреЛ рдЖрдкрдХреЛ рдЙрди рд╕рднреА рд╕реНрдерд╛рдиреЛрдВ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ рдЬрд╣рд╛рдВ рддрд╛рд▓рд┐рдХрд╛ рд╕реЗ рдЪрдпрди рд╣реЛрддрд╛ рд╣реИред

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

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

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

рд╕рднреА рдХреЛ рдЕрдЪреНрдЫрд╛! рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рд╕рд╛рдЭрд╛ рдХрд░реЗрдВ рдпрджрд┐ рдЖрдкрдиреЗ рдЗрдирдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рднреА рддрд░реАрдХреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИ рдпрд╛ рдЕрдкрдиреА рд╡рд┐рдзрд┐ рдХрд╛ рд╡рд░реНрдгрди рдХрд░реЗрдВ! рд╣рдо рдЖрдкрдХреЛ рдПрдХ рдЦреБрд▓реЗ рдкрд╛рда рдФрд░ рд╣рдорд╛рд░реЗ рдирдП рдкрд╛рдареНрдпрдХреНрд░рдо "рдПрдордПрд╕ SQL тАЛтАЛрд╕рд░реНрд╡рд░ рдбреЗрд╡рд▓рдкрд░" рдХреЗ рдПрдХ рдЦреБрд▓реЗ рджрд┐рди рдХреЗ рд▓рд┐рдП рднреА рдЖрдордВрддреНрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВред

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


All Articles