Magic Quadrant™ für Privileged Access Management 2025: Netwrix zum vierten Jahr in Folge anerkannt. Laden Sie den Bericht herunter.

Plattform
Ressourcen­zentrumAnleitung
So überprüfen Sie Benutzerprivilegien in SQL Server

So überprüfen Sie Benutzerprivilegien in SQL Server

Native Lösung

  • Starten Sie Microsoft SQL Server Management Studio (MSSMS).
  • Im Menü File klicken Sie auf Connect Object Explorer. Dann im Dialogfeld Connect to Server:
    • In der Liste Server type wählen Sie Database Engine.
    • Geben Sie im Textfeld „Server name“ den Namen des SQL-Cluster-Servers ein.
    • Im Authentication-Listenfeld wählen Sie Ihre SQL Server Authentication-Methode aus und geben Sie die Benutzerdaten an. Wenn Sie das Passwort nicht jedes Mal neu eingeben möchten, wenn Sie sich mit dem Server verbinden, aktivieren Sie Remember password.
  • Klicken Sie auf Connect.
  • Nach der Verbindung klicken Sie auf „New Query“ und fügen Sie die folgende Abfrage in das Abfragefeld ein (geben Sie den vollständigen Benutzernamen ein, wie zum Beispiel 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
      
  • Klicken Sie auf Ausführen (oder drücken Sie die F5-Taste).
  • Überprüfen Sie die Liste der Serverebenen-Rollen und Prinzipale (Mitgliedernamen) in den Ergebnissen der Abfrageausführung:
Image

Netwrix Auditor für SQL Server

  • Öffnen Sie Netwrix Auditor und navigieren Sie zu Berichte -> Vorgefertigt -> SQL Server - Zustand zu einem Zeitpunkt -> Kontoberechtigungen in SQL Server.
  • Geben Sie die folgenden Filter an:
    • Im User account-Filter geben Sie den vollständigen Benutzernamen ein (wie zum Beispiel ENTERPRISE\J.Carter).
    • Im Filter für den Object type wählen Sie Select all um alle Berechtigungen für einen Benutzer zu sehen.
  • Klicken Sie auf View um einen klaren Bericht über die effektiven Berechtigungen für den Benutzer zu sehen:
Image

Das Feld „Means Granted“ spiegelt die dem Benutzer zugewiesenen Serverrollen und Datenbankrollen wider. Durch Anklicken der Werte wird der SQL Server Means Granted-Bericht geöffnet, der jedes Konto mit expliziten und geerbten Berechtigungen für das ausgewählte SQL Server-Objekt anzeigt und wie diese Berechtigungen erteilt wurden.

Teilen auf