6

我使用 SQL Azure 中非常有用的“CREATE AS COPY OF”命令编写了一个小应用程序来备份 SQL Azure 数据库。例如

CREATE DATABASE MyNewDB AS COPY OF MyOldDB

我使用管理员登录名运行此命令(创建服务器时获得的第一个登录名)。 我的问题:新登录名执行上述命令所需的最低权限是多少?

到目前为止,这是我所做的:

-- IN MASTER DB --
CREATE LOGIN DBCreator WITH PASSWORD = '?????????????'
CREATE USER DBCreator FROM LOGIN DBCreator;
EXEC sp_addrolemember 'dbmanager', 'DBCreator';

-- IN MyOldDB --
-- (I ran this stuff when the previous commands didn't do it) --
CREATE USER DBCreator FROM LOGIN DBCreator;
EXEC sp_addrolemember 'db_datareader', 'DBCreator';  -- 

运行上述 CREATE DATABASE 命令时的结果:

CREATE DATABASE permission denied in database 'MyOldDB'.
4

1 回答 1

1

我无法将 db_owner 角色添加到新登录,命令

EXEC sp_addrolemember 'db_owner', 'NewLogin'

抛出错误

Cannot alter the role 'db_owner', because it does not exist or you do not have permission.

但是使用 dbmanager 角色有效

EXEC sp_addrolemember 'dbmanager', 'NewLogin'

管理 Windows Azure SQL 数据库中的数据库和登录一文中提供了有用的信息。

于 2013-11-19T21:04:28.447 回答