问题
我正在尝试找到最佳解决方案,允许一些新开发人员使用我们现有的系统,而不会让他们完全访问我们的数据库,但是,他们将需要执行预先编写的存储过程。
当前系统
我们当前的系统是带有SQL Server 2008数据库的ASP.NET C#应用程序。我们目前在web.config
文件中存储了SQL凭据,这意味着他们只需读取凭据并访问数据库。
我想要实现的目标
是否可以创建一个只能执行当前编写的存储过程但不能直接访问数据库并查看存储过程代码,访问表以查看数据或结构并限制每个其他排序权限的帐户不是必需的吗?
答案 0 :(得分:0)
是的,有可能。
您需要向该登录授予Connect SQL
权限,并在您希望该登录能够执行的存储过程上授予execute
。
该登录项下的所有其他操作都是不可能的,包括直接访问数据库表和查看存储过程的定义。
答案 1 :(得分:0)
是的,您可以: 检查Server-Level Roles和Database-Level Roles