sql >> Databáze >  >> RDS >> Sqlserver

Jak spustit sp_send_dbmail při omezení oprávnění

Váš přístup je v pořádku, ale váš wrapper proc musí být v databázi msdb. Potom spusťte "EXEC msdb.dbo._TestSendMail"

To stále ponechává problém oprávnění na dbo._TestSendMail v msdb. Ale public/EXECUTE bude stačit:odhalí pouze 3 parametry, které potřebujete.

Pokud máte pochybnosti, přidejte ŠIFROVÁNÍ. To je dost dobré na to, aby zabránil komukoli bez práv správce systému prohlížet kód

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. Vynutit složené jedinečné omezení, které závisí na hodnotě nadřazeného sloupce

  2. Rozdíl MySQL mezi dvěma řádky příkazu SELECT

  3. Jak se mám během místního vývoje s Kubernetes/minikube připojit k databázi postgres běžící na localhost?

  4. SQLite JSON_TREE()