正在创建无法创建表的SQL Azure用户

正在创建无法创建表的SQL Azure用户,sql,azure,azure-sql-database,Sql,Azure,Azure Sql Database,我只需要在SQLAzure数据库上创建一个新用户,该用户可以从每个表中选择/插入/更新/删除,并执行每个过程,但不能创建/更改/删除任何内容 换句话说,我需要一个不能对数据库运行DDL命令的新用户 我已经在主模式上创建了登录名和用户。 有什么帮助吗 -编辑1 一旦我在sqlazure上创建了新用户,它就已经可以创建表和进程了,因此,撤销这一权力至关重要。此处是从主数据库发出的命令: CREATE LOGIN Sistema WITH PASSWORD = 'XXX'; CREATE USER

我只需要在SQLAzure数据库上创建一个新用户,该用户可以从每个表中选择/插入/更新/删除,并执行每个过程,但不能创建/更改/删除任何内容

换句话说,我需要一个不能对数据库运行DDL命令的新用户

我已经在主模式上创建了登录名和用户。 有什么帮助吗

-编辑1 一旦我在sqlazure上创建了新用户,它就已经可以创建表和进程了,因此,撤销这一权力至关重要。此处是从主数据库发出的命令:

CREATE LOGIN Sistema WITH PASSWORD = 'XXX';

CREATE USER Sistema 
FOR LOGIN Sistema 
WITH DEFAULT_SCHEMA = dbo; --This command was run on Master database, AND on my MainDatabase.
-基于Jisaak答案的解决方案:

--After creating login and user, I issued those commands from MainDatabase:

EXEC sp_addrolemember db_datareader, Sistema
EXEC sp_addrolemember db_datawriter, Sistema
EXEC sp_droprolemember db_owner, Sistema    --As it appears, SQL Azure defaults new users as "db_owners", which must be revoked
只需将db_datareader和db_datawriter数据库角色成员身份分配给用户。您可以使用在Azure上运行良好的:

EXEC sp_addrolemember 'db_datareader',  'USERNAME'
EXEC sp_addrolemember 'db_datawriter',  'USERNAME'
编辑:

您可以使用以下方法检查角色成员身份:


谢谢你的帮助。问题是:新用户一创建,他就可以创建表和进程,也可以修改/删除。另一个问题是,我正在接收Msg 15151,级别16,状态1,第1行无法更改角色“db_datareader”,因为它不存在或您没有权限。尝试使用主数据库中的sp_addtolemember分配角色时。我编辑了答案和代码示例,请重试。在尝试更改Azure SQL主数据库中的db_datareader时,我遇到了与@MarceloMyara完全相同的错误。同时,我看到它的存在,我可以改变像dbmanager这样的角色。对于那些有“不能改变角色…”错误的人来说。必须在主数据库上执行创建登录。必须在目标数据库上执行“创建用户查询”和“更改角色查询”。
select m.name as Member, r.name as Role
from sys.database_role_members
inner join sys.database_principals m on sys.database_role_members.member_principal_id = m.principal_id
inner join sys.database_principals r on sys.database_role_members.role_principal_id = r.principal_id