作者flakchen (flak)
看板Database
标题Re: [SQL ] SQL2005有大量资料 想改变栏位形态
时间Sat Jun 14 10:35:45 2008
因为你已经用a+b设了一个Index,没记错的话应该要先卸掉
再用SQL 的Management Studio按「新增查询」下这个指令
ALTER TABLE tablename ALTER COLUMN a char(60)
注意:
1.你能在管理介面编辑,应该有足够权限下这个指令
2.用指令下一样会跑很久,只是不会Timeout而已
3.因为资料太多,这会锁定那个资料表非常久,如果这是一个上线资料库的话,
小心你的db admin可能在你後面,而且他非常火
4.这个动作通常也会造成交易记录档暴增,所以请注意记录档所在硬碟空间是否
足够,如果不够的话,可能会塞爆硬碟,造成整个资料库都不能运作,小心你的
db admin可能会在你後面,而且他非常火
5.做完之後记得把Index加回来
6.最好先建一个小资料库自己测试整个Scenario
7.我不需要P币,请其他需要的人继续补充
※ 引述《rosemary (迷迭香)》之铭言:
: 大家好
: 想请教大家一个问题
: 资料库是SQL Server 2005
: 一个table 有很多栏位有设index
: 其中有栏位a(char(30))+b(char(30))有设一组index
: 目前该table有3000万笔左右资料
: 因为一些需求,需要将a栏位改为char(60)
: 但是每次用管理界面改好按存档
: 就会说错误
: "已超过连接逾时的设定,在作业完成之前超过逾时等待的时间
: ,或是伺服器未回应"
: 不知道有什麽方法可以达成我的目的?
: 感谢
: p.s我只有该db的管理权限
: 但是没有db admin的权限
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 122.120.15.44
1F:推 iFEELing:推 "你的DBA在你後面,而且他非常火" 06/14 10:43
※ 编辑: flakchen 来自: 122.120.15.44 (06/14 10:57)
2F:推 rosemary:XDDD谢谢您幽默风趣的回答 等测试之後再回报 感谢 ^^ 06/14 13:07