我最近开始将 MS SQL Server 2005 实例升级到 MS SQL 2012。我创建了一个 VM 并安装了 MS SQL Server,并使用备份在新服务器上创建了数据库。
在 Visual Studio 中,我将旧连接切换到新连接,当我切换包含命令的 OLE DB 命令转换的连接时,"UPDATE JOB SET Active = 0 WHERE Job.JobId = ?"
我收到以下错误。
错误 1 验证错误。
Sync Jobs: Sync Jobs: SSIS Error Code
DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code:
0x80004005. An OLE DB record is available. Source: "Microsoft SQL
Server Native Client 11.0" Hresult: 0x80004005 Description: "The
metadata could not be determined because statement 'REVERT
--Check if SSB is enabled in this database' in procedure 'sp_send_dbmail'
does not support metadata discovery.". JobPack.dtsx 0 0
错误 2 验证错误。
Sync Jobs: Sync Jobs: Unable to retrieve
destination column descriptions from the parameters of the SQL
command. JobPack.dtsx 0 0
我检查以确保此“SSB”在新数据库中已打开(未打开),但即使启用它,我仍然无法解决此错误。我切换回旧服务器,它工作正常......
更新: 我想知道电子邮件程序在哪里发挥作用,我发现数据库有一个触发器,可以在更新时发送电子邮件。禁用此触发器可解决 SSIS 包问题。我仍然不知道为什么启用此触发器时 BIDS 在编辑器中显示错误。