您当前的位置: 首页 >  sql

寒冰屋

暂无认证

  • 0浏览

    0关注

    2286博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

完整的SQL Server邮件服务

寒冰屋 发布时间:2020-10-26 22:37:20 ,浏览量:0

目录

介绍

配置数据库邮件

第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驱动程序:

  • https://www.microsoft.com/zh-cn/download/details.aspx?id=13255

安装了适当的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步

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

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

然后单击确定。

第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作业代理已准备就绪,并已计划运行。

关注
打赏
1665926880
查看更多评论
立即登录/注册

微信扫码登录

0.0483s