完整的 SQL Server 邮件服务






3.84/5 (4投票s)
用于 SQL 邮件服务的 SQL Server 作业代理,
引言
在本文中,您将了解如何使用 SQL Server 代理作业步骤通过 SQL Profiler 发送带有附件的电子邮件。
请从下方下载并安装 Microsoft.ACE.OLEDB.12.0 OLE DB 驱动程序。根据使用的 SQL Server 版本(32 位或 64 位),有两种版本的 Microsoft.ACE.OLEDB.12.0 OLE DB 驱动程序可供安装。
安装适当的AccessDatabaseEngine 可执行文件后,Microsoft.ACE.OLEDB.12.0 OLE DB 驱动程序将出现在提供程序文件夹下的可用驱动程序列表中,如下所示。
然后打开 SQL Server 2019 配置管理器,并将 SQL Server Agent 设置为自动运行,其余模式如图所示。
到目前为止,已安装 OLEDB 并保持 SQL Server Agent 运行模式。
接下来,我们需要配置数据库邮件。要获取数据库电子邮件配置文件,我们需要配置数据库邮件。
配置数据库邮件
步骤 1
右键单击 数据库邮件 并选择配置数据库邮件。
在上面的图像中,选择 设置数据库邮件 并选择 下一步。
第二步
需要配置文件名,其名称必须与发送邮件匹配。
在上面的图像中,输入将在稍后发送邮件时使用的配置文件名。
然后单击 SMTP 帐户 的 添加。然后选择 新建帐户。
配置文件名:Retention Metrics POC
步骤 3
电子邮件帐户设置。根据以下配置,电子邮件将发送到特定域,例如,如果您的公司有特定于公司的域,网络团队将提供给您,例如 Testsolution.com,或者您可以使用 Gmail 或您拥有帐户的任何域。
此处,电子邮件地址可以是您的任何 Gmail 电子邮件 ID,如果是 Gmail,则服务器名称为 smtp.gmail.command
,端口号为默认的 25。如果它是公司特定的,您可以从部门的网络团队获取电子邮件地址和服务器名称。
Email address: abc@gmail.com
Display Name can be any name :Mail Test
Server: smtp.gmail.com
Port: 25
有关电子邮件配置的更多详细信息,请参阅 此链接。
现在,您已创建 SMTP 帐户,请单击 下一步 按钮。
步骤 4
电子邮件配置文件安全性
此处,您可以根据需要设置配置文件可访问性。但为了测试,请将其设置为公共。
点击**下一步**。
步骤 5
发生故障时配置文件的配置
然后设置帐户重试次数、重试延迟和其余属性。
然后单击 完成 => 然后配置文件已成功创建。因此,最后设置了配置文件。
现在,我们将创建 SQL Server 代理作业。
SQL Server 代理作业步骤
步骤 1
右键单击 作业 并选择 新建作业。
根据您的需求输入作业名称。
以及根据您的 SQL 管理员需求填写说明。然后单击 下一步。
第二步
创建 SQL Server 作业步骤
选择 步骤 选项卡,然后单击 新建 按钮。
步骤 3
第一步是创建原始 Excel 的副本,以 Excel 工作表名称 + 当前日期命名。原始 Excel 副本将保持不变。
填写步骤名称和命令。
步骤名称:根据您的需求,填写步骤名称。
在命令中,您可以根据您的逻辑编写。
例如,我的需求是发送一封带有 Excel 附件的邮件,该 Excel 附件动态计算收入,因此我编写了这样的逻辑。
我写了逻辑
引用EXEC sp_configure 'show advanced options', 1
RECONFIGURE
EXEC sp_configure 'xp_cmdshell', 1
RECONFIGURE
DECLARE @cmdstring varchar(1000)
set @cmdstring = 'copy C:\Test\Retention_metrics_for_Caseworker_Activity.xlsx C:\Test\Retention_metrics_for_Caseworker_Activity'+replace(convert(varchar, getdate(),101),'/','')+'.xlsx'
exec master..xp_cmdshell @cmdstring
在上面,我启用了 cmd shell,并且在我这里,我有一个 Excel 的透视表。所以我只是复制同一个 Excel 工作表。
步骤 4
第一步的高级设置意味着如果此步骤成功(表示已创建 Excel 副本,那么该做什么)。如果失败,重试两次,如果仍然失败,则退出作业并在表中管理日志。
然后在 高级 选项卡中,设置成功完成时的操作:转到下一步/失败时:退出作业。单击 确定。
步骤 5
第一步已创建,单击新建以创建第二步。
如箭头所示,第一步已创建。现在再次单击新建按钮创建第二步。
步骤 6
第二步是运行存储过程,并将数据导出到新创建的 Excel 工作表中。
再次在执行存储过程的部分填写步骤名称和命令。
步骤名称:运行存储过程并使用 Retention metrics POC 的数据填充 Excel 工作表。
命令:Exec EXEC stored_procedure_name;
步骤 7
同样,在第二步成功时设置为 转到下一步,失败时重试,如果再次失败,则退出作业并维护日志。
单击 高级 选项卡,并根据我标记的设置上述属性值。
然后单击 确定。
步骤 8
已创建两步,现在最后一步是发送带附件的邮件。单击 新建 按钮。
再次单击 新建 按钮。
步骤 9
再次在下方图像中填写步骤名称和命令以发送邮件。
步骤名称:SQL 代理作业发送带有 Retention Metrics 附件的电子邮件。
命令
EXEC msdb.dbo.sp_send_dbmail
@profile_name = 'Retention Metrics POC',
@recipients = 'teste@gmail.com',
@subject = 'POC Weekly Report',
@body = 'Metrics Query Report for testing',
@importance = 'HIGH',
@file_attachments = 'C:\Test\Retention_metrics_for_Caseworker_Activity'+
replace(convert(varchar, getdate(),101),'/','')+'.xlsx'
在此,上面命令中的配置文件名,填写我们之前在配置文件中创建的配置文件名(即,在第二步中,我们创建了配置文件名,此处将使用相同的配置文件名),其余字段如邮件属性,如收件人可以动态地从表中设置,或者我们可以放置固定的。
在主题中,我们在此处提到的内容将是邮件主题,同样是正文属性。
由于我的电子邮件包含附件,因此我将添加最近生成的 Excel 文件到电子邮件中。
第 10 步
再次设置成功和失败步骤。
按标记设置以下属性。
然后单击 确定。
第 11 步
所有三个步骤都已创建。现在安排作业运行。
因此,已创建三个步骤,请单击 计划 选项卡。
第 12 步
在此 计划 选项卡中,单击 新建 按钮以自动安排作业运行时间。
在 计划 选项卡中,单击 新建 按钮。
第 13 步
作业时间属性,如我用黄色标记的。
黄色标记的属性值需要设置。
设置完所有值后,单击 确定。
第 14 步
设置作业成功/失败后的通知
在 通知 选项卡中,您可以设置作业成功/失败后的操作值。
然后单击 确定。
结论
SQL Server 代理作业已准备就绪并已安排运行。
历史
- 2020 年 9 月 26 日:初始版本