Frage

Voraussetzung:

Es ist Client / Server-Anwendung in Delphi32 geschrieben. Das RDBMS ist SQL Server 2005. Eine bestimmte Anwendungsfunktionalität Erstellung / Abwurf von Trigger (aus der Anwendung unter Verwendung von Ad-hoc-DDL-Anweisungen) in der Zieldatenbank erfordert.

Problem:

Wenn ein Benutzer gehört Rollen sysadmin gibt es kein Problem / Drop zu erstellen auslöst. Allerdings gilt dies als eine zu permissiven Rolle für eine Anwendung Benutzer sein.

Fragen:

  • Was ist das Standard-Minimum (d restriktivsten) SQL Server-Rolle, die für die Erstellung / Abwurf von Triggern verwendet werden könnte?
  • Would Schaffung einer benutzerdefinierte Rolle, anstatt Standard diejenigen verwenden, bildet einen feinkörnigen Ansatz zur Lösung dieses Problems?
War es hilfreich?

Lösung

Es gibt verschiedene Optionen, je nach Umfang des Zuschusses (jeder Trigger in einer Datenbank, jede in einem Schema oder eine bestimmte Tabelle).

Im Allgemeinen werden die Berechtigungen für eine SQL-Operation erforderlich sind, in der SQL-Referenz dokumentiert. Z.B. für CREATE TRIGGER auf SQL 2008 finden Sie unter hier (nach unten scrollen zu "Berechtigungen"), in diesem Fall:

  

DML-Trigger erfordert ALTE persmission auf der Tabelle oder Sicht auf die der Trigger erstellt werden soll

Sie können eine Rolle gewährt schaffen nur die Berechtigungen, die Sie wollen, und dann Benutzer / Gruppen zu dieser Rolle hinzufügen, so dass die minimale Rolle ist eine Sie nur mit dem spezifischen Zugriff Sie ihre Mitglieder zulassen möchten, erstellen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top