我在sql中的grant命令中收到错误

时间:2018-06-06 04:12:11

标签: sql sql-server sql-server-2012 sql-server-2014

我在SQL Server 2012中使用grant为用户分配权限时收到错误。

SQL:

GRANT SELECT, INSERT, UPDATE, DELETE, EXECUTE, VIEW DEFINITION 
ON test TO [logintest]

错误:

  

Msg 15151,Level 16,State 1,Line 1
  找不到对象' test',因为它不存在或您没有权限。

2 个答案:

答案 0 :(得分:2)

如果"测试"表或数据库对象不在" dbo"架构,您应该在GRANT命令中显式设置架构名称,如下所示:

GRANT SELECT, INSERT, UPDATE, DELETE, EXECUTE, VIEW DEFINITION 
ON Sales.Orders TO [logintest]

在这种情况下,Orders表位于Sales架构

enter image description here

或者,如错误消息所示,您可能没有必要的权限来授予其他用户

的权限

答案 1 :(得分:1)

嗨,请参阅授权语法

  Grant privilageName on objectName  To{userName/Public/roleName} [with Grant opion]

例如

grant select on tbl_login to user24