Essayez ceci :
EXECUTE AS user = 'special_user'
EXECUTE YourProcerdure
REVERT
voir ceux-ci :
Comprendre le changement de contexte
<<<has examples of things like you are trying to do
Comprendre le contexte d'exécution
Clause EXECUTE AS (Transact-SQL)
EXECUTE AS (Transact-SQL)