Eh bien, ce ne sera pas un moyen rapide et facile de le faire, vraiment...
Mon approche serait la suivante :
-
créer une nouvelle table avec une structure identique - à l'exception de l'
ID
la colonne étantBIGINT IDENTITY
au lieu deINT IDENTITY
----[ mettez votre serveur en mode mono-utilisateur exclusif ici ; l'utilisateur ne peut pas utiliser votre serveur à partir de maintenant ]----
-
trouver et désactiver toutes les contraintes de clé étrangère référençant votre table
-
activer
SET IDENTITY_INSERT (your new table) ON
-
insérer les lignes de votre ancien tableau dans le nouveau tableau
-
désactivez
SET IDENTITY_INSERT (your new table) OFF
-
supprimer votre ancien tableau
-
renommez votre nouvelle table avec l'ancien nom de table
-
mettre à jour toutes les tables qui ont une référence FK à votre table pour utiliser
BIGINT
au lieu deINT
(cela devrait être faisable avec un simpleALTER TABLE ..... ALTER COLUMN FKID BIGINT
) -
recréer à nouveau toutes les relations de clé étrangère
-
vous pouvez maintenant rétablir l'utilisation multi-utilisateur normale de votre serveur