2012-02-11 131 views
8

任何人都可以请告诉我如何授予SQL Azure中的数据库权限?如何在sql azure中设置数据库的权限?

当我执行创建表的查询,我用下面的消息结束了:

create table权限在数据库TESTDB否认

感谢提前:)

+0

你连接什么用户SQL Azure的作为?它是否具有创建表的权限(例如,创建SQL Azure服务器时创建的admin用户)? – mcollier 2012-02-11 17:48:25

回答

0

SQL Azure使用与SQL Server相同的安全模式。看起来你使用非dbo用户来创建表。我认为你可以使用GRANT命令获得适当的权限。

+0

SQL Azure在安全性方面与SQL Server略有不同 - 为登录和用户IIRC使用不同的角色。 – jamiebarrow 2012-08-30 09:37:20

1

确保您没有试图在master数据库中运行create table脚本。

6

理想情况下,您只需分配用户所需的权限。如果您刚刚创建了希望能在新的数据库做任何一个新的用户,你可以使用服务器管理员用户该数据库中运行以下命令:

EXEC sp_addrolemember 'db_owner', 'YourNewUser'; 
3

看看这些脚本。这可能不是你要找for.But这将帮助您创建要

STEP1脚本的确切脚本:冉在Azure上masterdb这些脚本

CREATE LOGIN mydb_admin 
WITH PASSWORD = 'nnn' 
GO 
CREATE LOGIN mydb_user 
WITH PASSWORD = 'nnnnnnnnn 
GO 

'

第二步:冉下面的脚本实际蔚蓝分贝如MYDB

CREATE USER mydb_admin FROM LOGIN mydb_admin ; 
EXEC sp_addrolemember 'db_datareader', 'mydb_admin'; 
EXEC sp_addrolemember 'db_datawriter', 'mydb_admin'; 
GRANT CONNECT TO mydb_admin; 
GRANT SELECT TO mydb_admin; 
GRANT EXECUTE ON [dbo].[procDumpRowsInto_De_Common] TO [mydb_admin] AS [dbo] 

CREATE USER mydb_user FROM LOGIN mydb_user; 
EXEC sp_addrolemember 'db_datareader', 'mydb_user'; 
EXEC sp_addrolemember 'db_executor', 'mydb_user'; 
GRANT CONNECT TO mydb_user; 
GRANT SELECT TO mydb_user; 
+0

请仔细检查您的代码格式。它看起来像'GO是错误的类型。 – 2016-02-01 19:47:10