Jon*_*ter 4 sql t-sql sql-server ssis sql-server-2016
我目前正在使用Visual Studio 2015(在BIDS 2008中制作)更新所有ETL,并将它们重新部署到在SQL Server 2016上运行的新报表服务器(最初为2008R2).
在更新其中一个ETL并尝试在新服务器上运行时,我收到此错误:
包执行失败.步骤失败了.
有时它也会产生这个错误:
来源:加载事实表SSIS.Pipeline描述:"复制到事实表"验证失败并返回验证状态"VS_NEEDSNEWMETADATA".
我尝试删除并重新添加OLEDB目标,连接字符串并打开列映射以刷新元数据.我还重新创建了整个数据流任务,但我仍然遇到了同样的错误.
该程序包在我的本地计算机上运行良好.
更新:
我开始拆开包装并仅运行它们以试图缩小哪个部分失效.它似乎没有加载到临时表,但我找不到原因.
我最终决定尝试重新创造整个事物.重新创建整个包后,仍然没有运气.下图来自服务器本身的事件查看器,但它没有给我任何新信息.
Jon*_*ter 11
我终于找到了问题,这就是我如何做到的.
因为我从SSMS获得的错误消息不是很有见地,所以我首先打开了我的远程桌面并登录到服务器.然后我转到管理工具>事件查看器,然后是Windows日志>应用程序,以查看失败事件是否会提供更多详细信息.
我采取的下一步是从命令行运行包,因为消息应该更详细.打开cmd,将目录更改为我的包中的目录然后...
DTEXEC /FILE YourPackageName.dtsx
Run Code Online (Sandbox Code Playgroud)
最后,此处的错误消息显示程序包尝试写入的表中缺少列.我添加了那些列,瞧!
小智 8
我已经尝试了上面和其他站点提供的所有解决方案。没事。
我从我的朋友那里得到了一个建议。
步骤如下:
试试你的运气。这是一个可悲的问题,让我无知了两天。
