sql >> Databasteknik >  >> RDS >> Sqlserver

Uppdatera ett databaspostkonto i SQL Server (T-SQL)

I SQL Server kan du använda sysmail_update_account_sp lagrad procedur i msdb databas för att uppdatera dina befintliga Databas Mail-konton med T-SQL.

Uppdatera kontoinformationen

Du kan uppdatera ett kontos uppgifter baserat på dess namn.

Det vill säga, om du inte behöver ändra kontonamnet behöver du inte ange konto-ID – så länge du anger namnet.

Exempel:

EXECUTE msdb.dbo.sysmail_update_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;

Uppdatera kontonamnet

När både kontonamn och konto-ID är specificerade ändrar den lagrade proceduren kontonamnet förutom att uppdatera informationen för kontot.

EXECUTE msdb.dbo.sysmail_update_account_sp
    @account_id = 1,
    @account_name = 'Updated 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 uppdaterade jag namnet och diverse andra detaljer för kontot.

Syntaxen

Den officiella syntaxen ser ut så här:

sysmail_update_account_sp [ [ @account_id = ] account_id ] [ , ] [ [ @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 ,   
    [ @timeout = ] 'timeout' ,  
    [ @username = ] 'username' ,  
    [ @password = ] 'password' ,  
    [ @use_default_credentials = ] use_default_credentials ,  
    [ @enable_ssl = ] enable_ssl

Se Microsofts dokumentation för en detaljerad förklaring av varje argument.

Observera att sysmail_update_account_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.

Du kan också använda sysmail_add_account_sp lagrad procedur för att skapa ett nytt Databas Mail-konto.


  1. En begränsning som bara tillåter en av två tabeller att referera till en bastabell

  2. Migrerar från Maxscale till ProxySQL Load Balancer

  3. Hur man väljer ett visst antal tecken från vänster eller höger om en sträng i SQL Server

  4. ORA-00984:kolumn inte tillåten här