Magic Quadrant™ pour la gestion des accès privilégiés 2025 : Netwrix reconnue pour la quatrième année consécutive. Téléchargez le rapport.

Plateforme
Centre de ressourcesGuide pratique
Comment vérifier les privilèges utilisateur dans SQL Server

Comment vérifier les privilèges utilisateur dans SQL Server

Solution native

  • Démarrez Microsoft SQL Server Management Studio (MSSMS).
  • Dans le menu File, cliquez sur Connect Object Explorer. Ensuite, dans la boîte de dialogue Connect to Server :
    • Dans la liste déroulante Server type, sélectionnez Database Engine.
    • Dans la zone de texte Server name, saisissez le nom du serveur de cluster SQL.
    • In the Authentication list box, choose your SQL Server Authentication method and specify the user credentials. If you do not want to re-type the password every time you connect to the server, tick Remember password.
  • Cliquez Connect.
  • Lors de la connexion, cliquez sur « New Query » et collez la requête suivante dans le champ de requête (saisissez le nom d'utilisateur complet, tel que ENTERPRISE\J.Carter):
      --- Creating temporary table for permissions list ---
SELECT entity_class,
NAME AS entity_name,
subentity_name,
permission_name
INTO #permsummary
FROM (
--- Collecting object-level permissions ---
SELECT 'OBJECT' AS entity_class,
NAME,
subentity_name,
permission_name
FROM sys.objects
CROSS apply Fn_my_permissions(Quotename(NAME), 'OBJECT') a
UNION ALL
--- Collecting database-level permissions ---
SELECT 'DATABASE' AS entity_class,
NAME,
subentity_name,
permission_name
FROM sys.databases
CROSS apply Fn_my_permissions(Quotename(NAME), 'DATABASE') a
UNION ALL
--- Collecting server-level permissions ---
SELECT 'SERVER' AS entity_class,
@@SERVERNAME AS NAME,
subentity_name,
permission_name
FROM Fn_my_permissions(NULL, 'SERVER')) p
--- Grouping all effective permissions for single object ---
SELECT DISTINCT entity_class,
entity_name,
subentity_name,
permissions
FROM (SELECT *
FROM #permsummary) p1
CROSS APPLY (SELECT permission_name + ', '
FROM (SELECT *
FROM #permsummary) p2
WHERE p2.entity_class = p1.entity_class
AND p2.entity_name = p1.entity_name
AND p2.subentity_name = p1.subentity_name
ORDER BY entity_class
FOR xml path('')) D ( permissions )
--- Delete temporary table ---
DROP TABLE #permsummary
      
  • Cliquez Exécutez (ou appuyez sur la touche F5).
  • Examinez la liste des rôles au niveau du serveur et des principaux (noms des membres) dans les résultats de l'exécution de la requête :
Image

Netwrix Auditor pour SQL Server

  • Ouvrez Netwrix Auditor et naviguez vers Rapports -> Prédéfinis -> SQL Server - État dans le temps -> Permissions des comptes dans SQL Server.
  • Spécifiez les filtres suivants :
    • Dans le filtre User account, tapez le nom complet de l'utilisateur (tel que ENTERPRISE\J.Carter).
    • Dans le filtre Object type, choisissez Select all pour voir toutes les permissions d'un utilisateur.
  • Cliquez sur View pour voir un rapport clair sur les permissions effectives de l'utilisateur :
Image

Le champ « Moyens Accordés » reflète les rôles de serveur et les rôles de base de données attribués à l'utilisateur concerné. Cliquer sur les valeurs ouvrira le rapport SQL Server Moyens Accordés, qui montre chaque compte avec des permissions explicites et héritées sur l'objet SQL Server sélectionné et comment ces permissions ont été accordées.

Partager sur