当前位置 : 主页 > 网络编程 > ASP >

asp.net – .NET中每个SQL语句的SQL存储过程?

来源:互联网 收集:自由互联 发布时间:2021-06-24
对.NET应用程序中的每个SQL调用使用存储过程是最佳做法吗? 是否出于性能原因鼓励并减少SQL注入攻击的表面区域(在Web应用程序中)? 与参数化查询相比,存储过程具有一些优势: 独占使
对.NET应用程序中的每个SQL调用使用存储过程是最佳做法吗?

是否出于性能原因鼓励并减少SQL注入攻击的表面区域(在Web应用程序中)?

与参数化查询相比,存储过程具有一些优势:

>独占使用时,可以关闭应用程序帐户的CREATE,INSERT,SELECT,UPDATE,ALTER,DROP,DELETE等访问权限,这样可以增加少量安全性.
>当您有多个使用相同数据库的应用程序时,它们提供一致,可管理的界面.
>即使在部署应用程序之后,使用过程也允许DBA管理和调整查询.
>部署小的更改和错误修复要简单得多.

它们也有一些缺点:

>程序的数量可以快速增长到难以维护它们的程度,并且当前的工具不能提供简单的方法来获得足够的文档.
>参数化查询将数据库代码放在使用它的位置旁边.存储过程使它远离分离,使得查找相关代码更加困难.
>存储过程更难以版本化.

您需要权衡系统的成本/收益.

网友评论