我試圖列改爲not null
在3.5 GB表(SQL Server Express的)不爲空。SQL服務器:更改列在一個非常大的表
所有行包含在表中的值。
我刪除allow null
的複選框,然後點擊保存。
我得到:
無法修改表。
超時已過期。操作完成之前超時的時間或服務器沒有響應。
我如何克服這個問題?
我試圖列改爲not null
在3.5 GB表(SQL Server Express的)不爲空。SQL服務器:更改列在一個非常大的表
所有行包含在表中的值。
我刪除allow null
的複選框,然後點擊保存。
我得到:
無法修改表。
超時已過期。操作完成之前超時的時間或服務器沒有響應。
我如何克服這個問題?
它可能不直接合作。你需要做的是這樣
首先要在你的表中的非空
UPDATE tblname SET colname=0 WHERE colname IS NULL
所有空值然後更新表格
ALTER TABLE tblname ALTER COLUMN colname INTEGER NOT NULL
希望這會解決您的問題。
試試這個:
ALTER TABLE tblname ADD CONSTRAINT [DF_tblname_colnamename] DEFAULT (0) FOR colname
ALTER TABLE tblname ALTER COLUMN colname INTEGER NOT NULL
您也可以增加或覆蓋超時。
從這裏,你必須覆蓋選項超時或增加它:
「後,交易超時:」 增加你的(參見圖)
OR
取消勾選 「覆蓋連接字符串超時表設計更新值:」
默認的超時時間爲30秒,你可以看到。這些選項記錄在MS Support page here上。