我使用SQL Azure中非常有用的“CREATE AS COPY OF”命令编写了一个小应用程序来备份SQL Azure数据库。 e.g。
CREATE DATABASE MyNewDB AS COPY OF MyOldDB
我使用admin登录运行此命令(在创建服务器时首先登录)。 我的问题:新登录执行上述命令需要的最小权限是什么?
到目前为止,这就是我所做的:
-- 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'.
答案 0 :(得分: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'
文章Managing Databases and Logins in Windows Azure SQL Database中提供了有用的信息。