Comment pouvons-nous montrer tous les sécurables qui sont ajoutés dans un rôle particulier dans le script?Afficher tous les éléments de sécurité pour les rôles dans la base de données SQL Server?
8
A
Répondre
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
En voici une autre que j'utilise pour faire des refactorings de base de données, des mises à jour ou des sauvegardes. Il prend également en charge les autorisations au niveau des colonnes. Cette instruction génère des instructions GRANT. Mais c'est assez facile à adapter.
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')
Questions connexes
- 1. Rôles de base de données SQL 2005 et sécurité
- 2. Comment afficher tous les objets d'une base de données particulière dans SQL Server 2005
- 3. Rôles de base de données SQL Server via SMO
- 4. Comment supprimer tous les index de base de données d'une base de données SQL Server
- 5. Générer un script pour tous les objets pour la base de données SQL Server
- 6. SQL Server: interrogation des rôles d'utilisateur de la base de données pour toutes les bases de données du serveur
- 7. Sécurité des rôles SQL + page de base personnalisée ASP.Net
- 8. Dans SQL Server 2005, comment puis-je écrire une requête pour lister tous les login, leur rôle de serveur, correspondre à l'utilisateur dans tous les rôles db, db?
- 9. Rôle de rôle dans la base de données SQL Server?
- 10. Comment charger les rôles de la base de données pour un utilisateur anonyme dans la sécurité de printemps 3?
- 11. JAAS - isUserInRole retourne false pour tous les rôles dans Tomcat
- 12. Remplacer la base de données SQL Server
- 13. Modifier les rôles de plusieurs comptes de sécurité
- 14. Requête SQL Server pour trouver tous les noms de base de données en cours
- 15. Solution complexe pour maintenir la sécurité basée sur les rôles
- 16. bibliothèques de sécurité pour SQL Server
- 17. Comment afficher les requêtes précédentes dans la base de données SQL Server 2000
- 18. Schémas de base de données SQL Server
- 19. Comment afficher les rôles de serveur SQL Server 2000 via une requête SQL
- 20. Rôles, schémas, utilisateurs SQL Server
- 21. requête SQL pour afficher les données db
- 22. Sécurité de la base de données
- 23. Liste des utilisateurs et de leurs rôles dans SQL Server
- 24. Comment afficher les données existantes dans les données de base?
- 25. Dans SQL Server, comment accorder uniquement l'autorisation "lecture seule" à tous les objets de base de données?
- 26. Comment afficher la valeur de base de données SQL Server dans la zone de saisie?
- 27. Afficher les noms de fichiers complets dans SQL Server
- 28. Comment obtenir une liste de tous les schémas d'une base de données Sql Server
- 29. Protection de base de données SQL Server
- 30. Préparer la base de données pour le clustering SQL Server
Avez-vous la version SQL 2000 de ce code? –
Est-il possible de filtrer ceci pour ajouter une colonne qui indique le type d'objet? c'est-à-dire table, vue, procédure stockée, etc. – Adam