sql >> Databasteknik >  >> RDS >> Sqlserver

Skapa ett databaspostkonto i SQL Server (T-SQL)

Om du ställer in Database Mail för att skicka e-post i SQL Server, måste du ha minst ett Database Mail-konto.

Du kan skapa database-postkonton med T-SQL genom att köra sysmail_add_account_sp lagrad procedur i msdb databas.

Database-postkontot är kontot som skickar e-postmeddelandet. Om du till exempel har ett automatiserat e-postmeddelande som skickas när ett SQL Server Agent-jobb misslyckas, är detta kontot som skickar e-postmeddelandet.

Du kan också ange saker som ett separat "svar-till"-e-postmeddelande, ett visningsnamn, etc.

Du kan ha flera konton för olika uppgifter om det behövs. Kör bara sysmail_add_account_sp närhelst du behöver skapa ett nytt konto.

Exempel

Här är ett exempel på hur du skapar ett Databas Mail-konto.

EXECUTE msdb.dbo.sysmail_add_account_sp  
    @account_name = 'DB Admin',  
    @description = 'Mail account for admin emails.',  
    @email_address = '[email protected]',  
    @replyto_address = '[email protected]',  
    @display_name = 'DB Automated Mailer',  
    @mailserver_name = 'smtp.example.com',
    @port = 25;

I det här exemplet anger jag ett visningsnamn för "DB Automated Mailer". Detta är ett användarvänligt namn som förmedlas till mottagaren som skickade e-postmeddelandet. Du kan använda "SQL Server Agent" eller liknande, beroende på din inställning.

Syntaxen

Ovanstående exempel inkluderar inte alla tillgängliga alternativ.

Den officiella syntaxen ser ut så här:

sysmail_add_account_sp  [ @account_name = ] 'account_name',  
    [ @email_address = ] 'email_address' ,  
    [ [ @display_name = ] 'display_name' , ]  
    [ [ @replyto_address = ] 'replyto_address' , ]  
    [ [ @description = ] 'description' , ]  
    [ @mailserver_name = ] 'server_name'   
    [ , [ @mailserver_type = ] 'server_type' ]  
    [ , [ @port = ] port_number ]  
    [ , [ @username = ] 'username' ]  
    [ , [ @password = ] 'password' ]  
    [ , [ @use_default_credentials = ] use_default_credentials ]  
    [ , [ @enable_ssl = ] enable_ssl ]  
    [ , [ @account_id = ] account_id OUTPUT ]

Se Microsofts dokumentation för en detaljerad förklaring av varje argument. Du kan använda vilka argument som passar din situation.

Du kan också använda sysmail_update_account_sp lagrad procedur för att uppdatera ett befintligt Databas Mail-konto.

Konfigurera Databas Mail

Att skapa ett Databas Mail-konto är bara en av flera saker du behöver göra innan du kan skicka e-post med det kontot.

När du har skapat kontot måste du lägga till det i en profil (vilket innebär att du också måste skapa en profil om du inte redan har en). Du måste också bevilja en användare i msdb databasåtkomst till profilen.

Se Hur man skickar e-post i SQL Server för ett komplett exempel på hur man konfigurerar Databas Mail och sedan skickar ett e-postmeddelande.


  1. Vad är syftet med en Android-projektionskarta i en innehållsleverantör?

  2. Hur man exporterar frågeresultat till en CSV-fil i SQL Developer (Oracle)

  3. MariaDB ROW_COUNT() Förklarad

  4. Fungerar funktionen snabbare utan STRICT modifierare?