服务器同时在线1000人以上的时候怎么样修改字段属性才能保证不破坏数据库??
服务器同时在线1000人以上的时候怎么样修改字段属性才能保证不破坏数据库??
例如将nvarchar改成varchar,将ntext改成varchar。
问题点数:30、回复次数:6Top
1 楼wgsasd311(自强不息)回复于 2005-11-04 18:19:03 得分 15
alter table tb alter column a1 varcharTop
2 楼huang2005(不懂)回复于 2005-11-04 18:26:10 得分 3
1000多不算多吧?
应该不会损坏数据库Top
3 楼kkkuuu(一担蛋)回复于 2005-11-04 18:46:30 得分 0
表中有数据也能这样改吗?Top
4 楼kkkuuu(一担蛋)回复于 2005-11-04 20:49:34 得分 0
help me!!Top
5 楼zoubsky(与世隔绝的天空)回复于 2005-11-04 21:28:26 得分 2
alter table 你的表名 alter column 你的列名 你要修改的数据类型
如果有担心的话,可以把对表的修改写一个作业,把执行时间定在半夜,这样就可以了吧!!Top
6 楼ljf840303(校园X怪怪)回复于 2005-11-05 03:30:23 得分 10
修改的时候是一个排它锁,是不允许查询修改的。
但是为了预防出错,你可以把修改语句封装到一个事务里,当出现失败的时候进行回滚。
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
先把数据库修改为单用户,然后执行事务,如果出错则回滚。
但是这样会把所有用户踢掉线。如果你觉得没必要也可以不把数据库设置为单用户。Top




