sql >> Databasteknik >  >> RDS >> Sqlserver

Hur man kör sp_send_dbmail samtidigt som behörigheterna begränsas

Ditt tillvägagångssätt är OK, men ditt omslagsproc måste finnas i msdb-databasen. Sedan kör du "EXEC msdb.dbo._TestSendMail"

Detta lämnar fortfarande frågan om behörigheter på dbo._TestSendMail i msdb. Men public/EXECUTE kommer att räcka:det exponerar bara de 3 parametrarna du behöver.

Om du är osäker, lägg till MED KRYPTERING. Detta är tillräckligt bra för att hindra vem som helst utan sysadminrättigheter från att se koden

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. Hur fixar jag:mysql:[FEL] Hittade alternativet utan föregående grupp i konfigurationsfilen /etc/mysql/my.cnf?

  2. Byt namn på Oracle 11g. Garanterat atomär?

  3. Hur jämför man bäst med 0 i PHP?

  4. jenkins misslyckas när jag startar om min sql sudo:ingen tty närvarande och inget askpass-program specificerat. Tyvärr, försök igen.