sql >> Base de Datos >  >> RDS >> Sqlserver

cómo lidiar con la reasignación solo se puede hacer para los usuarios que se asignaron a inicios de sesión de Windows o SQL

Un artículo de sqlmatters explica que

uno puede verificar si es tal caso examinando el 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 

donde los usuarios sin inicio de sesión tienen un SID más largo que los usuarios normales (huérfanos).

Estos usuarios especiales no se pueden asignar a un inicio de sesión porque están hechos de esa manera. Alguien debe haber creado intencionalmente o por error un usuario WITHOUT LOGIN .