1

我们必须从所有数据库中删除旧用户名,但是现在当我们尝试将其添加回来时,我们得到错误 15023 用户已存在。我检查了所有数据库以确保它没有并且我已经运行

EXEC sp_change_users_login 'Auto_Fix', 'my_example_username'

然而,这个固定为 0,我仍然得到同样的错误。我还尝试在运行 auto_fix 时将域放在 my_example_username 前面,但仍然没有运气。

我通过登录并添加新用户在企业管理器中创建用户。

我正在运行 windows server 2000、iis 6 和 sql server 2003。

4

2 回答 2

1

请在你的数据库上试试这个:-

   EXEC sp_change_users_login 'Auto_Fix', 'my_example_username', NULL, 'Password'

看看这个链接

于 2012-10-31T18:51:54.163 回答
0

尝试运行

Select @@version

我认为您的版本是 2005。我在 2005 中遇到了同样的问题...

它解决了跑步

sp_change_users_login 'Auto_Fix', 'user'

或者

    declare @user nvarchar(20)
set @user = N'user'

    declare @qry as nvarchar(1000)
set @qry = 
'
--Me dice si tiene algun schema y el nombre  de este
SELECT name FROM  sys.schemas WHERE principal_id = USER_ID(''' + @user + ''')
---se lo sacamos
ALTER AUTHORIZATION ON SCHEMA:: ' + @user + ' TO dbo

--si tiene owner se lo sacamos
EXEC sp_droprolemember N''db_owner'', N''' + @user + '''
----borramos  al usr 
DROP USER [' + @user + ']
'
print (@qry)        
exec (@qry)

我使用动态 sql 因为我必须删除多个用户..

于 2012-10-31T18:55:03.627 回答