Jedinou další možností je udělat ručně to, co stejně dělá mnoho systémů RDBMS...
- Vytvořit novou tabulku
Poté můžete zkopírovat obsah staré tabulky po částech. Vždy si dávejte pozor na jakékoli INSERT/UPDATE/DELETE ve zdrojové tabulce. (Mohlo by být řízeno spouštěčem. Ačkoli by to způsobilo zpomalení, není to zámek...)
Po dokončení změňte název zdrojové tabulky a poté změňte název nové tabulky. Nejlépe v transakci.
Po dokončení znovu zkompilujte všechny uložené procedury atd., které tuto tabulku používají. Prováděcí plány pravděpodobně již nebudou platné.
UPRAVIT:
Bylo učiněno několik poznámek o tom, že toto omezení je trochu špatné. Tak jsem si řekl, že na to dám nový pohled, abych ukázal, proč to tak je...
- Přidání nového pole je jako změna jednoho pole na každém řádku.
- Zámky pole by byly mnohem těžší než zámky řady, nehledě na zámky stolu.
- Ve skutečnosti měníte fyzickou strukturu na disku, každý záznam se pohybuje.
- Toto je skutečně jako AKTUALIZACE celé tabulky, ale s větším dopadem...