我有一个 (SS2005) 数据库,其中包含一个名为 MY_APPLICATION_USER 的用户。我正在尝试在该数据库中创建一个名为 MY_APPLICATION_USER 的角色。
当我尝试使用此脚本执行此操作时:
/****** Object: Role [MY_APPLICATION_USER] ******/
CREATE ROLE [MY_APPLICATION_USER] AUTHORIZATION [dbo]
GO
我收到错误消息:
Msg 15023, Level 16, State 1, Line 2
User, group, or role 'MY_APPLICATION_USER' already exists in the current database.
SQL Server 是否有限制不允许具有相同名称的用户和角色?我用谷歌搜索了各种问这个问题的方法,但没有找到任何解决这个问题的方法,但我肯定有可能错过了一些东西。
不,您不能拥有同名的用户和角色。这些对象都在 中存储和引用
sys.database_principals
,要求它们是唯一的。sys.database_principals MSDN 参考
从
name
参数中引用: