Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

como lidar com o remapeamento só pode ser feito para usuários que foram mapeados para logins do Windows ou SQL


Um artigo sqlmatters explica que

pode-se verificar se é esse caso examinando o 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 

onde os usuários sem login têm SID mais longo do que os usuários regulares (órfãos).

Esses usuários especiais não podem ser mapeados para um login porque são feitos dessa forma. Alguém deve ter criado intencionalmente ou por engano um usuário WITHOUT LOGIN .