Uw aanpak is in orde, maar uw wrapper-proc moet in de msdb-database staan. Vervolgens voert u "EXEC msdb.dbo._TestSendMail" uit
Dit laat nog steeds de kwestie van permissies op dbo._TestSendMail in msdb. Maar public/EXECUTE is voldoende:het geeft alleen de 3 parameters weer die je nodig hebt.
Voeg bij twijfel MET ENCRYPTIE toe. Dit is goed genoeg om te voorkomen dat iedereen zonder systeembeheerdersrechten de code bekijkt
USE msdb
GO
CREATE PROCEDURE [dbo].[_TestSendMail]
(
@To NVARCHAR(1000),
@Subject NVARCHAR(100),
@Body NVARCHAR(MAX)
)
-- not needec WITH EXECUTE AS OWNER
AS
BEGIN
EXEC dbo.sp_send_dbmail @profile_name = N'myProfile',
@recipients = @To, @subject = @Subject, @body = @Body
END