"ALTER ROLE db_owner ADD MEMBER A"不起作用

Anu*_*dha 5 sql database sql-server

当我执行ALTER ROLE db_owner ADD MEMBER A它时会发出以下错误.

消息15151,级别16,状态1,行4
不能改变角色'A',因为它不存在或您没有权限.

这里ALTER ROLE它提到;

限制和限制

您无法更改固定数据库角色的名称.

但我找不到任何与此错误的关系.我要做的是添加一个不更改固定角色名称的成员.

任何对解决此事的支持都非常感谢

R. *_*rds 9

我认为你错过了一步.您有登录,但您没有将登录作为用户添加到数据库.以下所有步骤都是您所需要的.该CREATE USER步骤(数据库级调用)似乎是从你的工作缺少.

我不认为你需要它CREATE LOGIN,我只是想包含它,所以人们可以看到所需要做到这一点.

USE [master]
GO
CREATE LOGIN [A] WITH PASSWORD=N'<password>', DEFAULT_DATABASE=[master], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF
GO
USE [YourDatabase]
GO
CREATE USER [A] FOR LOGIN [A]
GO 
ALTER ROLE db_owner ADD MEMBER [A]
GO
Run Code Online (Sandbox Code Playgroud)

YourDatabase在尝试此操作之前,请更改为正确的值.

  • 谢谢,这有帮助。实际上对我来说有问题的部分是“登录”必须在 **master** 上下文中创建,但“用户”必须位于相关数据库中 (2认同)