I SQL Server kan du bruge sysmail_delete_profileaccount_sp
gemt procedure for at fjerne en Database Mail-konto fra en profil.
Du kan fjerne kontoen fra en bestemt profil, eller du kan fjerne den fra alle profiler. Du kan også fjerne alle konti fra en given profil.
Måden det fungerer på er, at du giver to argumenter; kontonavnet eller dets ID og profilnavnet eller dets ID. Hvis du udelader argumentet for profilen, fjernes kontoen fra alle profiler. Hvis du udelader argumentet for kontoen, fjernes alle konti fra profilen.
Fjern en specifik konto fra en specifik profil
Her er et eksempel til at demonstrere, hvordan man fjerner en konto fra en enkelt profil.
Lad os først ringe til sysmail_help_profileaccount_sp
for at se, hvor mange konto-/profiltilknytninger jeg har.
EXEC msdb.dbo.sysmail_help_profileaccount_sp;
Resultat:
+--------------+-------------------+--------------+----------------+-------------------+ | 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 | +--------------+-------------------+--------------+----------------+-------------------+
Jeg har to foreninger. Lad os fjerne den første. Det er her kontoen kaldet "DB Admin" hører til profilen kaldet "DB Admin Profile").
Sådan fjerner du dem baseret på kontonavnet og profilnavnet.
EXEC msdb.dbo.sysmail_delete_profileaccount_sp
@profile_name = 'DB Admin Profile',
@account_name = 'DB Admin';
Profil- og kontonavnene er sysname med en standard på NULL
.
ID'erne, hvis du vælger at bruge dem i stedet, er sysname med en standard på NULL
.
Lad os nu ringe til sysmail_help_profileaccount_sp
igen for at se, hvor mange foreninger vi nu har.
EXEC msdb.dbo.sysmail_help_profileaccount_sp;
Resultat:
+--------------+-------------------+--------------+----------------+-------------------+ | profile_id | profile_name | account_id | account_name | sequence_number | |--------------+-------------------+--------------+----------------+-------------------| | 2 | DB Public Profile | 2 | DB Public | 1 | +--------------+-------------------+--------------+----------------+-------------------+
Som forventet har vi nu kun den anden.
Fjern en konto fra ALLE profiler
Du kan fjerne kontoen fra alle profiler ved at udelade profiloplysningerne. Med andre ord, angiv kontonavnet eller ID, men ikke profilen.
Sådan:
EXEC msdb.dbo.sysmail_delete_profileaccount_sp
@account_name = 'DB Admin';
Fjern ALLE konti fra en profil
Du kan fjerne alle konti fra en profil ved at udelade kontooplysningerne. Med andre ord, angiv profilnavnet eller id'et, men ikke kontoen.
Sådan:
EXEC msdb.dbo.sysmail_delete_profileaccount_sp
@profile_name = 'DB Admin Profile';
Placering af den lagrede procedure
sysmail_delete_profileaccount_sp
gemt procedure er placeret i msdb databasen og dens ejer er dbo . Derfor skal du angive tre dele navngivning, hvis msdb er ikke den aktuelle database.