2016-11-08 99 views
0

我创建SSIS包发送邮件任务SSIS发送邮件任务不通过SQL Server代理作业运行

它的工作原理(发送一个电子邮件与多个附件),当我SQL Server上运行SSIS包为Visual Studio数据工具

但是当我通过SQL Server代理运行相同的包 - >工作它不发送电子邮件。

在SQL Server中我已经下创建,

安全 - >证书 - >添加用户名

SQL Server代理 - >代理 - > SSIS包处决 - >添加凭据名

我创建SQL Server代理 - >工作

enter image description here

仍然SQL Server代理作业(SQL Server 2014)无法发送电子邮件。

+0

这篇文章有什么帮助吗? http://stackoverflow.com/questions/13933803/ssis-package-execution-succeed-but-no-mail-sent如果不是我们可以进一步排除故障。 –

回答

0

我有同样的问题(将在VS中工作,但不是当作为SQL中的作业运行时)。作业运行时,它使用SQL代理作业所运行的任何Windows凭据。 即使我使用与用于成功运行VS项目的同一Windows帐户作为代理帐户来运行SQL作业,但它对我而言仍然失败。

我通过在连接字符串中传递SMTP帐户用户&密码凭证来解决它。在我的情况下,我使用Googlemail SMTP - 使用您的SMTP服务器使用的任何用户密码参数&。

与其中包含SMTP用户名和密码字符串参数化ConnectionString属性创建一个SMTP连接管理器 - :以粗体显示的位与您的SMTP服务器,用户名密码&

步骤在SSIS项目替换。

  1. 使用新建连接...选项选择SMTP作为类型。
  2. 保存没有任何连接设置。给它任何你想要的名字。
  3. 右键单击该连接并选择参数化...
  4. 选择属性=的ConnectionString
  5. 选择创建新的参数(例如SMTPConnectionManager_ConnectionString)
  6. 将值设置为连接字符串(例如SMTPSERVER = aspmx.l.google .COM;端口= 25; UseWindowsAuthentication = FALSE; EnableSsl = FALSE; [email protected]; 密码= password123
  7. 将范围设置为适合您的部署方法(包或项目)的级别。
  8. 单击确定。

SSIS的美是大多数属性可以参数化/用表达式替换,使它做你想做的。

相关问题