Posta elettronica database e gli avvisi di posta elettronica con SQL Agent in LinuxDB Mail and Email Alerts with SQL Agent on Linux

QUESTO ARGOMENTO SI APPLICA A: SìSQL Server (solo Linux)nonDatabase SQL di AzurenonAzure SQL Data Warehousenon Parallel Data Warehouse THIS TOPIC APPLIES TO: yesSQL Server (Linux only)noAzure SQL DatabasenoAzure SQL Data WarehousenoParallel Data Warehouse

I passaggi seguenti mostrano come configurare posta elettronica database e usarlo con SQL Server Agent (mssql-server-agent) in Linux.The following steps show you how to set up DB Mail and use it with SQL Server Agent (mssql-server-agent) on Linux.

1. Abilitare posta elettronica database1. Enable DB Mail

USE master 
GO 
sp_configure 'show advanced options',1 
GO 
RECONFIGURE WITH OVERRIDE 
GO 
sp_configure 'Database Mail XPs', 1 
GO 
RECONFIGURE  
GO  

2. Crea nuovo account2. Create a new account

EXECUTE msdb.dbo.sysmail_add_account_sp 
@account_name = 'SQLAlerts', 
@description = 'Account for Automated DBA Notifications', 
@email_address = 'sqlagenttest@gmail.com', 
@replyto_address = 'sqlagenttest@gmail.com', 
@display_name = 'SQL Agent', 
@mailserver_name = 'smtp.gmail.com', 
@port = 587, 
@enable_ssl = 1, 
@username = 'sqlagenttest@gmail.com', 
@password = '<password>' 
GO

3. Creare un profilo predefinito3. Create a default profile

EXECUTE msdb.dbo.sysmail_add_profile_sp 
@profile_name = 'default', 
@description = 'Profile for sending Automated DBA Notifications' 
GO

4. Aggiungere l'account di posta elettronica Database a un profilo di posta elettronica Database4. Add the Database Mail account to a Database Mail profile

EXECUTE msdb.dbo.sysmail_add_principalprofile_sp 
@profile_name = 'default', 
@principal_name = 'public', 
@is_default = 1 ; 

5. Aggiungere account al profilo5. Add account to profile

EXECUTE msdb.dbo.sysmail_add_profileaccount_sp   
@profile_name = 'default',   
@account_name = 'SQLAlerts',   
@sequence_number = 1;  

6. Invio di posta elettronica di test6. Send test email

Nota

Potrebbe essere necessario passare al client di posta elettronica e abilitare il "client meno sicuri inviare posta elettronica Consenti".You might have to go to your email client and enable the "allow less secure clients to send mail." Non tutti i client riconoscono posta elettronica database come un daemon di posta elettronica.Not all clients recognize DB Mail as an email daemon.

EXECUTE msdb.dbo.sp_send_dbmail 
@profile_name = 'default', 
@recipients = 'recipient-email@gmail.com', 
@Subject = 'Testing DBMail', 
@Body = 'This message is a test for DBMail' 
GO

7. Impostare il profilo di posta elettronica database utilizzando mssql-conf o variabile di ambiente7. Set DB Mail Profile using mssql-conf or environment variable

È possibile utilizzare l'utilità mssql-conf o variabili di ambiente per registrare il profilo di posta elettronica database.You can use the mssql-conf utility or environment variables to register your DB Mail profile. In questo caso, è possibile chiamare predefinito del profilo.In this case, let's call our profile default.

# via mssql-conf
sudo /opt/mssql/bin/mssql-conf set sqlagent.databasemailprofile default
# via environment variable
MSSQL_AGENT_EMAIL_PROFILE=default

8. Configurare un operatore per le notifiche dei processi SQLAgent8. Set up an operator for SQLAgent job notifications

EXEC msdb.dbo.sp_add_operator 
@name=N'JobAdmins',  
@enabled=1, 
@email_address=N'recipient-email@gmail.com',  
@category_name=N'[Uncategorized]' 
GO 

9. Invia messaggio di posta elettronica quando ha esito positivo 'Agente processo di Test'9. Send email when 'Agent Test Job’ succeeds

EXEC msdb.dbo.sp_update_job 
@job_name='Agent Test Job', 
@notify_level_email=1, 
@notify_email_operator_name=N'JobAdmins' 
GO

Passaggi successiviNext steps

Per altre informazioni su come usare SQL Server Agent per creare, pianificare ed eseguire i processi, vedere eseguire un processo di SQL Server Agent in Linux.For more information on how to use SQL Server Agent to create, schedule, and run jobs, see Run a SQL Server Agent job on Linux.