从 SQL Server Management Studio 2008 运行 SSIS 包
Posted
技术标签:
【中文标题】从 SQL Server Management Studio 2008 运行 SSIS 包【英文标题】:Running a SSIS Package from SQL Server Management Studio 2008 【发布时间】:2014-09-01 15:15:09 【问题描述】:我在 SQLExpress 2005 上设置了从数据库复制数据的导入,并在 SQL Server Management Studio 2008 上删除和替换数据库中的数据。
当我第一次设置它时运行良好?但是如果我尝试在 SQL Server Management Studio 2008 中分配一个作业以在设定的时间运行该过程,它会失败吗?
如果我尝试手动运行存储过程也会失败?我可以让它工作的唯一方法是每次都从新创建?
谁能解释为什么会发生这种情况?
我得到的错误信息;
日期、来源、严重性、步骤 ID、服务器、作业名称、步骤名称、通知、消息、持续时间、Sql 严重性、Sql 消息 ID、操作员已发送电子邮件、操作员网络发送、操作员分页、重试次数 09/01/2014 15:51:14,PostingJob_Aron,Error,0,RFWSQL,PostingJob_Aron,(作业结果),,作业失败。作业由用户 sa 调用。运行的最后一步是第 1 步(导入数据)。,00:00:18,0,0,,,,0 2014 年 9 月 1 日 15:51:14,PostingJob_Aron,错误,1,RFWSQL,PostingJob_Aron,导入数据,,以用户身份执行:RFWSQL\SYSTEM。 Microsoft (R) SQL Server Execute Package Utility Version 10.50.2500.0 for 32-bit 版权所有 (C) Microsoft Corporation 2010。保留所有权利。开始时间:15:51:15 错误:2014-09-01 15:51:32.19 代码:0xC0202009 来源:PostingImportAron 连接管理器“SourceConnectionOLEDB”描述:SSIS 错误代码 DTS_E_OLEDBERROR。发生 OLE DB 错误。错误代码:0x80004005。 OLE DB 记录可用。来源:“Microsoft SQL Server Native Client 10.0” Hresult:0x80004005 描述:“登录超时已过期”。 OLE DB 记录可用。来源:“Microsoft SQL Server Native Client 10.0” Hresult:0x80004005 描述:“在建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。找不到或无法访问服务器。检查实例名称是否正确和如果 SQL Server 配置为允许远程连接。有关详细信息,请参阅 SQL Server 联机丛书。"。 OLE DB 记录可用。来源:“Microsoft SQL Server Native Client 10.0”Hresult:0x80004005 描述:“命名管道提供程序:无法打开与 SQL Server [1326] 的连接。”。结束错误错误:2014-09-01 15:51:32.19 代码:0xC020801C 源:数据流任务 1 源 - MyPostings [1] 描述:SSIS 错误代码 DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER。对连接管理器“SourceConnectionOLEDB”的 AcquireConnection 方法调用失败,错误代码为 0xC0202009。在此之前可能会发布错误消息,其中包含有关 AcquireConnection 方法调用失败原因的更多信息。结束错误错误:2014-09-01 15:51:32.20 代码:0xC0047017 源:数据流任务 1 SSIS.Pipeline 描述:组件“源 - MyPostings”(1) 验证失败并返回错误代码 0xC020801C。结束错误错误:2014-09-01 15:51:32.20 代码:0xC004700C 来源:数据流任务 1 SSIS.Pipeline 描述:一个或多个组件验证失败。 End Error 错误:2014-09-01 15:51:32.22 代码:0xC0024107 来源:数据流任务 1 描述:任务验证期间出现错误。结束错误 DTExec:包执行返回 DTSER_FAILURE (1)。开始时间:15:51:15 结束时间:15:51:32 经过时间:17.14 秒。包执行失败。步骤失败。,00:00:18,0,0,,,,0 09/01/2014 15:45:59,PostingJob_Aron,Error,0,RFWSQL,PostingJob_Aron,(作业结果),,作业失败。作业由用户 sa 调用。运行的最后一步是第 1 步(导入数据)。,00:00:21,0,0,,,,0 09/01/2014 15:45:59,PostingJob_Aron,错误,1,RFWSQL,PostingJob_Aron,导入数据,,以用户身份执行:RFWSQL\SYSTEM。 Microsoft (R) SQL Server Execute Package Utility Version 10.50.2500.0 for 64-bit 版权所有 (C) Microsoft Corporation 2010。保留所有权利。开始时间:15:45:59 错误:2014-09-01 15:46:20.59 代码:0xC0202009 来源:PostingImportAron 连接管理器“SourceConnectionOLEDB”描述:SSIS 错误代码 DTS_E_OLEDBERROR。发生 OLE DB 错误。错误代码:0x80004005。 OLE DB 记录可用。来源:“Microsoft SQL Server Native Client 10.0” Hresult:0x80004005 描述:“登录超时已过期”。 OLE DB 记录可用。来源:“Microsoft SQL Server Native Client 10.0” Hresult:0x80004005 描述:“在建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。找不到或无法访问服务器。检查实例名称是否正确和如果 SQL Server 配置为允许远程连接。有关详细信息,请参阅 SQL Server 联机丛书。"。 OLE DB 记录可用。来源:“Microsoft SQL Server Native Client 10.0” Hresult:0x80004005 描述:“TCP Provider:连接尝试失败,因为连接方在一段时间后没有正确响应或建立连接失败,因为连接的主机没有响应。”。结束错误错误:2014-09-01 15:46:20.59 代码:0xC020801C 源:数据流任务 1 源 - MyPostings [1] 描述:SSIS 错误代码 DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER。对连接管理器“SourceConnectionOLEDB”的 AcquireConnection 方法调用失败,错误代码为 0xC0202009。在此之前可能会发布错误消息,其中包含有关 AcquireConnection 方法调用失败原因的更多信息。结束错误错误:2014-09-01 15:46:20.59 代码:0xC0047017 源:数据流任务 1 SSIS.Pipeline 描述:组件“源 - MyPostings”(1) 验证失败并返回错误代码 0xC020801C。结束错误错误:2014-09-01 15:46:20.59 代码:0xC004700C 源:数据流任务 1 SSIS.Pipeline 描述:一个或多个组件验证失败。 End Error 错误:2014-09-01 15:46:20.59 代码:0xC0024107 来源:数据流任务 1 描述:任务验证期间出现错误。结束错误 DTExec:包执行返回 DTSER_FAILURE (1)。开始时间:15:45:59 结束时间:15:46:20 经过时间:21.14 秒。包执行失败。步骤失败。,00:00:21,0,0,,,,0 09/01/2014 15:24:00,PostingJob_Aron,Error,0,RFWSQL,PostingJob_Aron,(作业结果),,作业失败。作业由 Schedule 24(运行)调用。运行的最后一步是第 1 步(导入数据)。,00:00:22,0,0,,,,0 2014 年 9 月 1 日 15:24:00,PostingJob_Aron,错误,1,RFWSQL,PostingJob_Aron,导入数据,,以用户身份执行:RFWSQL\SYSTEM。 Microsoft (R) SQL Server Execute Package Utility Version 10.50.2500.0 for 64-bit 版权所有 (C) Microsoft Corporation 2010。保留所有权利。开始时间:15:24:00 错误:2014-09-01 15:24:21.93 代码:0xC0202009 来源:PostingImportAron 连接管理器“SourceConnectionOLEDB”描述:SSIS 错误代码 DTS_E_OLEDBERROR。发生 OLE DB 错误。错误代码:0x80004005。 OLE DB 记录可用。来源:“Microsoft SQL Server Native Client 10.0” Hresult:0x80004005 描述:“登录超时已过期”。 OLE DB 记录可用。来源:“Microsoft SQL Server Native Client 10.0” Hresult:0x80004005 描述:“在建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。找不到或无法访问服务器。检查实例名称是否正确和如果 SQL Server 配置为允许远程连接。有关详细信息,请参阅 SQL Server 联机丛书。"。 OLE DB 记录可用。来源:“Microsoft SQL Server Native Client 10.0” Hresult:0x80004005 描述:“TCP Provider:连接尝试失败,因为连接方在一段时间后没有正确响应或建立连接失败,因为连接的主机没有响应。”。结束错误错误:2014-09-01 15:24:21.93 代码:0xC020801C 源:数据流任务 1 源 - MyPostings [1] 描述:SSIS 错误代码 DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER。对连接管理器“SourceConnectionOLEDB”的 AcquireConnection 方法调用失败,错误代码为 0xC0202009。在此之前可能会发布错误消息,其中包含有关 AcquireConnection 方法调用失败原因的更多信息。结束错误错误:2014-09-01 15:24:21.93 代码:0xC0047017 源:数据流任务 1 SSIS.Pipeline 描述:组件“源 - MyPostings”(1) 验证失败并返回错误代码 0xC020801C。结束错误错误:2014-09-01 15:24:21.93 代码:0xC004700C 来源:数据流任务 1 SSIS.Pipeline 描述:一个或多个组件验证失败。 End Error 错误:2014-09-01 15:24:21.93 代码:0xC0024107 来源:数据流任务 1 描述:任务验证期间出现错误。结束错误 DTExec:包执行返回 DTSER_FAILURE (1)。开始时间:15:24:00 结束时间:15:24:21 经过时间:21.156 秒。包执行失败。步骤失败。,00:00:21,0,0,,,,0 09/01/2014 15:11:00,PostingJob_Aron,Error,0,RFWSQL,PostingJob_Aron,(作业结果),,作业失败。作业由 Schedule 24(运行)调用。运行的最后一步是第 1 步(导入数据)。,00:00:00,0,0,,,,0 2014 年 9 月 1 日 15:11:00,PostingJob_Aron,错误,1,RFWSQL,PostingJob_Aron,导入数据,,以用户身份执行:RFWSQL\SYSTEM。 Microsoft (R) SQL Server Execute Package Utility Version 10.50.2500.0 for 64-bit 版权所有 (C) Microsoft Corporation 2010。保留所有权利。开始时间:15:11:00 错误:2014-09-01 15:11:00.74 代码:0xC0014060 来源:7A71992F-6187-4E30-AB94-F6A949E6EC47 描述:无法解密使用用户密钥加密的包。您可能不是加密此包的用户,或者您使用的不是用于保存包的同一台机器。结束错误 由于错误 0x8009000B,无法加载包“\PostingImportARON”。说明:密钥在指定状态下无效。来源:开始时间:15:11:00 结束时间:15:11:00 经过时间:0.125 秒。无法加载包。步骤失败。,00:00:00,0,0,,,,0
【问题讨论】:
如果您去看医生并说“我感到疼痛”,他们会帮助您吗?不。您是否有骨折、偏头痛、脾脏破裂、碎裂、胃部不适、狼疮(它从来不是狼疮)或任何其他疾病。请更新您的问题以指定“失败”的含义。添加特定的错误消息,可能是您的包外观的屏幕截图、相关查询等 我有一个带有冗长错误消息的文本文件,但我看不到要附加它吗? 打开文本文件,全选,复制。点击上方的编辑按钮,粘贴 【参考方案1】:很可能表名(目标)被硬编码为某种东西。因此,第一次运行时,它会创建对象。
当您第二次运行时,该对象已经存在,因此在代码中失败并退出 - 不运行您的 SP,因为它将运行作为单个区块或交易。
您需要检查是否存在包裹在 IF 块中的对象名称,以便处理剩余的逻辑。
IF OBJECT_ID('tempdb..#YourSpecificDates') IS NOT NULL
BEGIN
DROP TABLE #YourSpecificDates
/*Do other processes*/
/*Exec your SP*/
END
【讨论】:
嗨,这听起来像是发生了什么,我应该把代码放在哪里,我应该如何运行它?这会是我运行表格副本之前的一个步骤吗? 您将需要编辑您的 SSIS 包并找到创建目标表的部分。虽然看到你发布的错误信息提示你还需要删除加密密钥,这样才能执行以上是关于从 SQL Server Management Studio 2008 运行 SSIS 包的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 BCP 或 Sql Server Management Studio 从 Sql Server 中获取 BLOB 数据?
从 SQL Server Management Studio 连接到数据库服务器时出错
从 SQL Server Management Studio 2008 运行 SSIS 包
从 SQL Server Management Studio 查询两个单独的 SQL Compact 数据库