No, nebude to rychlý a snadný způsob, jak to udělat, opravdu...
Můj přístup by byl tento:
-
vytvořte novou tabulku se stejnou strukturou - kromě
ID
sloupec jeBIGINT IDENTITY
místoINT IDENTITY
----[ zde uveďte svůj server do exkluzivního režimu pro jednoho uživatele; uživatel nemůže od tohoto okamžiku používat váš server ]----
-
vyhledejte a deaktivujte všechna omezení cizího klíče odkazující na vaši tabulku
-
zapněte
SET IDENTITY_INSERT (your new table) ON
-
vložte řádky ze staré tabulky do nové tabulky
-
vypněte
SET IDENTITY_INSERT (your new table) OFF
-
smazat starou tabulku
-
přejmenujte svou novou tabulku na starý název tabulky
-
aktualizujte všechny tabulky, které mají odkaz FK na vaši tabulku, aby používali
BIGINT
místoINT
(to by mělo být proveditelné pomocí jednoduchéhoALTER TABLE ..... ALTER COLUMN FKID BIGINT
) -
znovu vytvořit všechny vztahy cizího klíče
-
nyní můžete svůj server opět vrátit k běžnému používání více uživateli