Wie erstelle ich eine Tabelle der Berechtigungen für einen Datenbankbenutzer-Datenbanktabellen gewährt?

StackOverflow https://stackoverflow.com/questions/212681

  •  03-07-2019
  •  | 
  •  

Frage

Ich habe eine SQL Server 2000-Datenbank mit um ein paar hundert Tische. Es gibt mehrere SQL-Benutzerkonten, die auf diese Datenbank zugreifen können, aber jeder unterschiedliche Berechtigungen auf Tabellen in der DB gewährt.

Wie kann ich ein Skript erstellen, mir einen Bericht über die Berechtigungen für einen bestimmten Benutzer gewährt zu geben. das heißt zu erzeugen, so etwas wie:

Table      SELECT   DELETE   UPDATE    INSERT    ALTER
-----      ------   ------   ------    ------    -----
Invoices   Yes      No       Yes       Yes       No
Orders     Yes      Yes      Yes       Yes       No
Customers  Yes      No       Yes       Yes       No

und so weiter. Es ist Freitag, mein SQL-fu niedrig ist heute und ich habe eine Million andere Dinge zu tun, bevor hier heute fertig zu werden, und wenn jemand ein handliches Skript hat, dies zu tun bereits dann wäre ich ewig dankbar:)

War es hilfreich?

Lösung

Select TABLE_NAME, PRIVILEGE_TYPE
from INFORMATION_SCHEMA.TABLE_PRIVILEGES 
where GRANTEE = @username

Dies wird in SQL Server arbeiten 2000/2005/2008

Andere Tipps

Ich bin nicht sicher, ob dieses Verfahren für SQL 2000 funktioniert oder nicht, ist es nicht das genaue Format, aber es könnte man einen Teil des Weges dorthin zu gelangen, können Sie es aus, um Ihr Format schwenken können.

sys.sp_helprotect @Username = 'myUser'
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top