首页 > 解决方案 > 无法将新用户添加到 Azure SQL 数据库

问题描述

尝试将新的 SQL Server 身份验证用户添加到 Azure SQL 数据库实例。正在使用下面的脚本。我以服务器管理员身份登录。

但该脚本在分配成员角色时失败。登录名和用户已创建,但我无法登录到数据库服务器。

脚本:

use [master]

CREATE LOGIN test WITH password='somethingsecure';
GO

CREATE USER test FROM LOGIN test;
GO

EXEC sp_addrolemember 'db_datareader', 'test';

EXEC sp_addrolemember 'db_datawriter', 'test';

但是,上面的脚本失败并出现以下错误:

消息 15151,级别 16,状态 1,第 6 行无法更改角色“db_datareader”,因为它不存在或您没有权限。

消息 15151,级别 16,状态 1,第 6 行无法更改角色“db_datawriter”,因为它不存在或您没有权限。

标签: sql-servertsqlazure-sql-database

解决方案


问题是尝试将Userand Roles 添加到master数据库中。

所需要做的就是创建Login反对master,然后针对 Azure SQL 数据库服务器中的实际数据库创建User和分配s。Role

查看修改后的脚本:

use [master]

CREATE LOGIN test WITH password='somethingsecure';
GO

use [your-database]

CREATE USER test FROM LOGIN test;
GO

EXEC sp_addrolemember 'db_datareader', 'test';

EXEC sp_addrolemember 'db_datawriter', 'test';

注意:如果您想创建一个有权访问master数据库的用户,此答案将无济于事。


推荐阅读