我恢复了 SQL 2000 服务器上的一个名为 R1 的数据库。我将 R1 添加到名为 JUNO 的用户的用户映射中。我收到错误:
User or role 'JUNO' already exists in the current database.
因此我在 R1 上以 SA 身份运行:
DROP USER JUNO
并得到:
Incorrect syntax near the keyword 'USER'.
所以我尝试了:
EXEC dbo.sp_revokedbaccess N'JUNO'
另一个错误:
Msg 15183, Level 16, State 1, Procedure sp_MScheck_uid_owns_anything, Line 17
The user owns objects in the database and cannot be dropped.
Msg 15284, Level 16, State 1, Procedure sp_MScheck_uid_owns_anything, Line 34
The user has granted or revoked privileges to the following in the database and cannot be dropped.
我的目标不是放弃 JUNO...而是允许 JUNO 访问数据库。使用不同的用户名不是一个选项。
有任何想法吗?
答案1
看起来这个办法奏效了:
sp_change_users_login 'Update_One', 'JUNO', 'JUNO'