我在我继承的一些SQL Server代码中遇到了这个谜:
GRANT INSERT TO SomeUserRole
我希望必须要指定一个表或视图。运行此工作正常,但似乎没有做任何事情。该角色无权插入任何表。有任何想法吗?如果可能的话,我想摆脱这个,但如果它以某种方式给角色一些访问权限,我将不得不保留它。
由于 乔
答案 0 :(得分:1)
grammar at MSDN表示在数据库级别使用时,唯一必需的子句是GRANT TO。该级别没有语法将其限制为特定的表。
GRANT <permission> [ ,...n ]
TO <database_principal> [ ,...n ] [ WITH GRANT OPTION ]
[ AS <database_principal> ]
<permission>::=
permission | ALL [ PRIVILEGES ]
<database_principal> ::=
Database_user
| Database_role
| Application_role
| Database_user_mapped_to_Windows_User
| Database_user_mapped_to_Windows_Group
| Database_user_mapped_to_certificate
| Database_user_mapped_to_asymmetric_key
| Database_user_with_no_login