日期:2014-05-17  浏览次数:20485 次

关于表和存储过程的权限设置问题
现在有一个数据库,有用户aaa,
我现在向这个数据库加了一个表和一个存储过程,用用户aaa执行存储过程的时候说没有权限,当然sa没问题

请问正确的做法是
1,先建表然后执行GRANT,把表和存储过程的权限给aaa

如果是1正确是不是应该这么写
GRANT SELECT,INSERT,UPDATE,DELETE ON [dbo].[表1] TO aaa
GRANT EXECUTE ON [dbo].[存储过程1] TO aaa



2,在建表和存储过程的同时赋予权限
如果2对,应该怎么写呢


谢谢了

------解决方案--------------------
--#1.一般创建所有对象,都放到dbo架构下(默认架构)
--#2.一般对于访问SQL SERVER的用户(比如你的aaa),都给一个数据库的db_owner权限(在这个数据库里,它什么都能干)
--#3.如果你的权限需要分到很细的话(细到一张表,一个存储过程的话),说明原因,大家给你想想方案。

------解决方案--------------------
2个grant语句正确无误.

据我所知,没有建表和存储过程的同时赋予权限的方法.