¿Cómo podemos mostrar todo lo asegurable que se agrega en un rol particular en el script?¿Ver todos los elementos para las funciones en la base de datos de SQL Server?
8
A
Respuesta
8
SELECT
OBJECT_NAME(major_id), USER_NAME(grantee_principal_id), permission_name
FROM
sys.database_permissions p
WHERE
p.class = 1 AND
OBJECTPROPERTY(major_id, 'IsMSSHipped') = 0
ORDER BY
OBJECT_NAME(major_id), USER_NAME(grantee_principal_id), permission_name
2
Aquí hay otro que estoy usando para hacer refactorizaciones de base de datos, actualizaciones o copias de seguridad. También admite permisos de nivel de columna. Esa declaración genera instrucciones GRANT. Pero es bastante fácil de adaptar.
SELECT 'GRANT ' + database_permissions.permission_name + ' ON ' +
CASE database_permissions.class_desc
WHEN 'SCHEMA' THEN schema_name(major_id)
WHEN 'OBJECT_OR_COLUMN' THEN
CASE WHEN minor_id = 0 THEN object_name(major_id) COLLATE Latin1_General_CI_AS_KS_WS
ELSE (SELECT object_name(object_id) + ' ('+ name + ')'
FROM sys.columns
WHERE object_id = database_permissions.major_id
AND column_id = database_permissions.minor_id) end
ELSE 'other'
END +
' TO ' + database_principals.name COLLATE Latin1_General_CI_AS_KS_WS
FROM sys.database_permissions
JOIN sys.database_principals
ON database_permissions.grantee_principal_id = database_principals.principal_id
LEFT JOIN sys.objects -- consider schemas
ON objects.object_id = database_permissions.major_id
WHERE database_permissions.major_id > 0
AND permission_name in ('SELECT','INSERT','UPDATE','DELETE')
Cuestiones relacionadas
- 1. Eliminar todos los datos en la base de datos SQL Server
- 2. Información de listado sobre todos los archivos de base de datos en SQL Server
- 3. cómo enumerar todos los objetos de una base de datos en particular en SQL Server 2005
- 4. Ver todo el texto en la columna ntext Management Studio de SQL Server para la base de datos SQL CE
- 5. Consulta SQL para mostrar todas las vistas en una base de datos de SQL Server 2005
- 6. ¿Eliminar todos los datos de la base de datos de SQL Server y luego volver a ingresar los datos de otra base de datos?
- 7. Migraciones de base de datos para SQL Server
- 8. Traer la base de datos de SQL Server en línea
- 9. Base de datos SQL Azure usando SQL Server Management Studio
- 10. Múltiples idiomas en una base de datos - SQL Server 2005
- 11. ¿Hay alguna herramienta para ver las consultas ejecutadas en la base de datos?
- 12. ¿Cómo debo estimar los requisitos de hardware para la base de datos de SQL Server 2005?
- 13. ¿Cómo puedo ver todas las concesiones para una base de datos SQL?
- 14. Almacenar una contraseña en la base de datos de SQL Server. ¿Las funciones de .Net son suficientes?
- 15. ¿Cómo se eliminan todos los procedimientos almacenados a la vez en la base de datos de SQL Server?
- 16. Código para insertar datos en la base de datos de SQL Server usando la biblioteca Enterprise
- 17. Consulta para obtener los nombres de todas las tablas en la base de datos de SQL Server 2008
- 18. Sincronización entre la base de datos SQL Lite en un dispositivo android y la base de datos SQL Server
- 19. ¿Cómo se migran los diagramas de la base de datos de SQL Server a otra base de datos?
- 20. ¿Quitar usuario de la base de datos de SQL Server?
- 21. Migrar la base de datos SQLite a Microsoft SQL Server
- 22. Consulta de SQL Server para encontrar todos los nombres de bases de datos actuales
- 23. Exponer la base de datos de SQL Server como servicio web para obtener datos de
- 24. ¿Cómo convertir la base de datos de SQL Server 2008 R2 a SQL Server 2012?
- 25. MySQL: Recorte todos los campos en la base de datos
- 26. SQL Server 2008R2 problema: "Tamaño de la propiedad no está disponible para la base de datos [] ..."
- 27. Desventajas del uso de SQL Server Compact frente a la base de datos SQL Server dedicada
- 28. ¿Cómo verificar una base de datos de SQL Server CE para los índices?
- 29. ¿El Asesor de ajuste de base de datos de SQL Server modifica los datos?
- 30. Generación de scripts para la membresía de la función de base de datos en SQL Server 2005
¿Tiene la versión SQL 2000 de este código? –
¿Es posible filtrar esto para agregar una columna que indique el tipo de objeto? es decir, tabla, vista, procedimiento almacenado, etc. – Adam