xp_logininfo (Transact-SQL)

Se aplica a:SQL Server

Devuelve información sobre usuarios y grupos de Windows.

Convenciones de sintaxis de Transact-SQL

Sintaxis

xp_logininfo [ [ @acctname = ] 'account_name' ]
     [ , [ @option = ] 'all' | 'members' ]
     [ , [ @privilege = ] 'variable_name' OUTPUT ]

Argumentos

[ @acctname = ] '@acctname'

Nombre de un usuario o grupo de Windows al que se concedió acceso a SQL Server. @acctname es sysname, con un valor predeterminado de NULL. Si no se especifica @acctname , se notifican todos los grupos de Windows y los usuarios de Windows a los que se ha concedido explícitamente el permiso de inicio de sesión. @acctname deben estar completos. Por ejemplo, CONTOSO\macraes o BUILTIN\Administrators.

[ @option = ] 'all' | 'members' ]

Especifica si se presenta información de todas las rutas de acceso a permisos de la cuenta o si se presenta información de los miembros del grupo de Windows. @option es varchar(10), con un valor predeterminado de NULL. A menos que all se especifique, solo se muestra la primera ruta de acceso de permiso.

[ @privilege = ] 'variable_name' OUTPUT ]

Parámetro de salida que devuelve el nivel de privilegio de la cuenta de Windows especificada. @privilege es varchar(10), con un valor predeterminado de Not wanted. El nivel de privilegio devuelto es user, admin o null.

Cuando OUTPUT se especifica, esta opción coloca @privilege en el parámetro de salida.

Valores de código de retorno

0 (correcto) o 1 (erróneo).

Conjunto de resultados

Nombre de la columna Tipo de datos Descripción
nombre de cuenta sysname Nombre completo de la cuenta de Windows.
type char(8) Tipo de cuenta de Windows. Los valores válidos son user o group.
Privilegio char(9) Privilegio de acceso para SQL Server. Los valores válidos son admin, user o NULL.
nombre de inicio de sesión asignado sysname En el caso de las cuentas de usuario con privilegios de usuario, el nombre de inicio de sesión asignado muestra el nombre de inicio de sesión asignado que SQL Server intenta usar al iniciar sesión con esta cuenta mediante las reglas asignadas con el nombre de dominio agregado antes de ella.
ruta de acceso de permiso sysname Pertenencia al grupo que permite que la cuenta tenga acceso.

Comentarios

Si se especifica @acctname , xp_logininfo notifica el nivel de privilegio más alto del usuario o grupo de Windows especificado. Si un usuario de Windows tiene acceso como administrador del sistema y como usuario de dominio, se notifica como administrador del sistema. Si el usuario es miembro de varios grupos de Windows de nivel de privilegios iguales, solo se notifica el grupo al que se concedió acceso por primera vez a SQL Server.

Si @acctname es un usuario o grupo de Windows válido que no está asociado a un inicio de sesión de SQL Server, se devuelve un conjunto de resultados vacío. Si @acctname no se puede identificar como un usuario o grupo válidos de Windows, se devuelve un mensaje de error.

Si @acctname y all se especifican, se devuelven todas las rutas de acceso de permisos para el usuario o grupo de Windows. Si @acctname es miembro de varios grupos, todos los cuales se han concedido acceso a SQL Server, se devuelven varias filas. Las admin filas de privilegios se devuelven antes de las user filas de privilegios y, dentro de un nivel de privilegios, las filas se devuelven en el orden en que se crearon los inicios de sesión de SQL Server correspondientes.

Si se especifican @acctname y members , se devuelve una lista de los miembros de siguiente nivel del grupo. Si @acctname es un grupo local, la lista puede incluir usuarios locales, usuarios de dominio y grupos. Si @acctname es una cuenta de dominio, la lista se compone de usuarios de dominio. SQL Server debe conectarse al controlador de dominio para recuperar la información de pertenencia a grupos. Si el servidor no puede ponerse en contacto con el controlador de dominio, no se devuelve información.

xp_logininfo solo devuelve información de grupos globales de Active Directory, no de grupos universales.

Permisos

Requiere la pertenencia al rol fijo de servidor sysadmin o a la pertenencia al rol fijo de base de datos público de la master base de datos con el permiso EXECUTE concedido.

Ejemplos

En el ejemplo siguiente se muestra información sobre el BUILTIN\Administrators grupo de Windows.

EXEC xp_logininfo 'BUILTIN\Administrators';