本文共 3279 字,大约阅读时间需要 10 分钟。
目录
这是一个固定的邮件服务,可以在每月的某天自动启动,并带有一些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保持运行模式。
接下来,我们必须配置数据库邮件。要获取数据库电子邮件探查器,我们必须配置数据库邮件。
右键单击数据库邮件,然后选择配置数据库电子邮件。
在上图中,选择“设置数据库电子邮件”,然后选择“下一步”。
配置文件名称为必填项,其名称必须与发送电子邮件的名称匹配。
在上图中,写下Profiler名称,稍后将在发送电子邮件时使用它。
然后点击添加用于SMTP帐户。然后选择“新帐户”。
POC
电子邮件帐户设置。通过以下配置,电子邮件将被发送到特定域,例如,如果您的公司特定于公司,则网络团队将为您提供类似Testsolution.com的电子邮件,或者您可以使用gmail或您拥有帐户的任何域。
在这里,电子邮件地址可以是您的任何Gmail电子邮件ID,如果是gmail,则在“服务器名称”中,smtp.gmail.command端口号默认为25。如果是公司特定的,则可以从部门的网络团队获取电子邮件地址和服务器名称。
Email address: abc@gmail.comDisplay Name can be any name :Mail TestServer: smtp.gmail.comPort: 25
有关电子邮件配置的更多详细信息,请参阅。
所以在这里,您已经创建了SMTP帐户,单击“下一步”按钮。
电子邮件配置文件安全性:
在这里,您可以根据需要设置个人资料的可访问性。但是在测试时将其公开。
单击下一步。
如果发生某些故障,则配置探查器:
然后设置“帐户重试”尝试,其“延迟重试”和“休息(rest )”属性。
然后单击Finish =>然后,Profiler创建成功。因此,最终配置文件已设置。
现在,我们将创建SQL Server作业代理。
右键单击Job,然后选择New Job。
根据您的要求输入工作名称。
并根据您对SQL管理员的要求进行描述。然后单击“下一步”。
创建SQL Server作业步骤:
选择步骤选项卡,然后单击新建按钮。
第一步是通过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工作表。
第1步的高级步骤意味着这一步是否成功(意味着创建Excel副本,然后执行操作)。如果失败重试两次,如果再次失败,然后退出作业并管理表中的日志。
然后在“高级”选项卡中,对成功完成设置操作:转到下一步/或失败:退出作业。单击确定。
创建步骤1后,单击“新建”以创建步骤2。
如箭头所示,将创建步骤1。现在再次单击“新建”按钮以创建步骤2。
步骤2是运行存储过程并在新创建的Excel工作表中导出数据。
再次在此部分中写下步骤名称和命令以执行存储过程:
步骤名称:运行存储过程,并用保留指标POC的数据填充Excel工作表。
命令: Exec EXEC stored_procedure_name;
再次,在9月2日成功执行并失败重试时,设置转到下一步,如果再次失败,则退出作业并维护日志。
单击高级选项卡,然后将上面的属性值设置为我标记的值。
然后单击确定。
创建两个步骤后,剩下的最后一步是发送带有附件的电子邮件。单击新建按钮。
再次单击“新建”按钮。
同样,在图片下方输入步骤名称和命令以发送电子邮件。
步骤名称: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。
再次设置成功和失败步骤。
将以下属性设置为已标记。
然后单击确定。
创建所有三个步骤。现在安排要运行的作业。
这样,创建了三个步骤后,单击“计划”选项卡。
在“计划”选项卡中,单击“新建”按钮以计划时间以自动运行作业。
在计划选项卡中,单击新建按钮。
我设定的工作时间属性用黄色标记。
用黄色标记表示要设置的属性值。
设置所有值后,单击“确定”。
在Job运行成功/失败后设置通知:
在“通知”选项卡中,您可以设置要在作业成功/失败状态后执行的操作的值。
然后单击确定。
SQL Server作业代理已准备就绪,并已计划运行。
转载地址:http://lpwhj.baihongyu.com/