1.今天在整合项目中有这样一个需求,就是要改变以存在表字段的文本的大小,如把char(15)改成varchar(50)。
2.此时以存在表已有1885742条数据,在直接下面进行调用
ALTER TABLE table_name ALTER COLUMN column_name datatype
出现超过问题,我以为是语句不支持了,后来就用数据库表设计进行调整保存,但也失败了也报超时。
3.发现不是以上问题是因为数据量大,导致未更新完就超过了sql的执行时间。而不是语法问题。
4.调整:在SQL Server Management Studio中工具,如下设置,就不会提示“超时时间已到。在操作完成之前超时时间已过或服务器未响应”
数据库默认更新操作sql执行时间是30秒.设置事务超时时间,设置为600或更长时间。
如果数据量极大的话,建议分批次迁移旧表的数据到新表中来(考虑系统负重能力,可分成多批次)。
作者:王春天 2013.11.28 地址:http://www.cnblogs.com/spring_wang/p/3448456.html