在SQL Azure中复制数据库需要哪些权限

时间:2012-09-12 01:51:39

标签: azure-sql-database

我使用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'.

1 个答案:

答案 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中提供了有用的信息。