sql >> Database >  >> RDS >> Sqlserver

Hoe sp_send_dbmail uit te voeren terwijl de machtigingen worden beperkt

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


  1. Python, converteer 9 tuple UTC-datum naar MySQL datetime-formaat

  2. Postgres `gin_trgm_ops` index wordt niet gebruikt

  3. ADF-filtertabel op basis van boomselectie

  4. Xmlparserv2-fout tijdens applicatie geïmplementeerd in jboss, Oracle ojdbc-module installeren in JBoss voor Java-webapplicatie