sql >> Database teknologi >  >> RDS >> Sqlserver

Tilføj en databasemailkonto til en profil (T-SQL)

I SQL Server bruger Database Mail profiler til at sende e-mailen i stedet for konti direkte.

Derfor skal du først oprette en profil, og oprette en konto, derefter tilføje kontoen til profilen. Du skal også give en bruger i msdb databaseadgang til profilen.

For at tilføje en Database Mail-konto til en profil med T-SQL skal du bruge sysmail_add_profileaccount_sp gemt procedure i msdb database.

Eksempel

Her er et eksempel på tilføjelse af en Database Mail-konto til en Database Mail-profil ved hjælp af T-SQL.

EXECUTE msdb.dbo.sysmail_add_profileaccount_sp  
    @profile_name = 'DB Admin Profile',  
    @account_name = 'DB Admin',  
    @sequence_number = 1;

I dette tilfælde tilføjer jeg kontoen "DB Admin" til profilen "DB Admin Profile".

Dette forudsætter, at profilen og kontoen allerede eksisterer.

Du kan tilføje flere konti til en Database Mail-profil. Løbenummeret bestemmer i hvilken rækkefølge konti bruges i profilen. 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.

Angiv konto-/profil-id'er

Du kan alternativt angive profil-id'et og/eller konto-id'et i stedet for deres navne.

Derfor kunne vi ændre det foregående eksempel til at se sådan ud:

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

Dette forudsætter naturligvis, at det er ID'erne for de pågældende konti.

Bemærk, at enten navnet eller ID'et skal angives.

Når ID'erne angives, er de også angivet som int .

Bemærk, at sysmail_add_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.


  1. Sådan konverteres Unix-epoke til et tidsstempel

  2. Hvordan kontrollerer man, om en kolonne eksisterer, før man tilføjer den til en eksisterende tabel i PL/SQL?

  3. Hvordan vælger jeg alle kolonnerne fra en tabel, plus yderligere kolonner som ROWNUM?

  4. Brug af tuples i SQL IN-klausul