Chcesz użyć EXECUTE AS
w definicji SP.
CREATE PROCEDURE dbo.MyProcedure
WITH EXECUTE AS 'domain\user'
AS
...
Alternatywnie możesz wykonywać tylko niektóre polecenia jako użytkownik w ramach SP:
EXECUTE AS USER = 'Domain\User'
<Commands>
REVERT
Druga opcja może być preferowana w Twojej sytuacji, aby uniemożliwić ponowne zalogowanie się do bazy danych.