无法将新用户添加到 Azure SQL 数据库



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

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

脚本:

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_datarader",因为它不存在或您没有权限。

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

问题是尝试将UserRole添加到master数据库。

所需要的只是针对master创建Login,然后针对Azure SQL数据库服务器中的实际数据库创建User并分配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数据库的用户,这个答案将没有帮助。

最新更新