Que peut-on faire, le cas échéant, lorsque l' guest
utilisateur spécial est orphelin (pas lié à une connexion)?
Pour l'une de mes bases de données (SQL Server 2005), l'exécution de ce qui suit répertorie l' utilisateur invité en tant qu'utilisateur orphelin.
exec sp_change_users_login 'report'
Résultats:
UserName UserSID
guest 0x3C2E66759FFBC14F84127D6795C27FD3
Si j'essaie de réparer l' utilisateur invité à l'aide de cette procédure, j'obtiens ce qui suit:
exec sp_change_users_login 'update_one', 'guest', 'guest'
Mettre fin à cette procédure. 'guest' est une valeur interdite pour le paramètre de nom de connexion dans cette procédure.
Si j'essaie de supprimer l'utilisateur, j'obtiens:
L'utilisateur «invité» ne peut pas être supprimé, il peut uniquement être désactivé.
select * from sys.database_principals where name = 'guest'
Résulte en:
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
La base de données semble confuse quant à savoir s'il s'agit d'un utilisateur spécial ou non. Peut-on faire quelque chose?
Terminating this procedure. 'guest' is a forbidden value for the login name parameter in this procedure.
0x3C2E66759FFBC14F84127D6795C27FD3
au lieu de0x00