请问有人可以告诉我如何在SQL Azure中授予数据库权限吗?
当我执行创建表查询时,出现以下消息:
在testDB数据库中拒绝了CREATE TABLE权限。
提前感谢 :)
请问有人可以告诉我如何在SQL Azure中授予数据库权限吗?
当我执行创建表查询时,出现以下消息:
在testDB数据库中拒绝了CREATE TABLE权限。
提前感谢 :)
理想情况下,您应该只为用户分配所需的权限。如果您刚刚创建了一个新用户,并希望该用户能够在新数据库中执行任何操作,您可以使用服务器管理员用户在该数据库内运行以下命令:
EXEC sp_addrolemember 'db_owner', 'YourNewUser';
请看这些脚本。可能不是您正在寻找的确切脚本,但这将帮助您创建所需的脚本。
步骤1:在Azure主数据库上运行这些脚本。
CREATE LOGIN mydb_admin
WITH PASSWORD = 'nnn'
GO
CREATE LOGIN mydb_user
WITH PASSWORD = 'nnnnnnnnn
GO
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使用与SQL Server相同的安全模式。看起来您使用了非dbo用户来创建表。我认为您可以使用GRANT命令来获取适当的权限。