Como probablemente sepan, SQL Server no proporciona una solución lista para usar para exportar todas las declaraciones relacionadas con la seguridad que se declaran para cada elemento de la base de datos (tanto a nivel de base de datos como a nivel de objeto)
Estoy hablando de la capacidad de llegar a esta información.
- Todos los usuarios
- Todos los roles definidos por el usuario
- Todos los permisos en el nivel de la base de datos (por ejemplo, GRANT CREATE FUNCTION)
- Todos los permisos a nivel de objeto (por ejemplo, GRANT SELECT ON OBJECT :: xxx)
Se podría pensar que SQL Server DEBE tener algo como esto, pero ni el Asistente de exportación de SQL Server ni los diversos scripts que se generan como resultado de hacer clic con el botón derecho en los objetos capturan esta información.
He visto en línea muchas "posibles soluciones" diferentes utilizando scripts no seleccionados que las personas publican gentilmente, pero como tengo que estar 100% seguro de que se captura toda la información de seguridad, no puedo confiar completamente en esos scripts.
Tengo la opción de usarlos como punto de partida para escribir algo yo mismo, pero odio tener que reinventar la rueda por un requisito que pensarías que muchas personas pueden tener.
¿No hay una herramienta proporcionada por alguien (ya sea como parte del producto SQL Server o una herramienta de terceros) que pueda proporcionarle esta información de manera confiable?
O al menos, ¿hay un guión apoyado por la comunidad en el que la mayoría de la gente estaría de acuerdo "hará el trabajo"?
¡Gracias!
fuente
Lamento que no hayas tenido una respuesta desde ayer; Aquí hay al menos un punto de partida para usted.
Puedes intentar sacar las piezas que necesitas. Como siempre, lea los hilos de discusión (lamentablemente, no pude encontrar un script respaldado por los grandes nombres que reconozco, ¡así que pruebe a fondo! A menudo faltan los permisos de esquema, objeto, servidor y nivel de columna).
En realidad no he usado ninguno de estos, pero son un conjunto de puntos de partida, sin ningún orden en particular.
Listar todos los permisos en todas las bases de datos
Auditoría de permisos automatizada con Powershell y T-SQL: Parte 1
Permiso de secuencias de comandos en todas las bases de datos
Script DB Level Permissions v2.1
Procedimiento almacenado para script de permisos de usuario
Consultas de seguridad: nivel de base de datos
Consultas de seguridad: nivel de servidor
fuente
https://gallery.technet.microsoft.com/Extract-Database-dfa53d5a/
consulte ese enlace para descargar el siguiente código
fuente