Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

comment gérer le remappage ne peut être fait que pour les utilisateurs qui ont été mappés sur des connexions Windows ou SQL

Un article sqlmatters explique que

on peut vérifier si c'est un tel cas en examinant le 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 

où les utilisateurs sans connexion ont un SID plus long que les utilisateurs réguliers (orphelins).

Ces utilisateurs spéciaux ne peuvent pas être mappés à une connexion car ils sont créés de cette façon. Quelqu'un doit avoir intentionnellement ou par erreur créé un utilisateur WITHOUT LOGIN .