首页 > 解决方案 > 如何将简单的 SELECT 语句转换为 SQL SERVER AGENT JOB 以进行计划和自动电子邮件

问题描述

如何将简单的选择语句转换为 SQL SERVER AGENT JOB,以便自动向操作员发送电子邮件。例如USE [DYNAMICS] select * from ACTIVITY,我每天上午 10:00 通过电子邮件需要此 ACTIVITY 表内容。我将如何将其作为来自 SQL SERVER AGENT 的自动电子邮件?需要帮助。

标签: sqlsql-serverselectsql-server-2012sql-server-agent

解决方案


SQL SERVER 有一个函数 sp_send_dbmail 会有所帮助。 https://docs.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sp-send-dbmail-transact-sql?view=sql-server-ver15

配置你的服务器:

execute sp_configure 'Show Advanced Options', 1
reconfigure
execute sp_configure 'Database Mail XPs', 1
reconfigure

配置您的帐户:

execute msdb.dbo.sysmail_add_account_sp
@mailserver_name = 'smtp.gmail.com',
@port = 587,
@enable_ssl = 1,
@account_name = 'mail_account', 
@display_name = 'SQL SERVER',
@email_address = 'your@email.com',
@username = 'your@login',
@password = '*** password ***'

execute msdb.dbo.sysmail_add_profile_sp
    @profile_name = 'mail_profile',
    @description = 'Mail notification by SQL.'

execute msdb.dbo.sysmail_add_profileaccount_sp
    @profile_name = 'mail_profile',
    @account_name = 'mail_account',
    @sequence_number = 1

发邮件

execute msdb.dbo.sp_send_dbmail 
    @profile_name = 'MAIL NAME',
    @recipients = 'mailto@mailto.com',
    @subject = 'subject',
    @body = 'your message'

就这样!


推荐阅读