如果guest
孤立了该特殊用户(未链接到任何登录名),该怎么办?
对于我的一个数据库(SQL Server 2005),执行以下操作会将来宾用户列为孤立用户。
exec sp_change_users_login 'report'
结果:
UserName UserSID
guest 0x3C2E66759FFBC14F84127D6795C27FD3
如果尝试使用该过程修复来宾用户,则会得到以下信息:
exec sp_change_users_login 'update_one', 'guest', 'guest'
终止此过程。在此过程中,“ guest”是登录名参数的禁止值。
如果我尝试删除用户,则会得到:
不能删除用户“来宾”,只能将其禁用。
select * from sys.database_principals where name = 'guest'
结果是:
name guest
principal_id 2
type S
type_desc SQL_USER
default_schema_name guest
create_date 11/13/98 2:58 AM
modify_date 10/16/01 4:31 PM
owning_principal_id NULL
sid 0x3C2E66759FFBC14F84127D6795C27FD3
is_fixed_role 0
数据库似乎对于这是否是特殊用户感到困惑。有什么可以做的吗?
Terminating this procedure. 'guest' is a forbidden value for the login name parameter in this procedure.
0x3C2E66759FFBC14F84127D6795C27FD3
代替0x00