SSIS传输数据库任务含义错误消息0x80131500

时间:2012-06-05 21:11:57

标签: sql-server sql-server-2005 ssis dts sql-server-data-tools

我正在使用SSIS和VS2010(shell)以及从SQL Server 2005(32位)到SQL Server 2012(64位)的数据库。我直接在目标服务器上开发(不是最佳的,但它可以工作)。

当我尝试使用Transfer数据库任务时,它会给我一条错误消息,如下所示: “错误:任务上的Execute方法返回错误代码0x80131500(传输数据时发生错误。有关详细信息,请参阅内部异常。)。Execute方法必须成功,并使用”out“参数指示结果。” Error message

这是问题......如何查看“内部异常”?它是一个GUI界面,无法单步执行代码!我甚至试过setting up logging - 它只是记录了同样无用的错误信息。

Microsoft在其参考文档中没有关于此错误代码的信息(我可以找到)。

在google错误代码之后,我看到其他人有这个错误代码以及与用户,角色和创建它们的消息。

  • 我仔细检查了我在两台服务器上都有sysadmin权限,并且 登录两者。
  • 我尝试了各自的传输数据库任务 服务器自身(具有更改数据库名称)和 工作 两者都很好。
  • 我尝试了DatabaseOnline和DatabaseOffline选项。 (两种方式都是同样的错误)
  • 我尝试在执行传输数据库任务之前执行“传输登录”任务,该任务有效,但不执行传输数据库任务。然后它开始抛出错误,说数据库不存在 - 这意味着我需要在传输数据库后传输登录。

以下是我的设置:enter image description here

我做错了什么? OR 如何获取“内部异常”消息?

另外,请点击我的帖子到微软的论坛: http://social.technet.microsoft.com/Forums/en-US/sqlintegrationservices/thread/cda53c80-8da6-4ed1-898a-9f3ff8464ae2

5 个答案:

答案 0 :(得分:6)

这个答案让我感到恶心......我希望我能帮助别人这个麻烦。问题是:

  1. 首先:错误消息不够描述。该错误应该传递给界面。
  2. 在&#34;编辑&#34;在&#34;转移数据库&#34;任务,目标文件路径是&#34;自动填充&#34;使用源数据库的文件路径。他们在第一次(第二次,第三次......)粗略看一眼时看起来正确。进一步检查文件路径错误。如果您要从版本到版本,这是有意义的 - 根据版本(MSSQL.1MSSQL11.<instanceName>),文件夹的名称会有细微差别。
  3. 总之,错误是由于文件夹不存在导致的,因为路径设置错误。我想像这样的其他低级异常也会被具有相同神秘错误消息的接口吃掉。

答案 1 :(得分:1)

我们遇到过这样的情况,有人告诉我们MySQL数据库中的列总是存在有效日期,后来我们发现有'0000-00-00 00:00:00''0001-01-01 00:00:00'等日期。

我们在查询中处理它,使用case语句将数据转换为SSIS可以使用的日期:

CASE WHEN Product.PurchaseDate < '1900-01-01 00:00:00' THEN '1900-01-01 00:00:00' ELSE Product.PurchaseDate END AS PurchaseDate

当然,您也可以选择null

答案 2 :(得分:1)

我也有同样的问题,结果证明是访问问题。尝试将这些访问权限授予mdf和ldf文件将登陆的文件夹:NT Service \ MSSQLSERVER,Owner Creator,System

答案 3 :(得分:0)

  

“这意味着我需要在转移后转移登录信息   数据库“。

实际上,登录位于服务器(实例)级别,因此您可以转移登录,然后转移数据库。您需要稍后担心用户

这里有一点,我不认为SSIS准备转移2005年 - &gt;我的意思是,“跳过”一个版本是没​​有意义的。你说你正在使用VS 2012,所以它将是SSIS 2012.它认为它只能读取2008数据库。您在同一台服务器上进行测试并且工作正常的事实也使这一点更加强大。

答案 4 :(得分:0)

这已经过时了,但我在SSMS 17.2中遇到了同样神秘的信息。我试过并检查了上面的所有建议都无济于事。 在我的例子中,问题与Visual Studio 2017中SSIS项目的TargetServerVersion属性有关。默认情况下,这设置为SQL Server 2017,而我的本地服务器是SQL Server 2014 - 一旦更改为相同版本,一切顺利。< / p>