在论坛中出现各种疑难问题: MSSQL 导入导出的时候提示 无法检索源数据和目标数据的列信息


原帖连接:http://bbs.csdn.net/topics/391874091


1、基本信息

MSSQL 导入导出的时候提示 无法检索源数据和目标数据的列信息
,或者源列的数据类型未正确地映射到目标提供程序上可以用的数据类型。


《查询> D:\TXT.txt
列'Tradingtime“:在数据类型映射文件中找不到源数据类型:-1"


另外 某一部分JOB 任务 提示
Executed as user: NT AUTHORITY\SYSTEM. The operating system returned error 23(failed to retrieve text for this error. Reason: 15105) to SQL Server during a read at offset 0x000000da53c000 in file 'F:\DataFile\CWDATA201512.ndf'. Additional messages in the SQL Server error log and system event log may provide more detail. This is a severe system-level error condition that threatens database integrity and must be corrected immediately. Complete a full database consistency check (DBCC CHECKDB). This error can be caused by many factors; for more information, see SQL Server Books Online. [SQLSTATE HY000] (Error 823).  The step failed.


2、进一步的信息

之前一直都是正确的啊,其他服务器下载文本文档导入进去的。 我今天发现这个错误,在使用CHECKDB 和CHECKTABLE


我数据库使用文件组的, 提示NSF那个文件出问题了,
我想是不是我删除了这个文件,重新生成一次会好起来。




原因找到了,有一一块硬盘坏掉了。 导致部分索引失效。 目前单击模式下,在备份导入的文本的文档,之后换一块新的硬盘。
话说这个硬盘时间大概是5年多了,差不多应该都要换了吧。


3、问题诊断

上面提示:Complete a full database consistency check (DBCC CHECKDB)


说明可能是数据库有损坏,你现在查出来是硬盘有问题,建议你运行 dbcc checkdb 命令,完整的检查一下数据库,除了那个ndf文件外,是否还有其他的文件也损坏了。


4、解决方案

经过修复之后checkdb之后,解决了DB数据库某一些表日期索引的问题,并且能正常访问了。
总结下:
问题发生: 
JOB任务在执行的时候只有有关日期的检索都会反馈下面的错误:
1:Executed as user: NT AUTHORITY\SYSTEM. The operating system returned error 23(failed to retrieve text for this error. Reason: 15105) to SQL Server during a read at offset 0x000000da53c000 in file 'F:\DataFile\CWDATA201512.ndf'. Additional messages in the SQL Server error log and system event log may provide more detail. This is a severe system-level error condition that threatens database integrity and must be corrected immediately. Complete a full database consistency check (DBCC CHECKDB). This error can be caused by many factors; for more information, see SQL Server Books Online. [SQLSTATE HY000] (Error 823).  The step failed.
2:正在复制到 D:\ttl_Order.txt (错误)
消息
错误 0xc0202009: 数据流任务 1: SSIS 错误代码 DTS_E_OLEDBERROR。出现 OLE DB 错误。错误代码: 0x80004005。
已获得 OLE DB 记录。源:“Microsoft SQL Server Native Client 10.0” Hresult: 0x80004005 说明:“The operating system returned error 23(failed to retrieve text for this error. Reason: 15105) to SQL Server during a read at offset 0x000000da53c000 in file 'F:\DataFile\CWDATA201512.ndf'. Additional messages in the SQL Server error log and system event log may provide more detail. This is a severe system-level error condition that threatens database integrity and must be corrected immediately. Complete a full database consistency check (DBCC CHECKDB). This error can be caused by many factors; for more information, see SQL Server Books Online.”。
 (SQL Server 导入和导出向导)
 
错误 0xc0047038: 数据流任务 1: SSIS 错误代码 DTS_E_PRIMEOUTPUTFAILED。组件“源 - 查询”(1) 的 PrimeOutput 方法返回了错误代码 0xC0202009。管道引擎调用 PrimeOutput() 时该组件返回了一个失败代码。虽然该失败代码只与该组件有关,但这个错误是致命的,管道已停止执行。


解决过程: 
1.立即关闭了所有访问的账户,并进入SINGLE USER 模式.
2.根据错误1中的.ndf 数据分组文件,确定问题应该属于和分组文件有关的表。同时发现服务器硬盘坏了(黄灯)一块。
3.备份更新服务器上的文件和数据,并更换了坏掉的硬盘。
3.使用checktable 检查了相关的6张表,并修复了错误。
4.使用checkdb 检查其余的表格(CHECKDB会检查所有的表,我这里耗时一共7.5小时),并修复了错误。
5.补倒入最近3天的销售库存调整等文件。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值