alter table tb alter column a1 varchar

解决方案 »

  1.   

    alter table 你的表名 alter column 你的列名   你要修改的数据类型如果有担心的话,可以把对表的修改写一个作业,把执行时间定在半夜,这样就可以了吧!!
      

  2.   

    修改的时候是一个排它锁,是不允许查询修改的。
    但是为了预防出错,你可以把修改语句封装到一个事务里,当出现失败的时候进行回滚。
    sp_dboption 数据库名, 'single user',true
    go
    begin tran func_aletr
        你的修改语句
      if @@error <> 0 
        begin
          rollback tran func_alter
        end
    commit tran func_aletr
    sp_dboption 数据库名, 'single user',false
    go
    先把数据库修改为单用户,然后执行事务,如果出错则回滚。
    但是这样会把所有用户踢掉线。如果你觉得没必要也可以不把数据库设置为单用户。