V SQL Server můžete použít sysmail_delete_profileaccount_sp
uložená procedura k odstranění databázového poštovního účtu z profilu.
Účet můžete odebrat z konkrétního profilu nebo jej můžete odebrat ze všech profily. Můžete také odstranit všechny účty z daného profilu.
Funguje to tak, že poskytnete dva argumenty; název účtu nebo jeho ID a název profilu nebo jeho ID. Pokud vynecháte argument pro profil, bude účet odebrán ze všech profilů. Pokud vynecháte argument pro účet, budou z profilu odstraněny všechny účty.
Odstranění konkrétního účtu z konkrétního profilu
Zde je příklad, který ukazuje, jak odebrat účet z jednoho profilu.
Nejprve zavolejte sysmail_help_profileaccount_sp
abych viděl, kolik mám přidružení účtu/profilu.
EXEC msdb.dbo.sysmail_help_profileaccount_sp;
Výsledek:
+--------------+-------------------+--------------+----------------+-------------------+ | 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 | +--------------+-------------------+--------------+----------------+-------------------+
Mám dvě asociace. Odstraňme první. Zde patří účet s názvem „DB Admin“ do profilu s názvem „DB Admin Profile“).
Zde je návod, jak je odstranit na základě názvu účtu a názvu profilu.
EXEC msdb.dbo.sysmail_delete_profileaccount_sp
@profile_name = 'DB Admin Profile',
@account_name = 'DB Admin';
Název profilu a účtu je sysname s výchozí hodnotou NULL
.
ID, pokud se je rozhodnete použít, jsou název systému s výchozí hodnotou NULL
.
Nyní zavoláme sysmail_help_profileaccount_sp
znovu, abychom viděli, kolik asociací nyní máme.
EXEC msdb.dbo.sysmail_help_profileaccount_sp;
Výsledek:
+--------------+-------------------+--------------+----------------+-------------------+ | profile_id | profile_name | account_id | account_name | sequence_number | |--------------+-------------------+--------------+----------------+-------------------| | 2 | DB Public Profile | 2 | DB Public | 1 | +--------------+-------------------+--------------+----------------+-------------------+
Jak se dalo očekávat, nyní máme pouze druhý.
Odebrat účet ze VŠECH profilů
Účet můžete odebrat ze všech profilů vynecháním podrobností profilu. Jinými slovy, zadejte název účtu nebo ID, ale ne profil.
Takhle:
EXEC msdb.dbo.sysmail_delete_profileaccount_sp
@account_name = 'DB Admin';
Odstranit VŠECHNY účty z profilu
Všechny účty můžete z profilu odstranit vynecháním podrobností o účtu. Jinými slovy, uveďte název profilu nebo ID, ale ne účet.
Takhle:
EXEC msdb.dbo.sysmail_delete_profileaccount_sp
@profile_name = 'DB Admin Profile';
Umístění uložené procedury
Soubor sysmail_delete_profileaccount_sp
uložená procedura se nachází v msdb databáze a jejím vlastníkem je dbo . Pokud tedy msdb, budete muset zadat pojmenování ze tří částí není aktuální databáze.