如何在sqlazure中设置数据库的权限

本文关键字:数据库 权限 设置 sqlazure | 更新日期: 2023-09-27 18:24:03

有人能告诉我如何在SQL Azure中授予数据库权限吗?

当我执行创建表查询时,我得到以下消息:

数据库testDB 中的CREATE TABLE权限被拒绝

提前感谢:)

如何在sqlazure中设置数据库的权限

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

EXEC sp_addrolemember 'db_owner', 'YourNewUser';

看看这些脚本。这可能不是您想要的确切脚本。但这将帮助您创建想要的脚本

STEP1:在azure master数据库上运行这些脚本

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

'

步骤2:在实际的azure数据库上运行以下脚本,例如,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;

看看:在SQL Azure 中管理数据库和登录

确保您没有试图在master数据库中运行创建表脚本。

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