Ich weiß, dass wir die Logins und die definierten Benutzer über die GUI in SQL Server überprüfen können, aber ich frage mich, wie wir diese Überprüfung mithilfe von Skripten durchführen können.
Ich habe die folgende Abfrage ausgeführt, aber sie zeigt "Principal_id" an. Ich bin nicht sicher, wie ich sie zuordnen soll, um die Berechtigungsstufe zu erhalten.
SELECT * FROM Sys.login_token
Gibt es eine integrierte gespeicherte Prozedur, die die Anmeldungen und die Benutzer mit ihrer Berechtigungsstufe auflisten kann ?
Vielen Dank.
sql-server
sql-server-2008
security
Himmel
quelle
quelle
Antworten:
Ich bin mir nicht sicher, ob es einen integrierten Weg gibt, aber probiere diese Abfrage für Server-Principals aus:
Grundsätzlich werden die Berechtigungen erteilt und verweigert und mit der Rollenmitgliedschaft verknüpft. Es sollte Ihnen einen kurzen Überblick über die Sicherheit für Serveranmeldungen geben. Lassen Sie mich wissen, ob Sie danach suchen.
quelle
CAST([srvperm].[state_desc] AS VARCHAR(MAX)) + ' ' + CAST(srvperm.[permission_name] AS VARCHAR(MAX)) + ' TO [' + CAST(srvprin.name AS VARCHAR(MAX)) + '];' as GrantQuery
Versuchen Sie es mit dieser Option - hier werden Benutzer, Objekte und die Berechtigungen aufgelistet, die sie für diese Objekte haben:
Sie sollten auch die Funktion sys.fn_my_permissions auschecken:
http://msdn.microsoft.com/en-us/library/ms188367.aspx
Hier sind ein paar Links, die dir auch helfen sollen:
Zulassungen: http://msdn.microsoft.com/en-us/library/ms191291.aspx
SYS.DATABASE_PERMISSIONS: http://msdn.microsoft.com/en-us/library/ms188367.aspx
Ich hoffe das hilft dir.
quelle