乐趣区

关于数据库:创建用户User-group-or-role-already-exists-in-the-current-database

在 SQL Server 数据库迁徙时,在另外一台服务器上复原数据库备份文件之后,须要从新创立之前数据库上的用户帐户。在创立登录用户时,须要在 User Mapping 中给该用户针对具体的数据库进行受权,因为复原进去的数据库中存在同名的用户帐户,创立时会呈现 ”User, group, or role already exists in the current database” 的谬误提醒。具体错误信息如下:

TITLE: Microsoft SQL Server Management Studio

Create failed for User ‘testuser’. (Microsoft.SqlServer.Smo)

ADDITIONAL INFORMATION:

An exception occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.ConnectionInfo)

User, group, or role ‘testuser’ already exists in the current database. (Microsoft SQL Server, Error: 15023)

之前的解决办法

在创立用户帐户(或者受权)之前,先在对应的数据库中删除该同名的用户帐户。

最新的解决办法

先创立用户帐户,不进行受权,而后通过上面的 SQL 语句将该用户帐户关联至对应的数据库用户。长处是防止了从新受权的操作。

USE 指标数据库;
EXEC sp_change_users_login ‘Update_One’, ‘ 指标数据库已存在的用户名 ’, ‘ 创立的登录用户名 ’

退出移动版