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

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

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

рдХреЛрдб рд╕рдВрд░рдЪрдирд╛ рдХреА рдЯреНрд░реА рд╕рдВрд░рдЪрдирд╛
рдЬрдЯрд┐рд▓ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА - рдЖрдкрдХреЛ рдЬрдЯрд┐рд▓ рдХреЛрдб рдХреЗ рддрд░реНрдХ рдХреЛ рдЬрд▓реНрджреА рд╕реЗ рджреЗрдЦрдиреЗ / рд╕рдордЭрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдФрд░ рдЬрдЯрд┐рд▓рддрд╛ "рдкреА" рдХреА рдХреБрдЫ рдЗрдХрд╛рдЗрдпреЛрдВ рдореЗрдВ рдкреНрд░рдХреНрд░рд┐рдпрд╛ / рдХрд╛рд░реНрдп / рдкреНрд░рд╕реНрддреБрддрд┐ рдХреА рдЬрдЯрд┐рд▓рддрд╛ рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рднреА рдХрд░рддрд╛ рд╣реИред рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдХрд╝рд╛рдиреВрди рдХреА рд╕рдВрдЦреНрдпрд╛ рдЧрд┐рдирд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЙрддреНрдкрд╛рдж рд▓рд╛рдн ...
- рдирд┐: рд╢реБрд▓реНрдХ :)
- рдирд┐рдпрдореЛрдВ рдХрд╛ рдмрдбрд╝рд╛ рд╕рдореВрд╣
- рдПрдХрд▓ рдЕрдиреБрд░реЛрдз рдФрд░ рдкреВрд░реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛
- рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдФрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд╕рд╛рде рдПрдХреАрдХрд░рдг
- рд╕реНрдкреАрдб (3000 рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ 17 рд╕реЗрдХрдВрдб рдореЗрдВ, 30K рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдореЗрдВ рд╕реЗ 150 рд╕реЗрдХрдВрдб рдореЗрдВ рдЬрд╛рдВрдЪрд╛ рдЬрд╛рддрд╛ рд╣реИ)
- рдСрдкрд░реЗрдЯрд░реЛрдВ рдФрд░ рднрд╛рд╖рд╛ рдирд┐рд░реНрдорд╛рдгреЛрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдпрдореЛрдВ рдХрд╛ рдПрдХ рд╕рднреНрдп рд╕реЗрдЯ рд╣реИ, рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЬрд┐рдирдХреЗ рд╕рдорд░реНрдерди рдХреЛ рдирд┐рдХрдЯ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ (рдпрд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ)ред рд╕рд░реНрд╡рд░ рдХреЗ рдирдП рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рддреЗ рд╕рдордп рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдЬрд▓реНрджреА рд╕реЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рдФрд░, рдЬреЛ рдмрдбрд╝реА рдХрдВрдкрдирд┐рдпреЛрдВ рдореЗрдВ рдЯреАрдо рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рд░реБрдЪрд┐ рд░рдЦрддрд╛ рд╣реИ, рдПрдХ рд╡рд┐рд╢реЗрд╖ рдПрдкреАрдЖрдИ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдХреЛрдб рд╕рддреНрдпрд╛рдкрди рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдЕрдкрдиреА рдмрд┐рд▓реНрдб-рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ SQL рдХреЛрдб рд╕рддреНрдпрд╛рдкрди рдХреЛ рдПрдореНрдмреЗрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рдЪреЗрдХрдЗрди рдиреАрддрд┐ рдХреЛ рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
... рдФрд░ рдЗрд╕рдХреЗ рджреЛрд╖
- рдкреНрд░рд▓реЗрдЦрди рдХрд╛ рдЕрднрд╛рд╡ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╕реНрд╡рдпрдВ рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рддреНрдпрд╛рдкрди рдирд┐рдпрдореЛрдВ рдХрд╛ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд░реНрдгрди рдХрд░рдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред
- рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ рдХрд┐ SqlCodeGuard рдФрд░ Database Project рдХреЛ рдХреИрд╕реЗ рдПрдХреАрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛рдПред рд╕рд╛рдЗрдЯ рдкрд░ рд╕рдорд░реНрдерди рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ - рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреИрд╕реЗ?
- рдХреБрдЫ рд╡рд┐рджреЗрд╢реА рднрд╛рд╖рд╛ рдирд┐рд░реНрдорд╛рдгреЛрдВ рдХреЛ рдорд╛рдиреНрдпрддрд╛ рдирд╣реАрдВ рдорд┐рд▓реА рд╣реИред рдпрд╣ рдХрднреА-рдХрднреА рдХреАрд╡рд░реНрдб рдкрд░ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛рдУрдВ (рдЯреЗрдмрд▓, рдХреЙрд▓рдо, рдЖрджрд┐ рдХреЗ рдирд╛рдо) рдХреЗ рд░реВрдк рдореЗрдВ рднреА рдареЛрдХрд░ рдЦрд╛рддрд╛ рд╣реИред
рдпрд╣ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдирд┐рд░рдВрддрд░ рдПрдХреАрдХрд░рдг рдХреЗ рд╕рд╛рде рдПрдХреАрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП "рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░" рдПрдХ рдЕрд╡рд╕рд░ рдерд╛, рд▓реЗрдХрд┐рди рдЕрднреА рддрдХ рдпрд╣ рдирд╣реАрдВ рд╣реИред
рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╕рд╛рд░рд╛рдВрд╢
рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдХреБрдЫ рдХрдорд┐рдпреЛрдВ рдХреЗ рдмрд╛рд╡рдЬреВрдж, SqlCodeGuard рд╡реНрдпрдХреНрддрд┐рдЧрдд рдбреЗрд╡рд▓рдкрд░реНрд╕, рд╕рд╛рде рд╣реА рд╕рд╛рде рд╡рд┐рдХрд╛рд╕ рд╕рдореВрд╣реЛрдВ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдпреБрдХреНрдд рдХреЛрдб рд▓реЗрдЦрди рдиреАрддрд┐ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдФрд░ рдореМрдЬреВрджрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рдЙрдкрдпреБрдХреНрдд рд╣реИред