在 SQL Server 2012 中使用 SP_AddRole 添加角色时,数据库中已有一个名为 "Test" 的对象
There is already an object named "Test" in the database while adding a role using SP_AddRole in SQL Server 2012
我正在尝试使用以下命令在 SQL Server 2016 的主数据库中添加一个角色:
SP_AddRole 'test'
我收到这个错误:
There is already an object named "test" in the database.
我检查了我的master数据库中的扩展角色,我发现我的master数据库中没有名称为“test”的角色。
我仍然尝试使用以下查询删除该角色:
Drop Role 'Test'
我收到这个错误:
Cannot drop the role because it does not exist or you do not have permissions
当我尝试使用以下查询更改角色时:
Alter Role Add Member "Domain\userName"
我遇到了如下相同的错误:
Cannot alter the role because it does not exist or you do not have permissions.
注意:我拥有 SQL 服务器和主数据库的所有权限和特权。
有人可以建议如何解决这个问题吗?
我无法更改角色名称,因为使用此名称创建角色对我的应用程序非常重要。
那个 SQL 服务器数据库中已经创建了一个 SCHEMA。
我已删除该架构
DROP SCHEMA Test
然后下面 SQL 查询成功了。
SP_AddRole 'Test'
当我创建角色时,会创建一个具有相同名称的默认模式,当我展开模式时它是可见的。
当我尝试删除角色时,我需要先删除架构,然后再删除角色。
即使具有相同名称(但角色不存在)的模式存在,SQL服务器也不允许我创建具有相同名称的新角色。
引用here
我正在尝试使用以下命令在 SQL Server 2016 的主数据库中添加一个角色:
SP_AddRole 'test'
我收到这个错误:
There is already an object named "test" in the database.
我检查了我的master数据库中的扩展角色,我发现我的master数据库中没有名称为“test”的角色。
我仍然尝试使用以下查询删除该角色:
Drop Role 'Test'
我收到这个错误:
Cannot drop the role because it does not exist or you do not have permissions
当我尝试使用以下查询更改角色时:
Alter Role Add Member "Domain\userName"
我遇到了如下相同的错误:
Cannot alter the role because it does not exist or you do not have permissions.
注意:我拥有 SQL 服务器和主数据库的所有权限和特权。
有人可以建议如何解决这个问题吗?
我无法更改角色名称,因为使用此名称创建角色对我的应用程序非常重要。
那个 SQL 服务器数据库中已经创建了一个 SCHEMA。
我已删除该架构
DROP SCHEMA Test
然后下面 SQL 查询成功了。
SP_AddRole 'Test'
当我创建角色时,会创建一个具有相同名称的默认模式,当我展开模式时它是可见的。
当我尝试删除角色时,我需要先删除架构,然后再删除角色。
即使具有相同名称(但角色不存在)的模式存在,SQL服务器也不允许我创建具有相同名称的新角色。
引用here