我是SQL的新手,我想知道如何向Azure Sql Server中的指定用户授予select和其他权限 .
我正在尝试使用AUMC这样做,我创建了一个新的登录以及一个新用户 test
并授予我可以在AUMC上选择的所有权限 . (对于master数据库,我已将角色 loginmanager
和 dbmanager
分配给 test
,对于其他数据库,我已分配权限 db_owner
, db_securityadmin
, db_accessadmin
, db_backupoperator
, db_ddladmin
, db_datawriter
, db_datareader
, db_denydatawriter
, db_denydatareader
至 test
) .
设置完成后,我正尝试通过ssms登录Azure SQL Server . 登录成功,但除了 System Tables
之外,我在数据库上找不到任何表 . 当我执行 SELECT TOP 1 * FROM <a_table>
时,它返回 The SELECT permission was denied on the object <a_table>, database <the database>, schema dbo .
1 回答
问题可能是您将
test
用户添加到db_denydatawriter
和db_denydatareader
角色 . 这些角色 prevent 用户在数据库中读取或写入,覆盖其他角色(如db_datawriter
和db_datareader
)授予的权限 . 尝试从这两个'deny'角色中删除您的用户 .有关各种数据库级角色的更多信息,请参阅:https://msdn.microsoft.com/en-us/library/ms189121.aspx