完整的SQL Server邮件服务

目录

介绍

配置数据库邮件

第1步

第2步

第3步

第4步

第5步

SQL Server作业代理步骤

第1步

第2步

第3步

第4步

第5步

第6步

第7步

第8步

第9步

第10步

第11步

第12步

第13步

第14步

结论


这是一个固定的邮件服务,可以在每月的某天自动启动,并带有一些Excel附件。所以我创建了一个邮件服务,它将完全动态地运行邮件服务。

介绍

在本文中,您将看到如何用带有附件的SQL事件探查器发送带有SQL Server代理作业步骤的电子邮件。

从下面下载并安装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驱动程序将出现在Providers文件夹下的可用驱动程序列表中,如下所示:

然后打开SQL Server 2019 Configuration Manager并将SQL Server代理设置为自动和休息模式,如下图所示:

因此,到目前为止,已安装OLEDB,并且SQL Server Agent保持运行模式。

接下来,我们必须配置数据库邮件。要获取数据库电子邮件探查器,我们必须配置数据库邮件。

配置数据库邮件

1

右键单击数据库邮件,然后选择配置数据库电子邮件。

在上图中,选择设置数据库电子邮件然后选择下一步

2

配置文件名称为必填项,其名称必须与发送电子邮件的名称匹配。

在上图中,写下Profiler名称,稍后将在发送电子邮件时使用它。

然后点击添加用于SMTP帐户。然后选择新帐户

探查器名称:保留指标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

如果发生某些故障,则配置探查器:

然后设置帐户重试尝试,其延迟重试休息(rest )”属性。

然后单击Finish =>然后,Profiler创建成功。因此,最终配置文件已设置。

现在,我们将创建SQL Server作业代理。

SQL Server作业代理步骤

1

右键单击Job然后选择New Job

根据您的要求输入工作名称。

并根据您对SQL管理员的要求进行描述。然后单击下一步

2

创建SQL Server作业步骤:

选择步骤选项卡,然后单击新建按钮。

3

第一步是通过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

1步的高级步骤意味着这一步是否成功(意味着创建Excel副本,然后执行操作)。如果失败重试两次,如果再次失败,然后退出作业并管理表中的日志。

然后在高级选项卡中,对成功完成设置操作:转到下一步/或失败:退出作业。单击确定

5

创建步骤1后,单击新建以创建步骤2

如箭头所示,将创建步骤1。现在再次单击新建按钮以创建步骤2

6

步骤2是运行存储过程并在新创建的Excel工作表中导出数据。

再次在此部分中写下步骤名称和命令以执行存储过程:

步骤名称:运行存储过程,并用保留指标POC的数据填充Excel工作表。

命令: Exec EXEC stored_procedure_name;

7

再次,在92日成功执行并失败重试时,设置转到下一步,如果再次失败,则退出作业并维护日志。

单击高级选项卡,然后将上面的属性值设置为我标记的值。

然后单击确定

8

创建两个步骤后,剩下的最后一步是发送带有附件的电子邮件。单击新建按钮。

再次单击新建按钮。

9

同样,在图片下方输入步骤名称和命令以发送电子邮件。

步骤名称SQL Job Agent发送带有保留度量附件的电子邮件

命令

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'

在上面的配置文件名称命令中,在配置文件名称中写入我们之前创建的配置文件名称(即,在第2步中,我们创建了配置文件名称,此处将使用相同的配置文件名称),其余字段作为邮件属性(例如收件人)可以从表中动态设置,也可以固定一些。

在主题方面,我们在这里提到的将是邮件主题,同样是body属性。

并且由于我的电子邮件包含附件,因此我要在电子邮件中添加最近生成的Excel

10

再次设置成功和失败步骤。

将以下属性设置为已标记。

然后单击确定

11

创建所有三个步骤。现在安排要运行的作业。

这样,创建了三个步骤后,单击计划选项卡。

12

计划选项卡中,单击新建按钮以计划时间以自动运行作业。

计划选项卡中,单击新建按钮。

13

我设定的工作时间属性用黄色标记。

用黄色标记表示要设置的属性值。

设置所有值后,单击确定

14

Job运行成功/失败后设置通知:

通知选项卡中,您可以设置要在作业成功/失败状态后执行的操作的值。

然后单击确定

结论

SQL Server作业代理已准备就绪,并已计划运行。

相关推荐
©️2020 CSDN 皮肤主题: 酷酷鲨 设计师:CSDN官方博客 返回首页