无法在sql server 2000中创建与已删除用户名同名的新用户

时间:2012-10-31 18:41:10

标签: sql-server

我们必须从我们所有的数据库中删除一个旧的用户名,但是现在当我们尝试将其添加回来时,我们正在获得错误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。

2 个答案:

答案 0 :(得分:1)

请在您的数据库上尝试:

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

查看此link

答案 1 :(得分: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因为我不得不删除多个用户..