我们必须从我们所有的数据库中删除一个旧的用户名,但是现在当我们尝试将其添加回来时,我们正在获得错误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。
答案 0 :(得分:1)
答案 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因为我不得不删除多个用户..