SQL Server 2008 R2: normalmente, viene creata la nostra tabella e la stored procedure e si concede a un utente di eseguire i diritti sulla stored procedure. Non è mai necessario concedere diritti specifici alle tabelle o alle visualizzazioni poiché se l'utente può eseguire la stored procedure, SQL Server deduce che la stored procedure deve poter eseguire le istruzioni select/insert/update. Funziona bene perché abbiamo a che fare solo con uno schema, ma ora abbiamo uno scenario in cui le tabelle sono in uno schema, ma una stored procedure è in un'altra. Quando l'utente esegue la stored procedure, ottengono un errore:stored procedure che chiama i dati in uno schema diverso
Msg 229, Level 14, State 5, Procedure teststoredprocedure, Line 7 The SELECT permission was denied on the object 'testtable', database 'testdatabase', schema 'testschema'.
teststoredprocedure
è in uno schema diverso da quello testtable
. È possibile consentire alla stored procedure di selezionare dalle tabelle, senza concedere all'utente diritti specifici per tali tabelle?
Se qualsiasi risposta è stata corretta o utile, si prega di accettare o upvote. – Ben