Was kann getan werden, wenn der spezielle guest
Benutzer verwaist ist (nicht mit einem Login verknüpft)?
Für eine meiner Datenbanken (SQL Server 2005), die folgenden Listen der Ausführung Gast Benutzer als verwaiste Benutzer.
exec sp_change_users_login 'report'
Ergebnisse:
UserName UserSID
guest 0x3C2E66759FFBC14F84127D6795C27FD3
Wenn ich versuche , das zu beheben Gast Benutzer unter Verwendung dieses Verfahrens, erhalte ich die folgende:
exec sp_change_users_login 'update_one', 'guest', 'guest'
Beenden dieses Vorgangs. 'guest' ist ein verbotener Wert für den Parameter login name in diesem Verfahren.
Wenn ich versuche, den Benutzer zu löschen, erhalte ich:
Der Benutzer 'Gast' kann nicht gelöscht, sondern nur deaktiviert werden.
select * from sys.database_principals where name = 'guest'
Ergebnisse in:
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
Die Datenbank scheint verwirrt zu sein, ob dies ein spezieller Benutzer ist oder nicht. Gibt es etwas, das getan werden kann?
Terminating this procedure. 'guest' is a forbidden value for the login name parameter in this procedure.
0x3C2E66759FFBC14F84127D6795C27FD3
anstelle von0x00