it-swarm.com.de

So schreiben Sie Berechtigungen für alle Anmeldungen / Benutzer / Tabellen / Schemas

Im Laufe der Jahre habe ich unzählige Skripte und Anwendungen verwendet, um alle Berechtigungen für SQL Server-Datenbanken zu generieren. Ich habe sowohl kostenpflichtige als auch kostenlose Tools verwendet. Ich habe das Gefühl, dass keiner von ihnen in jedem Fall korrekt zu sein scheint. Ich suche einfach nach einer Möglichkeit, alle Berechtigungen für eine bestimmte Datenbank zu generieren, zusammen mit der Gewissheit, dass das Skript korrekt ist und nach einer Sicherung/Wiederherstellung von einer anderen Instanz verwendet werden kann. Hat jemand eine Methode, der er vertraut und die er regelmäßig anwendet?

7
SomeGuy

Ich habe einige gespeicherte Prozeduren, die ich regelmäßig geschrieben und verwendet habe.

Sie haben jeweils drei Ausgänge.

  • Principals: Eine Liste der Datenbank-/Serverprinzipien und der zugehörigen Informationen, einschließlich Skripten zum Erstellen/Löschen.
  • Role membership: Eine Liste der Rollen, zu denen jeder Datenbank-/Server-Principal gehört, sowie Add/Drop-Skripte.
  • Permissions: Eine Liste der einzelnen Berechtigungen (EXECUTE, INSERT, UPDATE, CONNECT usw.) für jeden Datenbank-/Server-Principal.

Offensichtlich ist der Srv sp für die Server-Principals und der DB sp für die Principals auf Datenbankebene. Der DB sp hat auch die Option 'Alle' für den Datenbanknamen. Mit dieser Option werden alle Berechtigungen für alle Datenbanken ausgeführt und abgerufen.

Hinweis: Dies war ursprünglich als Recherchetool gedacht, daher gibt es eine ganze Reihe von Optionen, mit denen Sie Ihre Daten analysieren können. Nur Rollen, alles andere als Rollen, nur ein bestimmter Hauptname usw.

5
Kenneth Fisher

sp_help_revlogin

Siehe: Übertragen von Anmeldungen und Kennwörtern zwischen Instanzen von SQL Server auf MSDN

Hat im vergangenen Sommer ziemlich gut für mich funktioniert.

2
Michael P