【发布时间】:2015-07-15 23:49:29
【问题描述】:
我只需要在 SQL Azure 数据库上创建一个新用户,该用户可以从每个表中选择/插入/更新/删除,并执行每个过程,但不能创建/更改/删除任何内容。
换句话说,我需要一个不能对数据库运行 DDL 命令的新用户。
我已经设法创建了登录名和用户(在主架构上)。 有什么帮助吗?
-- 编辑 1 一旦我在 SQL Azure 上创建了新用户,它就已经可以创建表和过程(因此,它是撤销该功能的基础)。以下是从 Master 数据库发出的命令:
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
【问题讨论】:
标签: sql azure azure-sql-database