Bạn muốn sử dụng EXECUTE AS
trong định nghĩa SP.
CREATE PROCEDURE dbo.MyProcedure
WITH EXECUTE AS 'domain\user'
AS
...
Ngoài ra, bạn có thể chỉ thực thi một số lệnh nhất định với tư cách là người dùng trong SP:
EXECUTE AS USER = 'Domain\User'
<Commands>
REVERT
Tùy chọn thứ hai có thể phù hợp hơn trong tình huống của bạn để ngăn việc cấp cho người khác quyền truy cập đăng nhập vào cơ sở dữ liệu.