ich die folgende Fehlermeldung erhalten, wenn Sie eine gespeicherte Prozedur aufrufen, die einen Tabellenwertparameter als einer der Parameter hatTabelle Wertparameter in einer gespeicherten Prozedur wird Berechtigungen Fehler verweigert ausführen
Die EXECUTE
Berechtigung für das Objekt ‚validationerrors verweigert wurde '
validationerrors ist ein TVP mit der folgenden Anweisung erstellt:
CREATE TYPE [dbo].[ValidationErrors] AS TABLE(
[ErrorMessage] [varchar](255) NOT NULL
)
der Benutzer ausführen der gespeicherten Prozedur hat Berechtigungen für die gespeicherte Prozedur auszuführen. Ich bekomme jedoch immer noch den obigen Fehler. Irgendwelche Ideen?
Ich gewährte dem Objekt die "Kontrolle" -Erlaubnis und es scheint jetzt gut zu funktionieren. Das einfache Hinzufügen von "Referenzen" und "Ansichtsdefinition" hat nicht geholfen. Persönlich verstehe ich die Anforderung nicht, da es ein Typ ist und im Allgemeinen, wenn die Ausführung der gespeicherten Prozedur gewährt wird, müssen referenzierte Objekte keine bestimmten Berechtigungen erhalten. Dies hat jedoch möglicherweise etwas damit zu tun, dass der Benutzer in der Rolle "public" ist. Irgendwelche Gedanken? – chiefbrownbotom
Haben Sie versucht, EXECUTE-Berechtigungen zu erteilen (statt der Kontrolle)? Könnte es wert sein, das zu versuchen, bevor ich auf die Kontrolle – AdaTheDev
Ich sah keinen Platz zu gewähren ausführen von der SQL-Management-Studio. Ich habe nur die oben aufgeführten gesehen. Muss ich t-sql verwenden, um dies zu gewähren? – chiefbrownbotom