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.