sql server 2008 为一用户赋予存储过程的执行权限

最近遇到一个情况,本人维护的一个系统需要给客户提供一个存储过程,用于客户另一个系统数据调用,为了安全性,另一个系统只能访问本系统提供的存储过程,其他的信息不可见。其过程如下:

说明:为用户赋予表、视图等权限类似。

总体步骤:

1、新建一个用户

文章参考:http://blog.csdn.net/zhouquan2009/article/details/7010387

注意:在添加新的登录名时,用户映射选项时,需要给这个用户所有除了系统数据库之外的数据库,这样可以防止用户在打开数据库时有权限访问所有数据库。放心,该操作只会让用户查看到数据库,而访问不了数据库里面的任何内容,除非你设置了。

2、分配存储过程权限

文章参考:http://msdn.microsoft.com/zh-cn/library/ms345484.aspx

步骤:

1、右击要分配权限的存储过程,选择属性

2、选择权限项

3、点击搜索,点击对象类型,选择用户或角色

4、点击浏览,选择新添加的用户

5、点击确定,授予该用户执行权限

6、点击确定,完成

7、测试。使用新添加的用户登录数据库,点击开数据库,只能查到上面授予权限的存储过程,其他表结构都看到

找到数据库实例--可编程性--存储过程