SQL用户权限 - 执行存储过程

问题描述:

SQL用户权限 - 执行存储过程

我试图找到让一些新的开发人员没有给他们充分接触到我们的数据库与我们现有的系统中工作的最佳解决方案,但是,它们将问题需要执行预先写好的存储过程。

当前系统

我们目前的系统是与SQL Server 2008数据库中的ASP.NET C#应用程序。我们目前拥有存储在web.config文件中的SQL凭据,这意味着他们可以简单地读取凭证并访问数据库。

我想实现

是否有可能创建只能执行当前编写的存储过程,但不能直接访问数据库和查看存储过程的代码的帐户,访问表查看数据或结构并限制其他不需要的排序权限?

是的,这是可能的。

您需要为该登录授予Connect SQL权限,并授予execute您希望登录可执行的那些存储过程。

该登录下的所有其他操作将不可行,包括直接访问数据库表并查看存储过程的定义。

是的,你可以: 检查Server-Level RolesDatabase-Level Roles