Mi manca qualcosa durante il tentativo di utilizzare la mia stored procedure EXECUTE AS. La procedura memorizzata sta leggendo i dati source_db, li aggrega e memorizza i risultati target_db.
Lo sp stesso è dentro target_db. Ho un accesso dedicato e sulla mappa per gli utenti sia in source_dbe target_dbper il proprietario di sp (per cui v'è un utente app_agentin source_dbe target_dbper il loginapp_agent ).
Se accedo come app_agent, ed eseguo
EXEC target_db.app_agent_schema.import_data
tutto funziona bene. Ma se cambio
ALTER PROCEDURE app_agent_schema.import_data WITH EXECUTE AS OWNER` (or `AS SELF`)
e prova a eseguirlo, lancia
L'entità server "app_agent" non è in grado di accedere al database "source_db" nel contesto di sicurezza corrente.
Sto usando SQL Server 2008.
Qualcuno potrebbe segnalare il mio errore?
Grazie
Aggiornamento
Dopo aver fatto qualche ricerca, ho scoperto che ALTER DATABASE target_db SET TRUSTWORTHY ONrisolve il problema, ma non sembra la soluzione giusta per me ...