Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Berikan Akses Pengguna msdb ke Profil Email Database di SQL Server (T-SQL)

Untuk mengirim email menggunakan Database Mail di SQL Server, pengguna harus menjadi anggota DatabaseMailUserRole di msdb database, dan memiliki akses ke setidaknya satu profil Database Mail.

Untuk memberikan akses pengguna ke profil Database Mail dengan T-SQL, gunakan sysmail_add_principalprofile_sp prosedur tersimpan di msdb basis data.

Contoh

Berikut ini contoh untuk didemonstrasikan.

EXECUTE msdb.dbo.sysmail_add_principalprofile_sp
    @profile_name = 'DB Admin Profile',
    @principal_name = 'Marge',
    @is_default = 1;

Dalam hal ini saya memberikan akses “Marge” kepada pengguna ke profil “Profil Admin DB”.

Ini mengasumsikan bahwa profil dan pengguna sudah ada.

Dalam hal ini saya juga menentukan @is_default = 1 , yang menjadikan ini sebagai profil default bagi pengguna.

Tentukan ID Pengguna/Profil

Sebagai alternatif, Anda dapat menentukan ID pengguna dan/atau ID akun alih-alih namanya.

Oleh karena itu, kita dapat mengubah contoh sebelumnya menjadi seperti ini:

EXECUTE msdb.dbo.sysmail_add_principalprofile_sp
    @profile_id = 1,
    @principal_id = 25,
    @is_default = 1;

Ini jelas mengasumsikan bahwa itu adalah ID untuk akun yang dimaksud.

Perhatikan bahwa nama atau ID harus diberikan.

Selain itu, saat memberikan ID, ID tersebut diberikan sebagai int .

Perhatikan bahwa sysmail_add_principalprofile_sp prosedur tersimpan ada di msdb database, dan itu dimiliki oleh dbo skema. Oleh karena itu, Anda harus menggunakan penamaan tiga bagian jika Anda menjalankannya dari luar msdb basis data.

Profil Publik

Anda juga dapat menjadikan profil sebagai profil publik default untuk pengguna di msdb basis data.

EXECUTE msdb.dbo.sysmail_add_principalprofile_sp
    @profile_name = 'DB Public Profile',
    @principal_name = 'public',
    @is_default = 1;

Untuk membuat profil publik, tentukan @principal_id dari 0 atau @principal_name dari public . Profil publik tersedia untuk semua pengguna di msdb database (walaupun pengguna juga harus menjadi anggota DatabaseMailUserRole untuk mengeksekusi sp_send_dbmail ).

Perhatikan bahwa hanya ada satu profil publik default.

Mengonfigurasi Email Basis Data

Langkah-langkah di atas mengasumsikan bahwa Anda telah membuat profil Database Mail dan menambahkan setidaknya satu akun Database Mail ke profil itu.

Lihat Cara Mengirim Email di SQL Server untuk contoh lengkap konfigurasi Database Mail, lalu mengirim email.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. T-SQL:Bagaimana cara menggunakan parameter dalam SQL dinamis?

  2. Parameterise nama tabel di .NET/SQL?

  3. Menggunakan SQL Server sebagai penyimpanan Gambar

  4. Replikasi Basis Data SQL Server

  5. Buat Pemicu untuk mencatat SQL yang memengaruhi tabel?