0

Obtener grupos de dominio y sus usuarios con rol sysadmin

A menudo como DBAs nos toca realizar pequeños trabajo de auditoria sobre nuestras bases de datos o instancias. Hace unas semanas, uno de nuestros clientes nos solicitó obtener todos los usuarios con rol sysadmin sobre una instancia concreta. Dichos datos se pueden obtener a través de la vista de sistema sys.syslogins.

Normalmente trabajamos con logins tanto del propio SQL Server como de dominio. Entonces ¿qué ocurre si trabajamos con grupos de nuestro directorio activo? ¿Cómo obtenemos la información de los usuarios de dichos grupos?

Esta información la podemos obtener a través de SQL Server con el procedimiento almacenado incluído en la base de datos master xp_logininfo:

El cual nos da, tras obtener la información de nuestros inicios de sesión, la información de los grupos de seguridad de Windows. Para ello necesitamos tener permisos sobre el directorio activo (AD) de nuestro dominio. Si la cuenta de servicio del SQL Server no tiene permisos, nos mostrará un error similar a este:

Una vez comprobados, u otorgados, los permisos en AD podemos lanzar la siguiente query:

Como podemos observar en el resultado de la ejecución de la query, obtenemos los login y usuarios de los grupos de seguridad de dominio que tienen privilegios de sysadmin sobre nuestra instancia:

También, como ya tratamos en la entrada de ‘SP_WHO y cómo filtrarlo’ , podemos realizar una tabla temporal y manipular nuestros datos. Os dejamos cómo sería dicho script:

Esperemos que os haya servido de utilidad tanto como a nosotros.

Si tenéis cualquier sugerencia o duda lanzarnos un correo o un comentario en este post 🙂

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *