把另外一个表的数据导到一个新的表里,不算很多,20W,因为自动增长的主键值也要导出,所以新表的主键列没有设置为标识列自动增长。
数据导完后,在新表的列属性里把主键设置为标识列,也就是自动增长。执行中提示
“将定义更改保存到包含大量数据的表中可能需要很长时间。在保存更改期间,将无法访问表数据。”
确定后,执行了半分钟左右。就停止了,提示
“*****”表
- 无法修改表。  
超时时间已到。在操作完成之前超时时间已过或服务器未响应。
在网上搜了下,解决方法都是在ASP.NET里修改。
这是怎么加事啊,以前也出现过,不过多执行了几次最后成成功了。

解决方案 »

  1.   

    --新表建好自增列-- SET IDENTITY_INSERT to ON.
    SET IDENTITY_INSERT dbo.新表 ONinsert 新表
    select ... from 源表
      

  2.   

    导入数据再加一个IDENTITY不就行了,
      

  3.   

    select *,id=identity(int, 1,1) into 表 from 原表
      

  4.   

    1#是数据已经导好了,我要的是原表的主键值,新建一个主键列的话值就变了。2#超时时间设置的是03#的“导入数据再加一个IDENTITY不就行了”没有看懂。