Saya mencoba mengirim email basis data tetapi saya dapat EXECUTE permission denied on the object 'sp_send_dbmail' database 'msdb', schema 'dbo'.
. Kode yang saya jalankan adalah sebagai berikut:
SELECT SUSER_NAME(), USER_NAME();
Create USER kyle_temp FOR LOGIN Foo
EXECUTE AS USER = 'kyle_temp';
SELECT SUSER_NAME(), USER_NAME();
EXEC msdb.dbo.sp_send_dbmail @profile_name = 'Mail Profile',
@recipients = 'test@test.com',
@subject = 'Test',
@body = 'Test'
REVERT;
DROP USER kyle_temp
Login Foo menunjukkan bahwa ia dipetakan ke Pengguna Foo di msdb. Ketika saya melihat pengguna foo di msdb saya melihat bahwa ia memiliki "DatabaseMailUserRole" Diperiksa dan memiliki Jalankan di dbo sp_send_dbmail
.
Apa yang saya lewatkan?