Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

come gestire la rimappatura può essere eseguita solo per gli utenti che sono stati mappati su accessi Windows o SQL

Un articolo di sqlmatters lo spiega

si può verificare se è un caso del genere esaminando il SID:

 -- SQL to run to identify users without login :
SELECT CASE WHEN DATALENGTH(sid) = 28
             AND type = 'S'       -- only want SQL users
             AND principal_id > 4 -- ignore built in users
     THEN 1 ELSE 0 END AS is_user_without_login,*
FROM sys.database_principals 

dove gli utenti senza login hanno un SID più lungo rispetto agli utenti normali (orfani).

Questi utenti speciali non possono essere associati a un login perché sono creati in questo modo. Qualcuno deve aver creato intenzionalmente o per errore un utente WITHOUT LOGIN .