我是SQL的新手,我想知道如何向Azure Sql Server中的指定用户授予select和其他权限。
我正在尝试使用AUMC来执行此操作,我创建了一个新的用户以及一个新用户test
并授予我可以在AUMC上选择的所有权限。 (对于主数据库,我已将角色loginmanager
和dbmanager
分配给test
,对于其他数据库,我已分配权限db_owner
,db_securityadmin
,{ {1}},db_accessadmin
,db_backupoperator
,db_ddladmin
,db_datawriter
,db_datareader
,db_denydatawriter
到db_denydatareader
)。
设置完成后,我正尝试通过ssms登录Azure SQL Server。登录成功,但除了test
之外,我在数据库上找不到任何表。
当我执行System Tables
时,它会返回对象SELECT TOP 1 * FROM <a_table>
,数据库SELECT
,架构<a_table>
上的<the database>
权限被拒绝。
答案 0 :(得分:3)
问题可能是您要将test
用户添加到db_denydatawriter
和db_denydatareader
角色。这些角色阻止用户在数据库中读取或写入,覆盖其他角色(如db_datawriter
和db_datareader
)授予的权限。尝试从这两个'拒绝'角色中删除您的用户。
有关各种数据库级角色的详细信息,请参阅:https://msdn.microsoft.com/en-us/library/ms189121.aspx