Tente isto:
EXECUTE AS user = 'special_user'
EXECUTE YourProcerdure
REVERT
veja estes:
Compreendendo a alternância de contexto
<<<has examples of things like you are trying to do
Compreendendo o contexto de execução
EXECUTE AS Clause (Transact-SQL)
EXECUTAR AS (Transact-SQL)