Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a:SQL Server
Azure SQL Database
Instancia administrada de Azure SQL
Azure Synapse Analytics
Analytics Platform System (PDW)
Punto de conexión de SQL Analytics en Microsoft Fabric
Almacén de datos en Microsoft Fabric
Base de datos SQL en la versión preliminar de Microsoft Fabric
Devuelve el nombre de inicio de sesión asociado a un número de identificación de seguridad (SID).
Convenciones de sintaxis de Transact-SQL
Sintaxis
SUSER_SNAME ( [ server_user_sid ] )
Argumentos
server_user_sid
Número de identificación opcional de seguridad del inicio de sesión.
server_user_sid es varbinary(85).
server_user_sid puede ser el número de identificación de seguridad de cualquier inicio de sesión de SQL Server, o de un usuario o grupo de Microsoft Windows. Consulte la columna sid en las vistas de catálogo sys.server_principals o sys.sql_logins. Si no se especifica server_user_sid, se devuelve información acerca del usuario actual. Si el parámetro contiene la palabra NULL, SUSER_SNAME devuelve NULL.
server_user_sid no se admite en Azure SQL Database ni en SQL Database en la versión preliminar de Microsoft Fabric.
Tipo de valor devuelto
nvarchar(128)
Comentarios
SUSER_SNAME se puede usar como restricción DEFAULT en ALTER TABLE o CREATE TABLE.
SUSER_SNAME se puede usar en una lista de selección, en una WHERE cláusula y en cualquier lugar donde se permita una expresión.
SUSER_SNAME siempre debe ir seguido de paréntesis, aunque no se especifique ningún parámetro.
Si se llama sin un argumento, SUSER_SNAME devuelve el nombre del contexto de seguridad actual. Si se llama sin un argumento en un lote que ha cambiado de contexto mediante EXECUTE AS, SUSER_SNAME devuelve el nombre del contexto suplantado. Cuando se llama desde un contexto suplantado, ORIGINAL_LOGIN devuelve el nombre del contexto original.
Comentarios de Azure SQL Database, SQL Database en Fabric
SUSER_SNAME siempre devuelve el nombre de inicio de sesión del contexto de seguridad actual.
La SUSER_SNAME instrucción no admite la ejecución mediante un contexto de seguridad suplantado a través EXECUTE ASde .
SUSER_SNAME no admite el argumento server_user_id.
Ejemplos
A. Uso de SUSER_SNAME
En el ejemplo siguiente se devuelve el nombre de inicio de sesión para el contexto de seguridad actual.
SELECT SUSER_SNAME();
GO
B. Uso de SUSER_SNAME con un identificador de seguridad de usuario de Windows
En el siguiente ejemplo se devuelve el nombre de inicio de sesión asociado a un número de identificación de seguridad de Windows.
SELECT SUSER_SNAME(0x010500000000000515000000a065cf7e784b9b5fe77c87705a2e0000);
GO
C. Uso de SUSER_SNAME como una restricción DEFAULT
En el ejemplo siguiente se usa SUSER_SNAME como restricción DEFAULT en una CREATE TABLE instrucción .
USE AdventureWorks2022;
GO
CREATE TABLE sname_example (
login_sname SYSNAME DEFAULT SUSER_SNAME(),
employee_id UNIQUEIDENTIFIER DEFAULT NEWID(),
login_date DATETIME DEFAULT GETDATE()
);
GO
INSERT sname_example DEFAULT
VALUES;
GO
D. Llamada a SUSER_SNAME junto con EXECUTE AS
En este ejemplo se muestra el comportamiento de SUSER_SNAME si se llama desde un contexto suplantado.
SELECT SUSER_SNAME();
GO
EXECUTE AS LOGIN = 'WanidaBenShoof';
SELECT SUSER_SNAME();
REVERT;
GO
SELECT SUSER_SNAME();
GO
Este es el resultado.
sa
WanidaBenShoof
sa
Ejemplos: Azure Synapse Analytics y Sistema de la plataforma de análisis (PDW)
E. Uso de SUSER_SNAME
En el ejemplo siguiente se obtiene el nombre de inicio de sesión que corresponde al número de identificación de seguridad con un valor de 0x01.
SELECT SUSER_SNAME(0x01);
GO
F. Devolución del inicio de sesión actual
En el ejemplo siguiente se devuelve el nombre de inicio de sesión del inicio de sesión actual.
SELECT SUSER_SNAME() AS CurrentLogin;
GO