在查询分析器中使用下面的语句试下:
select * into 新表 from 表名
是否能够成功

解决方案 »

  1.   

    to sxycgxj(云中客)
      select * into 新表 from 表名
    是否能够成功
      会提示操作中断!执行不下去!我也试的用导入导出也不行!也会提示错误中断。
      数据量为500多万。手工处理是不可能的
      

  2.   

    我有一个思路想通过select语言把数据写入另一张表!但需要一个参数让它遇到错误行主动跳过继续下面的。不知道有没有这样的参数!望各位高手指教
      

  3.   

    如果能通过企业管理器看到数据,说明按聚集索引排序的最前面的数据没有损坏。可以试着用select top N * from 表名N由小到大,逐步增大N,直到提示不能查询,逐条删除损坏的数据。
      

  4.   

    set rowcount 1delete 表名--这两条语句一起执行,只会删除第一条。--为了保险起见,建议楼主先备份数据库。
      

  5.   

    删除后,用DBCC CHECKTABLE ('DataScrape_Master.dbo.Post_200605', REPAIR_ALLOW_DATA_LOSS );检查表中是否还有损坏的数据。或者用select * from 表查询一下,检查表中是否还存在分配错误和一致性错误。
    如果有,继续删!!
      

  6.   

    我删了快100行了!还是不行!修复提示
    表错误: 页 (1:1874669),槽 0,列 2 不是有效的复杂列。
            未能修复此错误。 
    CHECKTABLE 发现了 0 个分配错误和 1 个一致性错误,这些错误并不与任何单个的对象相关联。
    'post_200605' 的 DBCC 结果。
    对象 'post_200605' 有 1732595 行,这些行位于 69537 页中。
    repair_allow_data_loss 是最低的修复级别(对于由 DBCC CHECKTABLE (DataScrape_Master.dbo.post_200605 repair_allow_data_loss) 发现的错误而言)。
      

  7.   

    --try
    将表的聚集索引降排序,取出允许的top n条记录。