sql >> Database >  >> RDS >> Sqlserver

Het volgnummer van een database-e-mailaccount binnen een profiel in SQL Server (T-SQL) wijzigen

Als u al een Database Mail-account aan een profiel hebt toegevoegd, maar u wilt nu het volgnummer wijzigen, kunt u dat doen met de sysmail_update_profileaccount_sp opgeslagen procedure.

Wanneer u dit doet, moet u de naam of ID van zowel het account als het profiel opgeven. Dit komt omdat u precies moet specificeren welk profiel/accountkoppeling u wilt bijwerken.

Voorbeeld

Hier is een voorbeeld om te demonstreren:

EXECUTE msdb.dbo.sysmail_update_profileaccount_sp  
    @profile_name = 'DB Admin Profile',
    @account_name = 'DB Admin',
    @sequence_number = 2;

In dit voorbeeld wordt het volgnummer gewijzigd voor het account met de naam "DB Admin" in het profiel met de naam "DB Admin Profile".

In dit geval heb ik het volgnummer gewijzigd in 2, wat betekent dat het "DB Admin"-account alleen wordt gebruikt als het eerste account faalt.

De profiel-/account-ID's gebruiken

In dit voorbeeld gebruik ik de profiel- en account-ID's in plaats van hun namen:

EXECUTE msdb.dbo.sysmail_update_profileaccount_sp  
    @profile_id = 1,
    @account_id = 1,
    @sequence_number = 3;

Een combinatie van ID en naam gebruiken

U kunt ook de ID van de ene en de naam van de andere opgeven.

Bijvoorbeeld:

EXECUTE msdb.dbo.sysmail_update_profileaccount_sp 
    @profile_name = 'DB Admin Profile',
    @account_id = 1,
    @sequence_number = 4;

Of andersom:

EXECUTE msdb.dbo.sysmail_update_profileaccount_sp
    @profile_id = 1,
    @account_name = 'DB Admin',
    @sequence_number = 1;

Hoe werkt het volgnummer?

U kunt meerdere accounts toevoegen aan een Database Mail-profiel. Het volgnummer bepaalt de volgorde waarin die accounts in het profiel worden gebruikt bij het verzenden van e-mail. Database Mail begint met het account met het laagste volgnummer. Als dat account mislukt, wordt het account met het volgende hoogste volgnummer gebruikt, enzovoort.

Als er meer dan één account bestaat met hetzelfde volgnummer, zal Database Mail slechts één van die accounts gebruiken voor een bepaald e-mailbericht.

Er is echter geen garantie dat hetzelfde account wordt gebruikt voor volgende berichten. Als twee accounts bijvoorbeeld een volgnummer van 1 delen, ontvangt u mogelijk enkele e-mails van het ene account en andere van het andere account.

Ik moet erop wijzen dat, volgens dit Microsoft-artikel, Database Mail, wanneer u een nieuw e-mailbericht verzendt, in feite begint met het laatste account dat een bericht met succes heeft verzonden , of het account met het laagste volgnummer als er nog geen bericht is verzonden.

Het feit dat het begint met het laatste account dat een bericht met succes heeft verzonden, wordt niet vermeld in de officiële documentatie voor sysmail_add_profileaccount_sp of sysmail_update_profileaccount_sp .

Hoe dan ook, het is iets om rekening mee te houden, en het zou u kunnen behoeden voor het uittrekken van uw haren als uw DB Mail uw volgnummers lijkt te negeren.

Locatie van de opgeslagen procedure

Merk op dat de sysmail_update_profileaccount_sp opgeslagen procedure staat in de msdb database, en het is eigendom van de dbo schema. Daarom moet u een driedelige naamgeving gebruiken als u deze van buiten de msdb uitvoert database.

Account- en profielgegevens retourneren

De volgende artikelen bevatten instructies voor het retourneren van account- en profielgegevens.

  • Een lijst met database-e-mailaccounts in SQL Server ophalen
  • Retourneer een lijst met database-e-mailprofielen in SQL Server


  1. Hoe ojdbc7 toevoegen aan Java-webapp door Gradle?

  2. Inzicht in SQL Server Always Encrypted

  3. Hoe SQL Server 2017 &2019 gelijktijdig op een Mac te draaien

  4. Een lijst met partitiefuncties retourneren in SQL Server (T-SQL)