La documentación de MSDN dice para SUSER_SNAME función:T-SQL: SUSER_SNAME frente a SUSER_NAME?
devuelve el nombre de inicio de sesión de identificación del número de identificación de seguridad de un usuario (SID).
Más encima, se dice para la función SUSER_NAME:
Devuelve el nombre de identificación de inicio de sesión del usuario.
Sin embargo, cuando yo haga las siguientes sentencias SQL consigo el mismo resultado:
SELECT SUSER_NAME();
SELECT SUSER_SNAME();
Así que, ¿cuáles son las diferencias, y que uno se usar? ¿Hay una situación en la que debería usar una en lugar de la otra?
consejos Por favor,
Gracias de antemano :)
He ejecutado la declaración que proporcionó, y solo la tercera columna era nula, parece que 'SUSER_NAME' acepta tanto' principal_id' como 'sid'. Por cierto, estoy usando SQL Server 2012 si eso importa. –
@ MohammedA.Fadil: Extraño, estoy usando 2012 también, y la columna dos y tres son 'null'. Puede haber un caso de esquina donde 'cast (sid as int)' es igual a 'principal_id', pero eso es muy poco probable – Andomar
@MohammedA.Fadil: ¿Has iniciado sesión como sa cuando viste ese resultado? Veo principal_id = sid para los principales de servidor integrados. –