sql >> Databáze >  >> RDS >> Sqlserver

Jak odebrat databázový poštovní účet z profilu v SQL Server (T-SQL)

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.


  1. Jak odstranit nepracovní dobu v Oracle

  2. Jak provedu databázové transakce s psycopg2/python db api?

  3. Odstranění databázového poštovního účtu v SQL Server (T-SQL)

  4. Java Multicast Time To Live je vždy 0