ASP.NET рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХрд╛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдПрдХреАрдХрд░рдг рдкрд░реАрдХреНрд╖рдг

рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдореИрдВ рдПрдХ рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреЗ рдкрд░реАрдХреНрд╖рдг рдХреЗ рдПрдХреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪрд╛ рдмрдирд╛рдиреЗ рдореЗрдВ рдЕрдкрдиреЗ рдЕрдиреБрднрд╡ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдЕрдиреБрдкреНрд░рдпреЛрдЧ .Net рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдкрд░ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ ASP.NET MVC рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдФрд░ MSSQL рдореЗрдВ рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рд╢рд╛рдорд┐рд▓ рд╣реИ

рдПрдХреАрдХрд░рдг рдкрд░реАрдХреНрд╖рдг рдХрд╛ рдХрд╛рд░реНрдп рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛: рдЖрд╡реЗрджрди рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдкрд░реАрдХреНрд╖рдг рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░реЗрдВ рддрд╛рдХрд┐ рдЖрдк рдЬрд▓реНрджреА рд╕реЗ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░ рд╕рдХреЗрдВ рдХрд┐ рдЖрд╡реЗрджрди рдХрд╛ рд╕реНрдерд╛рдкрд┐рдд рд╕рдВрд╕реНрдХрд░рдг рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдкрд░реАрдХреНрд╖рдг рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рддрд╛ рд╣реИред

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

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

рдРрд╕реА рдЬрд╛рдБрдЪ рдХреЗ рджреМрд░рд╛рди рдХреНрдпрд╛ рдЬрд╛рдБрдЪ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП:
- рдЖрд╡реЗрджрди рдХрд╛ рд╕рдВрдХрд▓рди рдФрд░ рд╕рдВрдпреЛрдЬрди
- рдЖрд╡реЗрджрди рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдпрд╛ рдЕрджреНрдпрддрди рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛:
- рдПрдХ рдирдпрд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдпрд╛ рдХрд┐рд╕реА рдореМрдЬреВрджрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛
- рдПрдХ рдирдпрд╛ ASP.NET рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдирд╛
- рдЬрд┐рдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдореЗрдВ рдкрд░реАрдХреНрд╖рд╛ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХрд╛ рдирд┐рд╖реНрдкрд╛рджрди:
- рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд┐рд╕реНрдЯрдо рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЪреВрдВрдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдкрд░рд┐рджреГрд╢реНрдп рдореЗрдВ рдкреВрд░реНрд╡ рд╢рд░реНрдд рд╣реЛрддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрди рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдХрд┐рд╕реА рдкрд░рд┐рджреГрд╢реНрдп рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рддреАрди рдСрд░реНрдбрд░ рдмрдирд╛рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рддреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдХрд┐рд╕реА рддрд░рд╣ рддреАрди рдСрд░реНрдбрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред
- рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рдЕрдиреБрдХрд░рдг рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рдкрд░реАрдХреНрд╖рдг рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХреА рдЬрд╛рддреА рд╣реИред
- рд╕рд┐рд╕реНрдЯрдо рдЙрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд▓реМрдЯрддрд╛ рд╣реИ рдЬреЛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдерд╛, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрд╡реЗрджрди рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рддреБрд░рдВрдд рдмрд╛рдж рд░рд╛рдЬреНрдп рдореЗрдВ
- рдЖрд╡реЗрджрди рдХреА рдЧреБрдгрд╡рддреНрддрд╛ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рдирд╛
- рдПрдХ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдкреИрдХреЗрдЬ рдХреА рдЕрд╕реЗрдВрдмрд▓реА рдЬрд┐рд╕рдореЗрдВ рдЬреНрдЮрд╛рдд рдЧреБрдгрд╡рддреНрддрд╛ рд╡рд╛рд▓реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╣реИрдВ



рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдЪрд┐рддреНрд░ рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред

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

рдореВрд▓ рд╡рд┐рдиреНрдпрд╛рд╕


рдиреАрдЪреЗ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдПрдХреАрдХрд░рдг рдкрд░реАрдХреНрд╖рдг рдФрд░ рдФрджреНрдпреЛрдЧрд┐рдХ рдЙрдкрдпреЛрдЧ рдХреЗ рджреМрд░рд╛рди рд╡рд┐рднрд┐рдиреНрди рд╡рд╛рддрд╛рд╡рд░рдгреЛрдВ рдкрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреИрд╕реЗ рддреИрдирд╛рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдореИрдВ рддреБрд░рдВрдд рдзреНрдпрд╛рди рджреЗрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рд╕рднреА рд╡рд╛рддрд╛рд╡рд░рдгреЛрдВ рдореЗрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рд╕рдорд╛рди рд╣реИред рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд╕рд╛рде рд╕рд╣рднрд╛рдЧрд┐рддрд╛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╣реЛрддреА рд╣реИ, рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдЕрдкрдбреЗрдЯ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ ASP.NET рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдорд╛рдирдХ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдбреЗрд╡рд▓рдкрд░ рдорд╢реАрди рдкрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди


рдбреЗрд╡рд▓рдкрд░ рдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ, рд╡рд┐рдЬрд╝реБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдореБрдЦреНрдп рдЯреВрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

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

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

рдПрдХреАрдХрд░рдг рдкрд░реАрдХреНрд╖рдг рд╕реЗ рдкрд╣рд▓реЗ, рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдФрджреНрдпреЛрдЧрд┐рдХ рд╕рд░реНрд╡рд░ рд╕реЗ рдПрдХреАрдХрд░рдг рдкрд░реАрдХреНрд╖рдг DBMS рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдпрд╢реАрд▓ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдмреЗрд╢рдХ, рдПрдХ рдФрджреНрдпреЛрдЧрд┐рдХ рд╕реНрдЯреИрдВрдб рд╕реЗ рдПрдХ рдХрд╛рд░реНрдпрд╢реАрд▓ рдбреЗрдЯрд╛рдмреЗрд╕ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЕрд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╣реИ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдЬрд╛рдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХреЗ рдкрд╛рд╕ рдХрд┐рд╕реА рддрд░рд╣ рдХрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдПрдХ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд░реВрдк рдореЗрдВ, рдХрд╛рд░реНрдпрд╢реАрд▓ рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╛ рдЕрдЬреНрдЮрд╛рддрд┐рдХрд░рдг рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рдд, рдХрд╛рд░реНрдпрд╢реАрд▓ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреА рдПрдХ рдкреНрд░рддрд┐ рдмрдирд╛рдИ рдЬрд╛рддреА рд╣реИ, рдФрд░ рдлрд┐рд░ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЗ рдирд╛рдо рдФрд░ рдЕрдиреБрдмрдВрдзреЛрдВ рдХреА рд░рд╛рд╢рд┐ рдХреЛ рдЗрд╕рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддрд╛рдХрд┐ рд╡рд╛рдгрд┐рдЬреНрдпрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдбреЗрд╡рд▓рдкрд░реНрд╕ рдФрд░ рдкрд░реАрдХреНрд╖рдХреЛрдВ рддрдХ рди рдкрд╣реБрдВрдЪреЗред

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

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

рдкрд░реАрдХреНрд╖рдг рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдбреЗрдЯрд╛рдмреЗрд╕ рдЕрдкрдиреА рдореВрд▓ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рддрд╛ рд╣реИред

рдирддреАрдЬрддрди, рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдк рд╕рд┐рд╕реНрдЯрдо рдХреА рд╕рд╛рдорд╛рдиреНрдп рд╕реНрдерд┐рддрд┐ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред

рдХрдВрдЯреАрдиреНрдпреВ рдЗрдВрдЯреАрдЧреНрд░реЗрд╢рди рд╕рд░реНрд╡рд░ рдкрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди


рдпрд╣рд╛рдВ, рд╡рд┐рдЬрд╝реБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреЗ рдмрдЬрд╛рдп, рдХрдВрдЯреАрдиреНрдпреВ рдЗрдВрдЯреАрдЧреНрд░реЗрд╢рди рд╕рд░реНрд╡рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рднреА рдХреНрд░рд┐рдпрд╛рдПрдВ рдбреЗрд╡рд▓рдкрд░ рдХреА рдорд╢реАрди рдкрд░ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреЗ рд╕рдорд╛рди рд╣реЛрддреА рд╣реИрдВ

рдФрджреНрдпреЛрдЧрд┐рдХ рд╡рд┐рдиреНрдпрд╛рд╕


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

рдЖрд╡рд╢реНрдпрдХ рдЙрдкрдХрд░рдг



рдЖрд╡рд╢реНрдпрдХ рдЕрд╡рд╕рдВрд░рдЪрдирд╛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рд╛рдзрдиреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рд╕реЙрд▓реНрдпреВрд╢рди, рдЬрд┐рд╕рдореЗрдВ рдХрдИ рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:
- рдкреНрд░реЛрдЬреЗрдХреНрдЯ "SQL рд╕рд░реНрд╡рд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ"ред рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ, рдЗрд╕ рддрд░рд╣ рдХреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдЖрдкрдХреЛ рд╕рднреА DDL рдФрд░ SQL рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИ рдЬреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреА рд╕рдВрд░рдЪрдирд╛ рдФрд░ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕рд╛рдордЧреНрд░реА рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИрдВред рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдореБрдЦреНрдп рд▓рд╛рдн рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдореМрдЬреВрджрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдВрддрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдЖрдкрдХреЛ рдореМрдЬреВрджрд╛ рдбреЗрдЯрд╛ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рдмрд┐рдирд╛ рдЕрдкрдбреЗрдЯ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЗрд╕ рдСрдкрд░реЗрд╢рди рдХреЛ MSBuild рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдХрдВрдЯреАрдиреНрдпреВрдЬрд╝ рдЗрдВрдЯреАрдЧреНрд░реЗрд╢рди рд╕рд░реНрд╡рд░ рдкрд░ рдкреНрд░рджрд░реНрд╢рди рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
- ASP.NET рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреЗ рд╕рд╛рде рдкрд░рд┐рдпреЛрдЬрдирд╛ред рдЖрд╡реЗрджрди рдХреЛ рд╣реА рд╕рдорд╛рд╣рд┐рдд рдХрд░рддрд╛ рд╣реИред рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рд╕реА рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рддреИрдирд╛рддреА рдХреЛ рдПрдХ рд╕рд░реНрд╡рд░ рдкрд░ рдЬрд╛рдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рднреА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдлрд┐рд░ рд╕реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ MSBuild рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗред
- рдПрдХреАрдХрд░рдг рдкрд░реАрдХреНрд╖рдгреЛрдВ рд╕реЗ рдпреБрдХреНрдд рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ред рдпрд╣ рдПрдХ MSTest рдпрд╛ NUnit рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╣реИред рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдиреЗ рдФрд░ рдкрд░реАрдХреНрд╖рдг рд░рд┐рдкреЛрд░реНрдЯ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдпрд╣ рдЙрди рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХрд╛ рдиреНрдпреВрдирддрдо рд╕реЗрдЯ рд╣реИ рдЬреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдПрдХреАрдХрд░рдг рдкрд░реАрдХреНрд╖рдг рдХреЗ рдЖрдпреЛрдЬрди рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИред

рдмреЗрд╢рдХ, рд╕рдорд╛рдзрд╛рди рдПрдХ рд╕рдВрд╕реНрдХрд░рдг рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рдгрд╛рд▓реА рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИ, рдЬреИрд╕реЗ рдПрд╕рд╡реАрдПрдиред

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

"рд╕реЗрд▓реЗрдиреНрдпреВрдЗрдо рд░рд┐рдореЛрдЯ рдХрдВрдЯреЛрд▓" рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдЬрд╛рд╡рд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ "рд╕реЗрд▓реЗрдирд┐рдпрдо-рд╕рд░реНрд╡рд░-рд╕реНрдЯреИрдВрдбрдЕрд▓реЛрди-рдПрдХреНрд╕рдПрдХреНрд╕рдПрдХреНрд╕"

рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреА рддреНрд╡рд░рд┐рдд рдФрд░ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд╕реЗрд▓реЗрдирд┐рдо рдЖрдИрдбреАрдИ рдРрдб-рдСрди рд╕реНрдерд╛рдкрд┐рдд рдХреЗ рд╕рд╛рде рдлрд╛рдпрд░рдлреЙрдХреНрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред

рд╣рдореЗрдВ рдПрд╕рд╡реАрдПрди рд╕реЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдФрд░ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдВрдЯреАрдиреНрдпреВрд╕ рдЗрдВрдЯреАрдЧреНрд░реЗрд╢рди рд╕рд░реНрд╡рд░ рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдкрд░реНрдпрд╛рд╡рд░рдг рдХреА рд╕реНрдерд╛рдкрдирд╛


рдореИрдВ рдпрд╣ рджрд┐рдЦрд╛рдКрдВрдЧрд╛ рдХрд┐ рд╡рд┐рднрд┐рдиреНрди рд╕реНрдЯреИрдВрдбреЛрдВ рдкрд░ рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рдЙрддреНрдкрд╛рджреЛрдВ рдХреЛ рдХреИрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛рдПред

рдбреЗрдЯрд╛рдмреЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛

рдбреЗрдЯрд╛рдмреЗрд╕ рдбрд┐рдЬрд╛рдЗрди рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред рдбреЗрдЯрд╛рдмреЗрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдХрдИ publish.xml рдлрд╛рдЗрд▓реЗрдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдпрд╣ рдмрддрд╛рддреА рд╣реИ рдХрд┐ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдХрд╣рд╛рдВ рдФрд░ рдХреИрд╕реЗ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЪреВрдВрдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдбреЗрд╡рд▓рдкрд░ рдХрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдкрддреЗ рдкрд░ рд╕реНрдерд┐рдд рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рдВрд╕реНрдХрд░рдг рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рдгрд╛рд▓реА рд╕реЗ рдмрд╛рд╣рд░ рд▓реЗ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдбреЗрдЯрд╛рдмреЗрд╕ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╡рд┐рдЬрд╝реБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдореЗрдВ рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдкрд░ рд░рд╛рдЗрдЯ-рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ "рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░реЗрдВ" рдЪреБрдиреЗрдВред рдкреНрд░рдХрд╛рд╢рди рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдХреЗ рд╕рдорд╛рди рд╣реИ, рд╕рд┐рд╡рд╛рдп рдЗрд╕рдХреЗ рдХрд┐ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рд╡рд┐рдХрд▓реНрдк рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЧреБрдг рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдФрд░ publish.xml рдореЗрдВ рдкреНрд░рдХрд╛рд╢рди рд╡рд┐рдХрд▓реНрдкред

рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рд╕реЗ рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдорд╛рдВрдб рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛:
> MSBuild / t: рдкреНрд░рдХрд╛рд╢рд┐рдд / p: SqlPublishProfilePath = beatmypublishfile.publish.xml ┬╗DBProject.sqlproj

рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧ

Visual Studio рдореЗрдВ ASP.NET рдЕрдиреБрдкреНрд░рдпреЛрдЧ "рд░рди" рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рдорд╛рдирдХ Visual Studio рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рддреИрдирд╛рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдХрдВрдЯреАрдиреНрдпреВрдЬрд╝ рдЗрдВрдЯреАрдЧреНрд░реЗрд╢рди рд╕рд░реНрд╡рд░ рдкрд░, рдпрд╣ рд╡рд┐рднрд┐рдиреНрди рддрд░реАрдХреЛрдВ рд╕реЗ рднреА рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, xCopy рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗред рдореИрдВ рдЗрд╕ рдкрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдПрдХ рддрд░рдл, рдХрд╛рдлреА рд╕рд╛рдордЧреНрд░реА рд╣реИ, рдФрд░ рджреВрд╕рд░реА рддрд░рдл рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдЗрд╕реЗ рдЦреЛрдЬрдирд╛ рдЖрд╕рд╛рди рд╣реИред

рд╕реЗрд▓реЗрдирд┐рдпрдо рд╕рд░реНрд╡рд░


рдЖрдкрдХреЛ рдПрдХ рд╕реЗрд▓реЗрдирд┐рдпрдо рдЖрд░рд╕реА рд╕рд░реНрд╡рд░ рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдЬрд┐рд╕реЗ рдпрд╣рд╛рдВ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: docs.seleniumhq.org/download

рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рд╕рд░реНрд╡рд░ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИ
> java -jar c: \ selenium \ selenium-server.jar -multiwindow

рдЬрдм рд╕рд░реНрд╡рд░ рдЪрд▓ рд░рд╣рд╛ рд╣реИ, рддреЛ рдЖрдк рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВред

рдПрдХреАрдХрд░рдг рдкрд░реАрдХреНрд╖рдг рдХреЗ рд╕рд╛рде рдкрд░реАрдХреНрд╖рдг рдкрд░рд┐рдпреЛрдЬрдирд╛

рдпрд╣ рдПрдХ MSTest рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдпрд╛ NUnit рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдЖрдкрдХреЛ nuGet рдкреИрдХреЗрдЬ Selenium.RC рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ


рдЬреИрд╕рд╛ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдкрд░реАрдХреНрд╖рдг рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдкрд╣рд▓реЗ рд╣реА рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЖрдкрдХреЛ SQL рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рднрд░ рджреЗрдЧреАред рдЪреВрдВрдХрд┐ рдореИрдВ рдЕрдХреНрд╕рд░ SQL рд╕рд░реНрд╡рд░ рдкреНрд░рдмрдВрдзрди рд╕реНрдЯреВрдбрд┐рдпреЛ рдореЗрдВ рдмрдирд╛рдИ рдЧрдИ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реВрдВ, рдЙрдирдореЗрдВ GO рдХрдорд╛рдВрдб рд▓рдЧрд╛рддрд╛рд░ рдкрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдРрд╕реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП, smo рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпреЗ рдХрдИ рдЕрд╕реЗрдВрдмрд▓реА рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ MSSQL рд╕рд░реНрд╡рд░ SDK рдХреЗ рднрд╛рдЧ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, "C: \ Program Files (x86) \ Microsoft SQL Server \ 110 \ SDK / рдЕрд╕реЗрдВрдмрд▓реА" рдореЗрдВ, рд▓реЗрдХрд┐рди рдзреНрдпрд╛рди рд░рдЦреЗрдВ рд╡реЗ .Net 2.0 рдХреЗ рд▓рд┐рдП рд╕рдВрдХрд▓рд┐рдд рд╣реИрдВ рдФрд░ рд╕рд┐рд░реНрдл рдЗрд╕рд▓рд┐рдП рдЙрдиреНрд╣реЗрдВ .Net 4.0 рдФрд░ рдкреБрд░рд╛рдиреЗ рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдорд┐рд▓ рд░рд╣рд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдкрд░реАрдХреНрд╖рдг рдЕрдиреБрдкреНрд░рдпреЛрдЧ, рдореИрдВ рдЖрдорддреМрд░ рдкрд░ .net 3.5 рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рддрд╛ рд╣реВрдВ

рдЙрд╕рдХреЗ рдмрд╛рдж, рдЖрдк рдПрдХ рдкрд░реАрдХреНрд╖рдг рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рд╕рд╣рд╛рдпрдХ рд╡рд░реНрдЧ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ:

public class TestDBHelper { public static void ExecScript(String scriptName) { string sqlConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["TestDBConnection"].ConnectionString; FileInfo file = new FileInfo(Path.Combine("SQL", scriptName)); string script = file.OpenText().ReadToEnd(); SqlConnection conn = new SqlConnection(sqlConnectionString); Server server = new Server(new ServerConnection(conn)); server.ConnectionContext.ExecuteNonQuery(script); } public static void BackupBeforeTest() { TestDBHelper.ExecScript("BackupBeforeTest.sql"); } public static void RestoreAfterTest() { TestDBHelper.ExecScript("RestoreAfterTest.sql"); } } 


рд╕рднреА рдПрд╕рдХреНрдпреВрдПрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ "рдПрд╕рдХреНрдпреВрдПрд▓" рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдореЗрд░реЗ рдЙрд╕реА рдкрд░реАрдХреНрд╖рдг рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рд╣реИрдВ, рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП рд╕рдВрдкрддреНрддрд┐ "рдЖрдЙрдЯрдкреБрдЯ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдХреЙрдкреА рдХрд░реЗрдВ" рдХреЛ "рдХреЙрдкреА рдХрд░реЗрдВ рдпрджрд┐ рдирдпрд╛ рд╣реИ" рдкрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдХреНрдпрд╛ рд╣реИ "BackupBeforeTest.sql" рдФрд░ "RestoreAfterTest.sql" рдиреАрдЪреЗ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред

рдирддреАрдЬрддрди, рдкрд░реАрдХреНрд╖рдг рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:

 [TestClass] public class SimpleTest { private ISelenium selenium; private StringBuilder verificationErrors; [TestInitialize] public void Init() { TestDBHelper.BackupBeforeTest(); TestDBHelper.ExecScript("CreateTestUser.sql"); selenium = new DefaultSelenium("localhost", 4444, "*chrome", "http://localhost:12945/"); selenium.Start(); verificationErrors = new StringBuilder(); } [TestCleanup] public void CleanUp() { selenium.Stop(); TestDBHelper.RestoreAfterTest(); } [TestMethod] public void TestLogin() { if (selenium.IsElementPresent("link=  []")) { selenium.Click("link=  []"); selenium.WaitForPageToLoad("30000"); } selenium.Open("/"); selenium.Click("link="); selenium.WaitForPageToLoad("30000"); selenium.Type("id=UserName", "TestUser"); selenium.Type("id=Password", "123456"); selenium.Click("css=input.btn"); selenium.WaitForPageToLoad("30000"); Assert.IsFalse(selenium.IsElementPresent("css=div.validation-summary-errors > ul > li"), "  "); Assert.IsTrue(selenium.IsElementPresent("link=  []"), "  "); } } 


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

рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдПрдХреАрдХрд░рдг рдкрд░реАрдХреНрд╖рдг рдПрдХ рджреВрд╕рд░реЗ рд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рдирд╣реАрдВ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рд╕реЗрд▓реЗрдирд┐рдЕрди рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдк рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕реЗ "ASP.NET_Session" рдХреБрдХреА рдХреЛ рд╣рдЯрд╛ рдирд╣реАрдВ рд╕рдХрддреЗ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ HTTPOnly рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рд╣реИред рдЗрд╕ рд╡рдЬрд╣ рд╕реЗ, рдЖрдкрдХреЛ рдпрд╣ рдЬрд╛рдВрдЪрдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдВрддрд┐рдо рдкрд░реАрдХреНрд╖рдг рд╕реЗ рд▓реЙрдЧ рдЗрди рд░рд╣рддрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВ, рдФрд░ рдпрджрд┐ рдЖрдк рд░рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рд╕рд┐рд╕реНрдЯрдо рд╕реЗ рд▓реЙрдЧ рдЖрдЙрдЯ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдФрд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╕рддреНрд░ рд╕реНрдерд┐рддрд┐ рдХреЛ рд░реАрд╕реЗрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

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

рдлрд╛рдпрд░рдлреЙрдХреНрд╕ рдФрд░ рд╕реЗрд▓реЗрдирд┐рдпрдо рдЖрдИрдбреАрдИред рдкрд░реАрдХреНрд╖рдг рдирд┐рд░реНрдорд╛рдг

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

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



рдЖрдВрдХрдбрд╝рд╛ рдкрд░реАрдХреНрд╖рдг рдХреА рд╕реНрд╡реАрдХреГрддрд┐ рджрд┐рдЦрд╛рддрд╛ рд╣реИ, рдЬреЛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдЧрд╛ред рдпрд╣ рдкреГрд╖реНрда DevExpress MVC рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реЗ AJAX рдХреЛрдб рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП "WaitFor ..." рдЬреИрд╕реЗ рдЪрд░рдг рдЬреЛрдбрд╝реЗ рдЧрдП рд╣реИрдВ, рдЬреЛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдкреНрд░рдХрдЯ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдЕрдкрдбреЗрдЯ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рддреЗ рд╣реИрдВред

рдПрдХ рдФрд░ рдорд╣рд╛рди рд▓рд╛рдн рдпрд╣ рд╣реИ рдХрд┐ рдкрд░реАрдХреНрд╖рдг рдХреЛ "рд╕реЗрд▓реЗрдирд┐рдпрдо рдЖрдИрдбреАрдИ" рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд▓реНрджреА рд╕реЗ рдбреАрдмрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдмрд╕ "рд░рди рдЯреЗрд╕реНрдЯ" рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░реЗрдВ рдХрд┐ рд╕рдм рдХреБрдЫ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рдкрд░реАрдХреНрд╖рдг рдХреЗ рдбрд┐рдмрдЧ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдк рдЗрд╕реЗ "рдирд┐рд░реНрдпрд╛рдд рдкрд░реАрдХреНрд╖рдг Sute As" / "C # / NUnit / рд░рд┐рдореЛрдЯ рдХрдВрдЯреНрд░реЛрд▓" рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде c # рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рд╣реЗрдЬ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдкрд░реАрдХреНрд╖рдг рд╡рд┐рдзрд┐рдпреЛрдВ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдкрд░реАрдХреНрд╖рдг рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдХреЙрдкреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рд╕рдм рд╡рд┐рдХрд▓реНрдк рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдмрдирд╛рдиреЗ рдХреА рдЧрддрд┐ рдХреЛ рдХрд╛рдлреА рдмрдврд╝рд╛ рджреЗрддрд╛ рд╣реИ рдЬрдм рдЖрдк рддреБрд░рдВрдд C # рдореЗрдВ рдПрдХ рдкрд░реАрдХреНрд╖рдг рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рдФрд░ рдЗрд╕реЗ MSTest рдпрд╛ NUnit рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЪрд▓рд╛рдХрд░ рдбрд┐рдмрдЧ рдХрд░рддреЗ рд╣реИрдВред

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

рдЫреЛрдЯреА рдЪрд╛рд▓


рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдбреЗрдЯрд╛ рдмрдирд╛рдирд╛ рдФрд░ рд▓реЛрдб рдХрд░рдирд╛

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

рдЗрд╕ рддрд░рд╣ рдХреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг:

 SET IDENTITY_INSERT [dbo].[User] ON INSERT [dbo].[User] ([UserId], [Login], [Password], [DisplayName]) VALUES (1000001, N'TestUser', N'7dHZDOYgwADlGdinx9u/c4Cmhtc=', N' ') SET IDENTITY_INSERT [dbo].[User] OFF SET IDENTITY_INSERT [dbo].[Order] ON INSERT [dbo].[Order] ([OrderId], [UserId], [Description], [Price]) VALUES (1000001, 1000001, N' тДЦ1', 100.0) INSERT [dbo].[Order] ([OrderId], [UserId], [Description], [Price]) VALUES (1000002, 1000001, N' тДЦ2', 200.0) INSERT [dbo].[Order] ([OrderId], [UserId], [Description], [Price]) VALUES (1000003, 1000001, N' тДЦ3', 300.0) SET IDENTITY_INSERT [dbo].[Order] OFF 


рдпрд╣ рд╕реНрдХреНрд░рд┐рдкреНрдЯ "рдПрд╕рдХреНрдпреВрдПрд▓ рдбрдореНрдкрд░" рдпрд╛ рдПрд╕рдХреНрдпреВрдПрд▓ рд╕рд░реНрд╡рд░ рдореИрдиреЗрдЬрдореЗрдВрдЯ рд╕реНрдЯреВрдбрд┐рдпреЛ рдЬреИрд╕реЗ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдбреЗрдЯрд╛рдмреЗрд╕ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдкрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЬрд╝рд╛рд░реНрдб рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдЯреЗрдмрд▓ рдбреЗрдЯрд╛ рднреА рд╢рд╛рдорд┐рд▓ рд╣реИред

- [рдбреЗрдЯрд╛рдмреЗрд╕ рд░рд┐рдХреЙрд░реНрдб рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛рдУрдВ рдХрд╛ рдкреНрд░рдмрдВрдзрди] -

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

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

рдкрд░реАрдХреНрд╖рдг рдХреЗ рдмрд╛рдж рдбреЗрдЯрд╛рдмреЗрд╕ рдХреА рд╕рдлрд╛рдИ

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

рдЗрд╕рд▓рд┐рдП, рдкреНрд░рддреНрдпреЗрдХ рдкрд░реАрдХреНрд╖рдг рд╕реЗ рдкрд╣рд▓реЗ, рдореИрдВ "BackupBeforeTest.sql" рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдПрдХ рдмреИрдХрдЕрдк рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрдирд╛рддрд╛ рд╣реВрдВ

 USE [master] GO IF EXISTS (SELECT name FROM sys.databases WHERE name = N'MyDataBase_Spanpshot') DROP DATABASE MyDataBase_Spanpshot GO CREATE DATABASE MyDataBase_Spanpshot ON (NAME = 'DataBase_data_File', FILENAME = 'C:\MyDataBase_TestBU.SNP') AS SNAPSHOT OF MyDataBase; 


рдФрд░ рдкрд░реАрдХреНрд╖рдг рдХреЗ рдмрд╛рдж рдореИрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ "RestoreAfterTest.sql" рд╕реЗ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реВрдВ:

 USE master; DECLARE @DatabaseName nvarchar(50) SET @DatabaseName = N'MyDataBase' DECLARE @SQL varchar(max) SELECT @SQL = COALESCE(@SQL,'') + ' BEGIN TRY Kill ' + Convert(varchar, SPId) + '; END TRY BEGIN CATCH END CATCH;' FROM MASTER..SysProcesses WHERE DBId = DB_ID(@DatabaseName) AND SPId <> @@SPId EXEC(@SQL) RESTORE DATABASE MyDataBase_Spanpshot from DATABASE_SNAPSHOT = 'MyDataBase_Spanpshot'; GO IF EXISTS (SELECT name FROM sys.databases WHERE name = N'MyDataBase_Spanpshot') DROP DATABASE MyDataBase_Spanpshot GO 


рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЖрдкрдХреЛ рдЙрди рд╕рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдЬреЛ рдкрд░реАрдХреНрд╖рдг рдХреЗ рдмрд╛рдж рдЬреБрдбрд╝реЗ рд░рд╣реЗрдВред рдЕрдиреНрдпрдерд╛, рдЖрдк рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред

рдкрд░реАрдХреНрд╖рдг рд╕реЗ рдкрд╣рд▓реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╡реГрджреНрдзрд┐рд╢реАрд▓ рднрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрд╕рдХреНрдпреВрдПрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рд╕рдВрдЧрдарди

рдореИрдВрдиреЗ рдХрдИ рдмрд╛рд░ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдХрд┐ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЖрдкрдХреЛ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рддреИрдпрд╛рд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдк рдереЛрдбрд╝рд╛ рдЧрд╣рд░рд╛ рдЦреЛрджрддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рджреЗрдЦрд╛ рдЬрд╛рдПрдЧрд╛ рдХрд┐ рдпреЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдПрдХ-рджреВрд╕рд░реЗ рдкрд░ рдирд┐рд░реНрднрд░ рд╣реИрдВред

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

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

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

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

рдирд┐рд╖реНрдХрд░реНрд╖


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

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

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


All Articles