¿Cómo encontrar LoginName, nombre de usuario de base de datos, o los roles de usuario de dominio sqlserver que no tiene su propio acceso?

StackOverflow https://stackoverflow.com/questions/4268100

Pregunta

He creado un usuario y base de datos llamada "Usuarios MYDOMAIN \ Domain". Necesito encontrar qué funciones de un usuario conectado dominio tiene pero todas las llamadas para obtener el usuario actual devuelve el nombre de usuario de dominio, por ejemplo. "Dominio \ nombre de usuario" no es el nombre de usuario de base de datos, por ejemplo. "Los usuarios MYDOMAIN \ Domain".

Por ejemplo, la consulta devuelve este "dominio \ nombre de usuario"

select original_login(),suser_name(), suser_sname(), system_user, session_user,  current_user, user_name()

Y esta consulta devuelve 0

select USER_ID()

Quiero el nombre de usuario para database_role_members consulta ¿hay alguna función que devolverá o cualquier otra manera que puedo conseguir los papeles usuarios actuales?

¿Fue útil?

Solución

Yo entiendo que el inicio de sesión de usuarios del dominio está asignada en el grupo AD?

Hay que tener en cuenta que el usuario puede estar en varios grupos de anuncios y cada uno de ellos se puede asignar alguna manera en la base de datos que puede ser un poco desordenado. También significa que usted necesita algo con múltiples resultados:)

Prueba esto:

select * from sys.server_principals where type_desc = 'WINDOWS_GROUP' and is_member(name) = 1

creo que debería agarrar correctamente todos los inicios de sesión de grupo de Windows que serán vinculados con los usuarios particulares. Después de que usted puede unirse a ella para los usuarios de bases de datos es decir:.

Select u.name from YourDB.sys.syslogins l
inner join YourDB.sys.sysusers u
on l.sid = u.sid
where l.loginname = ANY (select * from sys.server_principals where type_desc = 'WINDOWS_GROUP' and is_member(name) = 1)

Hay que tener en cuenta que - todo el camino - puede que tenga que manejar conjuntos enteros en lugar de valores individuales

.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top