SQL Server 2005 - Erteilung der Berechtigung zum erstellen von gespeicherten Prozeduren (aber keine anderen Objekte)
Will ich gewähren Sie einem Benutzer die Berechtigung zum erstellen, ändern und ausführen von gespeicherten Prozeduren, aber ohne die Fähigkeit zum erstellen anderer Datenbankobjekte. Ich ausgeschlossen, Sie aus der Rolle db_ddladmin, sondern explizit erteilt die Berechtigungen "Create procedure" und "Ausführen". Diese permssions angezeigt, in die Sie die effektiven Berechtigungen-Liste. Jedoch wenn ich versuchen, eine gespeicherte Prozedur erstellen, mit diesem einloggen, bekomme ich die folgende Fehlermeldung:
"Der angegebenen schema-Namen "dbo" entweder nicht vorhanden oder Sie haben nicht die Erlaubnis, es zu benutzen."
Irgendwelche Vorschläge?
InformationsquelleAutor user17777 | 2008-10-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
Kann ein Benutzer zum erstellen von Prozeduren in ein schema, das Sie besitzen. So können Sie ein schema für den Benutzer zu tun, die Entwicklung der Arbeit. Dann, wenn es sein muss, dbo, der admin kann ihn dort, wenn die Entwicklung fertig ist.
InformationsquelleAutor ScottStonehouse
Wenn Sie erstellen (oder verändern) und eine gespeicherte Prozedur ausführen, können Sie nichts tun.
Ausführung einer gespeicherten Prozedur impliziert alle anderen Berechtigungen, die im Rahmen der Prozedur. Also, wenn Sie ändern können, ein Verfahren und führen Sie es, es gibt keinen Punkt, die Einschränkung nichts anderes. Könnte man machen nur die Verfahren, die als proxy in Ihrem Namen.
In SQL Server, es ist nur unsicher, wenn der Benutzer kann gespeicherte Prozeduren erstellen, die in einem schema, das im Besitz eines anderen Benutzers. Gespeicherte Prozeduren ausgeführt unter der Identität des Anrufers, oder der Eigentümer (Ihrer Wahl), und unterdrücken Sie die Berechtigungen überprüfen, die auf andere Objekte im Eigentum von dem Besitzer der gespeicherten Prozedur. So ein eigenes schema ist ein zuverlässiges sandbox.
InformationsquelleAutor Joel Coehoorn