CREATE PROCEDURE [dbo].[stproc_ssb_send] (@iname varchar(20)) WITH EXECUTE AS 'xyz' AS BEGIN DECLARE @DIALOG_HANDLE UNIQUEIDENTIFIER DECLARE @MSG varchar(max) SET @MSG='<MESSAGE> <test>' + @iname + '</test> </MESSAGE>' BEGIN DIALOG CONVERSATION @DIALOG_HANDLE FROM SERVICE START_PROC_PROCESS_SERVICE TO SERVICE 'EXECUTE_PROC_PROCESS_SERVICE' ON CONTRACT [PROC_PROCESS_CONTRACT] WITH ENCRYPTION= OFF; SEND ON CONVERSATION @DIALOG_HANDLE MESSAGE TYPE PROC_PROCESS_MT(@MSG); END CONVERSATION @DIALOG_HANDLE END error: Msg 15517, Level 16, State 1, Procedure [stproc_ssb_send], Line 0 Cannot execute as the database principal because the principal "xyz" does not exist, this type of principal cannot be impersonated, or you do not have permission. XYZ is db_owner/db_ddladmin for this database. Proc created using "sa" & getting error while exec the proc