我正在尝试将数据从一台服务器导出到另一台服务器。我已经使用自定义SQL来获取数据并在目标位置创建了一个表:
SELECT [Vantive OrgID]= end_user_vantive_id, [City]= end_user_city,
[State]= end_user_state, [Postal]= end_user_postal_code, [Country] = end_user_country,
[Area]= st_area, [Region]= st_region, [Territory]= st_territory,
[Geo]= st_geo, [Sales Order Number]= sales_order_number,
[Date]= order_date, [Year]= year_num, [Month]= month_num,
[Quarter]= datepart(q,order_date),
FROM scaall.vf_bookings WITH (NOLOCK)
WHERE ISNUMERIC(sales_order_number) = 1 and order_date >= '1/1/15';
很少有数据被复制并抛出以下错误消息。
正在复制到[dbo]。[SCASalesOrderExport_20180907](错误)消息错误 0xc0202009:数据流任务1:SSIS错误代码DTS_E_OLEDBERROR。一个 发生OLE DB错误。错误代码:0x80004005。 OLE DB记录是 可用。来源:“ Microsoft SQL Server本机客户端11.0” 结果:0x80004005说明:“ TDS流中的协议错误”。一个 OLE DB记录可用。来源:“ Microsoft SQL Server本机 客户端11.0“结果:0x80004005说明:” TDS中的协议错误 流”。OLEDB记录可用。来源:“ Microsoft SQL Server 本机客户端11.0“结果:0x80004005说明:”协议错误 在TDS流中。” OLE DB记录可用。来源:“ Microsoft SQL 服务器本机客户端11.0“结果:0x80004005说明: “通信链接失败”。 OLE DB记录可用。资源: “ Microsoft SQL Server本机客户端11.0”结果:0x80004005 说明:“ TCP提供程序:现有连接被强制关闭 由远程主机。 “。(SQL Server导入和导出向导)
错误0xc0047038:数据流任务1:SSIS错误代码 DTS_E_PRIMEOUTPUTFAILED。 Source-查询上的PrimeOutput方法 返回错误代码0xC0202009。组件返回了失败代码 当管道引擎调用PrimeOutput()时。的意思 故障代码由组件定义,但错误是致命的,并且 管道停止执行。可能发布了错误消息 在此之前,有关失败的更多信息。 (SQL Server 导入和导出向导)
答案 0 :(得分:0)
您可以尝试使用 bcp 实用程序来代替使用SQL Server导入和导出向导(更多信息here)。
bcp 是为此目的而创建的命令行实用程序:在不同数据库之间有效地传输数据。
导出查询数据
bcp "select * from [SRC_DB_NAME].[SCHEMA_NAME].[TABLE_NAME]" queryout c:\data.bcp -c -T -U<login_id> -P<password> -S<src_server_name\instance_name>
导入数据
bcp [DEST_DB_NAME].[SCHEMA_NAME].[TABLE_NAME] in c:\data.bcp -c -T -U<login_id> -P<password> -S<dest_server_name\instance_name>