当特殊guest用户被孤立(未链接到任何登录)时,可以做什么(如果有的话)?
对于我的一个数据库 (SQL Server 2005),执行以下命令将来宾用户列为孤立用户。
exec sp_change_users_login 'report'
Run Code Online (Sandbox Code Playgroud)
结果:
UserName UserSID
guest 0x3C2E66759FFBC14F84127D6795C27FD3
Run Code Online (Sandbox Code Playgroud)
如果我尝试使用该过程修复来宾用户,则会得到以下信息:
exec sp_change_users_login 'update_one', 'guest', 'guest'
Run Code Online (Sandbox Code Playgroud)
终止此程序。'guest' 是此过程中登录名参数的禁止值。
如果我尝试删除用户,我会得到:
用户 'guest' 不能删除,只能禁用。
select * from sys.database_principals where name = 'guest'
Run Code Online (Sandbox Code Playgroud)
结果是:
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
Run Code Online (Sandbox Code Playgroud)
数据库似乎对这是否是特殊用户感到困惑。有什么可以做的吗?