sql >> Databasteknik >  >> RDS >> Sqlserver

Lägg till ett databaspostkonto till en profil (T-SQL)

I SQL Server använder Database Mail profiler för att skicka e-postmeddelandet snarare än konton direkt.

Därför måste du först skapa en profil, skapa ett konto och sedan lägga till kontot i profilen. Du måste också bevilja en användare i msdb databasåtkomst till profilen.

För att lägga till ett Database Mail-konto till en profil med T-SQL, använd sysmail_add_profileaccount_sp lagrad procedur i msdb databas.

Exempel

Här är ett exempel på hur du lägger till ett Database Mail-konto till en Database Mail-profil med T-SQL.

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

I det här fallet lägger jag till kontot "DB Admin" till profilen "DB Admin Profile".

Detta förutsätter att profilen och kontot redan finns.

Du kan lägga till flera konton till en Databas Mail-profil. Löpnumret bestämmer i vilken ordning konton används i profilen. Databas Mail börjar med det konto som har det lägsta sekvensnumret. Om det kontot misslyckas används kontot med det näst högsta sekvensnumret, och så vidare.

Om det finns mer än ett konto med samma sekvensnummer kommer Database Mail endast att använda ett av dessa konton för ett givet e-postmeddelande.

Det finns dock ingen garanti för att samma konto kommer att användas för efterföljande meddelanden. Till exempel, om två konton delar ett sekvensnummer på 1, kan du få några e-postmeddelanden från ett konto och några från det andra kontot.

Ange konto-/profil-ID:n

Du kan alternativt ange profil-ID och/eller konto-ID istället för deras namn.

Därför kan vi ändra det föregående exemplet så att det ser ut ungefär så här:

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

Detta förutsätter uppenbarligen att det är ID:n för kontona i fråga.

Observera att antingen namnet eller ID:t måste anges.

När ID:n tillhandahålls tillhandahålls de också som int .

Observera att sysmail_add_profileaccount_sp lagrad procedur finns i msdb databasen, och den ägs av dbo schema. Därför måste du använda tre delars namngivning om du kör det utanför msdb databas.


  1. Enkelt sätt att välja höger kolumn som primärnyckel för en given tabell

  2. Docker-behållare för Postgres 9.1 exponerar inte port 5432 för värd

  3. Hur ansluter jag sql-server med php med xampp?

  4. Importera från och exportera till filer med MySQL-kommandoraden