Wie Sie wahrscheinlich wissen, bietet SQL Server keine sofort einsatzbereite Lösung zum Exportieren aller sicherheitsrelevanten Anweisungen, die für jedes Element in der Datenbank deklariert sind (sowohl auf Datenbankebene als auch auf Objektebene).
Ich spreche von der Fähigkeit, diese Informationen zu erhalten
- Alle Benutzer
- Alle benutzerdefinierten Rollen
- Alle Berechtigungen auf Datenbankebene (z. B. GRANT CREATE FUNCTION)
- Alle Berechtigungen auf Objektebene (zB GRANT SELECT ON OBJECT :: xxx)
Sie würden denken, dass SQL Server so etwas haben MUSS, aber weder der SQL Server-Export-Assistent noch die verschiedenen Skripts, die durch Klicken mit der rechten Maustaste auf die Objekte generiert werden, erfassen diese Informationen.
Ich habe online viele verschiedene "mögliche Lösungen" mit nicht kuratierten Skripten gesehen, die die Leute freundlicherweise veröffentlichen, aber da ich zu 100% sicher sein muss, dass alle Sicherheitsinformationen erfasst werden, kann ich mich nicht vollständig auf diese Skripte verlassen.
Ich habe die Möglichkeit, diese als Ausgangspunkt zu verwenden, um selbst etwas zu schreiben, aber ich hasse es, das Rad für eine Anforderung neu erfinden zu müssen, von der Sie denken, dass viele Menschen sie haben könnten.
Gibt es nicht ein von jemandem bereitgestelltes Tool (entweder als Teil des SQL Server-Produkts oder eines Tools eines Drittanbieters), das Ihnen diese Informationen zuverlässig zur Verfügung stellen könnte?
Oder gibt es zumindest ein von der Community unterstütztes Skript, dem die meisten Leute zustimmen würden, "wird den Job machen"?
Vielen Dank!
quelle
Es tut mir leid, dass Sie seit gestern keine Antwort mehr erhalten haben. Hier ist zumindest ein Ausgangspunkt für Sie.
Sie können versuchen, die benötigten Teile herauszuziehen. Lesen Sie wie immer die Diskussionsthreads (ich konnte leider kein Skript finden, das von den großen Namen unterstützt wird, die ich kenne. Testen Sie es daher gründlich! Berechtigungen auf Schema-, Objekt-, Server- und Spaltenebene fehlen häufig).
Ich habe keines davon verwendet, aber es handelt sich um eine Reihe von Ausgangspunkten in keiner bestimmten Reihenfolge.
Listen Sie alle Berechtigungen in allen Datenbanken auf
Automatisierte Berechtigungsprüfung mit Powershell und T-SQL: Teil 1
Berechtigungsskripting für alle Datenbanken
Berechtigungen auf Skript-DB-Ebene v2.1
Gespeicherte Prozedur zum Ausschreiben von Benutzerberechtigungen
Sicherheitsabfragen: Datenbankebene
Sicherheitsabfragen: Serverebene
quelle
https://gallery.technet.microsoft.com/Extract-Database-dfa53d5a/
Über diesen Link können Sie den folgenden Code herunterladen
quelle