Je sais que nous pouvons vérifier les connexions et les utilisateurs qui sont définis, en utilisant l'interface graphique dans SQL Server, mais je me demande comment nous pouvons faire cette vérification en utilisant un script.
J'ai exécuté la requête ci-dessous mais elle montre Principal_id que je ne sais pas comment mapper pour obtenir le niveau d'autorisation.
SELECT * FROM Sys.login_token
Y a-t-il donc un proc stocké intégré qui peut répertorier les connexions et les utilisateurs avec leur niveau d'autorisation ?
Je vous remercie.
Réponses:
Je ne sais pas s'il existe une méthode intégrée, mais essayez cette requête pour les principaux du serveur:
Fondamentalement, ce qu'il fait obtient les autorisations accordées et refusées et les associe au rôle d'appartenance. Il devrait vous donner un bref aperçu de la sécurité des connexions au serveur. Faites-moi savoir si c'est ce que vous recherchez.
la source
CAST([srvperm].[state_desc] AS VARCHAR(MAX)) + ' ' + CAST(srvperm.[permission_name] AS VARCHAR(MAX)) + ' TO [' + CAST(srvprin.name AS VARCHAR(MAX)) + '];' as GrantQuery
ce qui aide à répliquer ces autorisations si vous migrez un serveur :)Essayez celui-ci - cela répertoriera les utilisateurs, les objets et les autorisations dont ils disposent sur ces objets:
Vous devriez également consulter la fonction sys.fn_my_permissions:
http://msdn.microsoft.com/en-us/library/ms188367.aspx
Voici quelques liens qui devraient également vous aider:
AUTORISATIONS: http://msdn.microsoft.com/en-us/library/ms191291.aspx
SYS.DATABASE_PERMISSIONS: http://msdn.microsoft.com/en-us/library/ms188367.aspx
J'espère que ceci vous aide.
la source