Единствената друга опция е да направите ръчно това, което много RDBMS системи правят така или иначе...
- Създайте нова таблица
След това можете да копирате съдържанието на старата таблица върху парче по парче. Въпреки че винаги внимавате за всяко INSERT/UPDATE/DELETE в таблицата с източник. (Може да се управлява от спусък. Въпреки че това би причинило забавяне, това не е заключване...)
След като приключите, променете името на изходната таблица, след което променете името на новата таблица. За предпочитане в транзакция.
След като приключите, прекомпилирайте всички съхранени процедури и т.н., които използват тази таблица. Плановете за изпълнение вероятно вече няма да са валидни.
РЕДАКТИРАНЕ:
Бяха направени някои коментари, че това ограничение е малко лошо. Така че реших да поставя нова гледна точка върху него, за да покажа защо е така...
- Добавянето на ново поле е като промяна на едно поле на всеки ред.
- Заключването на полето би било много по-трудно от заключването на редове, без значение заключването на таблицата.
- Всъщност променяте физическата структура на диска, всеки запис се движи.
- Това наистина е като АКТУАЛИЗИРАНЕ на цялата таблица, но с по-голямо въздействие...