gespeicherte Prozedur aufrufen von Daten in einem anderen schema

SQL Server 2008 R2: in der Regel erstellen wir unsere Tabelle und eine gespeicherte Prozedur zu, und erteilen Sie einem Benutzer die Berechtigung zum ausführen der gespeicherten Prozedur. Wir haben nie zu gewähren, die bestimmte Rechte für die Tabellen oder sichten, denn wenn diese Benutzer können die gespeicherte Prozedur ausführen, die SQL Server-folgert, dass die gespeicherte Prozedur ausführen darf die select/insert/update-Anweisungen. Funktioniert gut, weil wir nur den Umgang mit einem schema, aber jetzt haben wir ein Szenario, wobei die Tabellen in einem schema, sondern eine gespeicherte Prozedur in einem anderen. Wenn der Benutzer die gespeicherte Prozedur ausführt, erhalten Sie eine Fehlermeldung:

Meldung 229, Ebene 14, Status 5, Prozedur teststoredprocedure, Zeile 7 Die
Die SELECT-Berechtigung verweigert wurde, auf das Objekt 'testtable', Datenbank
'testdatabase", schema' testschema'.

teststoredprocedure ist in einem anderen schema als testtable. Ist es möglich, die gespeicherte Prozedur wählen Sie aus Tabellen, ohne die Gewährung der Benutzer spezifische Rechte auf die Tabellen?

  • Wenn eine Antwort richtig war oder hilfreich bitte akzeptieren oder upvote.
InformationsquelleAutor Jeremy | 2011-12-14
Schreibe einen Kommentar