sql-server - 无法将新用户添加到 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”,因为它不存在或您没有权限。
解决方案
问题是尝试将User
and Role
s 添加到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
数据库的用户,此答案将无济于事。