2010-09-20 4 views

Répondre

0

Cela peut vous donner un certain aperçu - cependant, vous ne pouvez pas vraiment voir ce qu'un utilisateur donné en termes de droits effectifs (puisque tous les droits qu'il pourrait avoir en raison de l'appartenance à un rôle de base de données ne sont pas visibles en soi):

SELECT 
    dp.class, 
    dp.class_desc, 
    dp.permission_name, 
    dp.state_desc, 
    p.name, 
    p.principal_id, 
    p.type_desc, 
    so.name 
FROM 
    sys.database_permissions dp 
INNER JOIN 
    sys.database_principals p ON dp.grantee_principal_id = p.principal_id 
INNER JOIN 
    sys.sysobjects so ON dp.major_id = so.id 

Mais au fond, la sys.database_permissions (et sys.server_permissions) contient les informations pertinentes sur les autorisations que vous pouvez joindre aux autres vues du catalogue système pour obtenir les informations que vous recherchez.

En outre, il s'agit d'une portée par base de données - Je ne pense pas qu'il existe un moyen d'obtenir les autorisations sur toutes les bases de données à la fois.

Questions connexes