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

Cara Menghapus Akun Email Database dari Profil di SQL Server (T-SQL)

Di SQL Server, Anda dapat menggunakan sysmail_delete_profileaccount_sp prosedur tersimpan untuk menghapus akun Database Mail dari profil.

Anda dapat menghapus akun dari profil tertentu, atau Anda dapat menghapusnya dari semua profil. Anda juga dapat menghapus semua akun dari profil tertentu.

Cara kerjanya adalah, Anda memberikan dua argumen; nama akun atau ID-nya, dan nama profil atau ID-nya. Jika Anda menghilangkan argumen untuk profil, akun akan dihapus dari semua profil. Jika Anda menghilangkan argumen untuk akun tersebut, maka semua akun akan dihapus dari profil.

Hapus Akun Tertentu dari Profil Tertentu

Berikut adalah contoh untuk mendemonstrasikan cara menghapus akun dari satu profil.

Pertama, panggil sysmail_help_profileaccount_sp untuk melihat berapa banyak asosiasi akun/profil yang saya miliki.

EXEC msdb.dbo.sysmail_help_profileaccount_sp;

Hasil:

+--------------+-------------------+--------------+----------------+-------------------+
| profile_id   | profile_name      | account_id   | account_name   | sequence_number   |
|--------------+-------------------+--------------+----------------+-------------------|
| 3            | DB Admin Profile  | 3            | DB Admin       | 1                 |
| 2            | DB Public Profile | 2            | DB Public      | 1                 |
+--------------+-------------------+--------------+----------------+-------------------+

Saya memiliki dua asosiasi. Mari kita hapus yang pertama. Di sinilah akun yang disebut "Admin DB" milik profil yang disebut "Profil Admin DB").

Berikut cara menghapusnya berdasarkan nama akun dan nama profil.

EXEC msdb.dbo.sysmail_delete_profileaccount_sp
    @profile_name = 'DB Admin Profile',  
    @account_name = 'DB Admin';

Nama profil dan akun adalah nama sistem dengan default NULL .

ID, jika Anda memilih untuk menggunakannya, adalah sysname dengan default NULL .

Sekarang mari kita panggil sysmail_help_profileaccount_sp lagi, untuk melihat berapa banyak asosiasi yang kita miliki sekarang.

EXEC msdb.dbo.sysmail_help_profileaccount_sp;

Hasil:

+--------------+-------------------+--------------+----------------+-------------------+
| profile_id   | profile_name      | account_id   | account_name   | sequence_number   |
|--------------+-------------------+--------------+----------------+-------------------|
| 2            | DB Public Profile | 2            | DB Public      | 1                 |
+--------------+-------------------+--------------+----------------+-------------------+

Seperti yang diharapkan, kami sekarang hanya memiliki yang kedua.

Hapus Akun dari SEMUA Profil

Anda dapat menghapus akun dari semua profil dengan menghilangkan detail profil. Dengan kata lain, berikan nama atau ID akun, tetapi bukan profilnya.

Seperti ini:

EXEC msdb.dbo.sysmail_delete_profileaccount_sp 
    @account_name = 'DB Admin';

Hapus SEMUA Akun dari Profil

Anda dapat menghapus semua akun dari profil dengan menghilangkan detail akun. Dengan kata lain, berikan nama profil atau ID, tetapi bukan akunnya.

Seperti ini:

EXEC msdb.dbo.sysmail_delete_profileaccount_sp 
    @profile_name = 'DB Admin Profile';

Lokasi Prosedur Tersimpan

sysmail_delete_profileaccount_sp prosedur tersimpan terletak di msdb database dan pemiliknya adalah dbo . Oleh karena itu, Anda harus memberikan tiga bagian penamaan jika msdb bukan database saat ini.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kueri SQL mana yang lebih cepat? Filter pada kriteria Gabung atau klausa Di mana?

  2. SYSUTCDATETIME() vs GETUTCDATE() di SQL Server:Apa Bedanya?

  3. Menjelajahi batasan yang berbeda di SQL Server

  4. batasan unik bersyarat

  5. Menggunakan Excel VBA untuk menjalankan kueri SQL