看板 Database 關於我們 聯絡資訊
因為你已經用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
iFEELing:推 "你的DBA在你後面,而且他非常火" 06/14 10:43
※ 編輯: flakchen 來自: 122.120.15.44 (06/14 10:57)
rosemary:XDDD謝謝您幽默風趣的回答 等測試之後再回報 感謝 ^^ 06/14 13:07