not null
列を3.5 GB テーブル (SQL Server Express)に変更しようとしています。
テーブル内のすべての行に値が含まれます。
からチェック ボックスを削除しallow null
、[保存] をクリックします。
私は得る:
テーブルを変更できません。
タイムアウトになりました。操作が完了する前にタイムアウト期間が経過したか、サーバーが応答していません。
どうすればこれを克服できますか?
not null
列を3.5 GB テーブル (SQL Server Express)に変更しようとしています。
テーブル内のすべての行に値が含まれます。
からチェック ボックスを削除しallow null
、[保存] をクリックします。
私は得る:
テーブルを変更できません。
タイムアウトになりました。操作が完了する前にタイムアウト期間が経過したか、サーバーが応答していません。
どうすればこれを克服できますか?
直接動作しない場合があります。このようにする必要があります
まず、テーブル内のすべての NULL 値を非 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
タイムアウトを増やしたり上書きしたりすることもできます。
ここから、タイムアウトをオーバーライドするか、それを増やすオプションがあります。
「Transaction time-out after:」を増やします (写真を参照)。
また
「テーブル デザイナーの更新の接続文字列のタイムアウト値をオーバーライドする:」のチェックを外します。
ご覧のとおり、デフォルトのタイムアウトは 30 秒です。これらのオプションは、こちらの MS サポート ページに記載されています。