/ / Trigger e sicurezza stored procedure in SQL Server - sql, sql-server, sql-server-2008, tsql

Trigger e sicurezza stored procedure in SQL Server - sql, sql-server, sql-server-2008, tsql

Ho un database (SQL Server) che viene utilizzatoda 20 utenti, tutti i membri hanno lo stesso ruolo di sicurezza. Il ruolo consente loro di inserire, eliminare e aggiornare a Table1, ma non dispongono di autorizzazioni per Table2.

Table1 ha un trigger che attiva una stored procedure, Table2_Refresh, che tronca Table2 e la ricompone da Table1.

Ho letto in alcuni punti che il grilletto ela stored procedure viene eseguita automaticamente come chiamante e quindi utilizza le autorizzazioni del chiamante, tuttavia 19 dei 20 utenti sono in grado di aggiornare Table1 e il trigger e SP vengono eseguiti correttamente. Un utente riceve un errore che gli dice che Table2 non può essere trovato.

So che posso mettere una riga "EXECUTE AS" in SQL,ma questo sta accadendo in più posti, e sembra che sia un problema con l'utente, quindi mi piacerebbe risolverlo lì, se possibile. Poiché le appartenenze e le autorizzazioni del ruolo sono identiche, esistono altri motivi per cui due utenti potrebbero riscontrare comportamenti diversi dal database?

risposte:

1 per risposta № 1

Il ruolo e le autorizzazioni sono chiaramente non identico ...

Accedono allo stesso modo (ad esempio utilizzano tutti la sicurezza integrata)?


0 per risposta № 2

Suggerisco di controllare lo schema predefinito diutente del database utilizzato da quell'accesso speciale. Se lo schema della tabella è dba ma lo schema predefinito dell'utente del database è dbo, l'interrogazione della tabella senza specificare lo schema avrà esito negativo.