DB 메일 및 Linux에서 SQL 에이전트와 전자 메일 알림DB Mail and Email Alerts with SQL Agent on Linux

이 항목은 다음에 적용됩니다. 아니요Windows의 SQL Server예Linux의 SQL Server아니요Azure SQL Database아니요Azure SQL Data Warehouse아니요병렬 데이터 웨어하우스 THIS TOPIC APPLIES TO: noSQL Server on WindowsyesSQL Server on LinuxnoAzure SQL DatabasenoAzure SQL Data WarehousenoParallel Data Warehouse

다음 단계에서는 DB 메일을 설정 하 고 SQL Server 에이전트를 사용 하는 방법을 보여 줍니다. (mssql 서버 에이전트) linux.The following steps show you how to set up DB Mail and use it with SQL Server Agent (mssql-server-agent) on Linux.

참고

Linux에서 SQL Server와 함께 DB 메일을 사용 하려면 SQL Server 2017 RC1 사용 해야 이상.To use DB Mail with SQL Server on Linux, you need to use SQL Server 2017 RC1 or later.

필수 구성 요소Prerequisites

  • SQL Server 2017 RC1 이상SQL Server 2017 RC1 and above
  • SQL Server 에이전트 v14.0.800.90 2 이상 (경고에 대 한 전자 메일을 사용 하려는) 하는 경우SQL Server Agent v14.0.800.90-2 and above (if you plan to use email for alerts)

1. DB 메일을 사용 하도록 설정1. 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. 새 계정 만들기2. 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. 기본 프로필 만들기3. Create a default profile

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

4. 데이터베이스 메일 계정은 데이터베이스 메일 프로필에 추가4. 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. 프로필에 계정 추가5. Add account to profile

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

6. 테스트 전자 메일 보내기6. Send test email

참고

전자 메일 클라이언트도 이동 하 고는 "허용" 메일을 보내려면 덜 안전한 클라이언트입니다. 사용 하도록 설정 해야 할 수 있습니다.You might have to go to your email client and enable the "allow less secure clients to send mail." 일부 클라이언트는 전자 메일 데몬으로 DB 메일을 인식합니다.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. Mssql conf 또는 환경 변수를 사용 하 여 DB 메일 프로필 설정7. Set DB Mail Profile using mssql-conf or environment variable

DB 메일 프로필을 등록 하는 mssql conf 유틸리티 또는 환경 변수를 사용할 수 있습니다.You can use the mssql-conf utility or environment variables to register your DB Mail profile. 이 경우 프로필 기본적을 이라고 하겠습니다.In this case, let's call our profile default.

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

8. SQLAgent 작업 알림에 대 한 연산자를 설정8. 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. ' 에이전트 테스트 작업 ' 성공 시 전자 메일 보내기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

다음 단계Next steps

SQL Server 에이전트를 사용 하 여 일정을 만들고 작업을 실행 하는 방법에 대 한 자세한 내용은 참조 하십시오. Linux에서 SQL Server 에이전트 작업 실행합니다.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.