最近在学习SSIS,创建好SSIS包后,可以用sql agent自动执行。
在建立好作业后,执行作业
但是作业执行失败,错误是
‘[364] 没有启动 Messenger 服务 — 将不发送 NetSend 通知’
这句话很有误导性,我第一反应是messenger服务没有开,于是去找messenger服务,但是win7之后已经没有messenger服务了,于是感到一定是sql server版本过时了。但是当我重新创建一个作业的时候,却成功执行了作业。
其实问题在于创建作业步骤的时候,运行身份出错。
因为我第二次直接用的代理服务账户,所以身份认证上没有出错。
但是为了安全性着想,我们要为作业设置一个单独的代理账号
在这里需要选择凭据:
错误就出在这里。首先,凭据要求要和ssis包中的访问各数据源的身份一致,我的ssis包使用的是我的windows账户,凭据也是用windows账户,所以这点要求是达到的。但是在创建凭据的时候:
这里的密码并非随意设置,而是你的账户对应的密码,比如我用的windows账户,应该输入我登入windows的密码。所以之前的凭据没有创建正确。修改之后‘ 代理执行作业时错误 [364] 没有启动 Messenger 服务 — 将不发送 NetSend 通知’ 错误就不会发生了。