将你设置标识列的SQL语言贴出来,看看问题在哪里?
-------------------------------------------
不要手动设置,你用查询分析器,写好SQL语言,然后按Ctrl+L如果优化成功,则再按Ctrl+E执行设置标识列。
------------------------------------------
例如你的表名是: AllDay 要设置的标识列是:yyyymmdd则
1、修改为非空
alter table allday alter column yyyymmdd varchar(10) not null
Ctrl+L->Ctrl+E
2、将这个列设为主键(标识列---不能重复)
ALter table AllDay add primary key(yyyymmdd)
Ctrl+L->Ctrl+E
-----------------------------------------------
自动增长列有点麻烦的,如果你想导入的数据列和原表具有相同的自动增长功能,这个在SQL中不能实现(你手动设置之所以成功,实际上是删除再建立的过程),一般你可以这样
alter table allday add idcol int identity
这个就增加了一个自动增长列,然后,你再将原来的列删除。
在建立新表时把主键也建好了
然后再导入数据。
或是把新表的数据删除,再建主键,最后再导入数据
先确定原因在哪里,可以导入少量数据,然后再设置标识列看看会不会出问题。