Hvis du allerede har tilføjet en Database Mail-konto til en profil, men du nu vil ændre sekvensnummeret, kan du gøre det med sysmail_update_profileaccount_sp
gemt procedure.
Når du gør dette, skal du angive navn eller ID på både kontoen og profilen. Det skyldes, at du skal angive præcis hvilken profil/kontotilknytning, du ønsker at opdatere.
Eksempel
Her er et eksempel til demonstration:
EXECUTE msdb.dbo.sysmail_update_profileaccount_sp
@profile_name = 'DB Admin Profile',
@account_name = 'DB Admin',
@sequence_number = 2;
Dette eksempel ændrer sekvensnummeret for kontoen kaldet "DB Admin" i profilen kaldet "DB Admin Profile".
I dette tilfælde har jeg ændret sekvensnummeret til 2, hvilket betyder, at "DB Admin"-kontoen kun vil blive brugt, hvis den første konto fejler.
Brug af profil/konto-id'erne
I dette eksempel bruger jeg profil- og konto-id'erne i stedet for deres navne:
EXECUTE msdb.dbo.sysmail_update_profileaccount_sp
@profile_id = 1,
@account_id = 1,
@sequence_number = 3;
Brug af en kombination af ID og navn
Du kan alternativt oplyse id'et på den ene og navnet på den anden.
For eksempel:
EXECUTE msdb.dbo.sysmail_update_profileaccount_sp
@profile_name = 'DB Admin Profile',
@account_id = 1,
@sequence_number = 4;
Eller omvendt:
EXECUTE msdb.dbo.sysmail_update_profileaccount_sp
@profile_id = 1,
@account_name = 'DB Admin',
@sequence_number = 1;
Hvordan fungerer sekvensnummeret?
Du kan tilføje flere konti til en Database Mail-profil. Sekvensnummeret bestemmer den rækkefølge, som disse konti bruges i profilen, når der sendes mail. Database Mail starter med den konto, der har det laveste sekvensnummer. Hvis den konto fejler, bruges kontoen med det næsthøjeste sekvensnummer, og så videre.
Hvis der findes mere end én konto med det samme sekvensnummer, vil Database Mail kun bruge én af disse konti til en given e-mail-besked.
Der er dog ingen garanti for, at den samme konto vil blive brugt til efterfølgende beskeder. For eksempel, hvis to konti deler et sekvensnummer på 1, modtager du muligvis nogle e-mails fra den ene konto og nogle fra den anden konto.
Jeg skal påpege, at ifølge denne Microsoft-artikel, når du sender en ny e-mail-besked, starter Database Mail faktisk med den sidste konto, der sendte en meddelelse med succes , eller den konto, der har det laveste sekvensnummer, hvis der endnu ikke er sendt nogen besked.
Det faktum, at det starter med den sidste konto, der sendte en besked med succes, er ikke nævnt i den officielle dokumentation for sysmail_add_profileaccount_sp
eller sysmail_update_profileaccount_sp
.
Uanset hvad, er det noget, du skal være opmærksom på, og det kan redde dig fra at rive dit hår af, hvis din DB Mail ser ud til at ignorere dine sekvensnumre.
Placering af den lagrede procedure
Bemærk, at sysmail_update_profileaccount_sp
gemt procedure er i msdb
databasen, og den ejes af dbo
skema. Derfor skal du bruge tredelt navngivning, hvis du udfører det uden for msdb
database.
Sådan returneres konto- og profiloplysninger
Følgende artikler giver instruktioner til returnering af konto- og profiloplysninger.
- Få en liste over databasepostkonti i SQL Server
- Returner en liste over databasemail-profiler i SQL Server