我正在将 SSIS 与 VS2010(shell)和从 SQL Server 2005(32 位)到 SQL Server 2012(64 位)的数据库一起使用。我直接在目标服务器上进行开发(不是最佳的,但它可以工作)。
当我尝试使用传输数据库任务时,它给我一条错误消息,如下所示: “错误:任务上的 Execute 方法返回错误代码 0x80131500(传输数据时发生错误。有关详细信息,请参阅内部异常。)。Execute 方法必须成功,并使用“out”参数指示结果。”
问题是……我如何查看“内部异常”?它是一个 GUI 界面,无法单步执行代码!我什至尝试过setting up logging - 它只是记录相同的无用错误消息。
Microsoft 在其引用文档中没有有关此错误代码的信息(我可以找到)。
在谷歌上搜索错误代码后,我看到其他人也有这个错误代码以及与用户、角色和创建它们有关的消息。
- 我仔细检查了我在两台服务器上都拥有系统管理员权限,并且
两者都登录。 - 我尝试了相同的传输数据库任务 服务器本身(更改数据库名称)并且有效 对自己来说都很好。
- 我尝试了 DatabaseOnline 和 DatabaseOffline 选项。 (两种方式都出现相同的错误)
- 在执行传输数据库任务之前,我尝试执行“传输登录名”任务,该任务有效,但传输数据库任务无效。然后它开始抛出错误,指出数据库不存在 - 这意味着我需要在传输数据库后传输登录名。
这是我的设置:
我做错了什么? 或者如何获取“内部异常”消息?
此外,请关注我在 Microsoft 论坛上发布的帖子: http://social.technet.microsoft.com/Forums/en-US/sqlintegrationservices/thread/cda53c80-8da6-4ed1-898a-9f3ff8464ae2
最佳答案
这个答案让我反胃……我希望我能帮别人省去这个麻烦。问题是这样的:
- 首先也是最重要的一点:错误消息的描述性不够。错误应该交给接口(interface)。
- 在“传输数据库”任务的“编辑”下,目标文件路径将使用源数据库的文件路径“自动填充”。他们第一眼(第二次、第三次……)粗略地看去,都是正确的。经过进一步检查文件路径错误。如果您要从一个版本切换到另一个版本,这是有意义的 - 根据版本的不同,文件夹的命名存在细微的差异(
MSSQL.1
与MSSQL11.<instanceName>
)。
综上所述,错误是由于路径设置错误导致文件夹不存在导致的。我想像这样的其他低级异常也会被具有相同神秘错误消息的接口(interface)所吞噬。
关于sql-server - SSIS 传输数据库任务神秘错误消息 0x80131500,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10905044/