Comment modifier une colonne dans une colonne IDENTITY et conserver les données?

J'avais une colonne qui était IDENTITY (1,1). Toutes les lignes ont été numérotées consécutivement. Je n'ai ajouté ou supprimé aucune ligne. J'ai enlevé la propriété d'identité sur cette colonne. Maintenant, je le veux de retour. Je pense que je peux le réinitialiser à l'identité avec le plus grand nombre de graines dans la table existante.

Des problèmes pourraient-ils survenir si je fais cela?

0
Je suggère de l'essayer sur un test DB.
ajouté l'auteur Dan Bracuk, source

1 Réponses

De Forum MSDN SQL Server - Vous avez 2 options:

  1. Create a new table with identity & drop the existing table
  2. Create a new column with identity & drop the existing column.

* Mais attention quand ces colonnes ont des contraintes/relations

Comme indiqué dans la documentation MSDN sur les considérations pour préserver les données lors du déploiement et des mises à jour du schéma:

Modifie les propriétés d'une colonne d'identité sur une table, telle que la graine d'identité - "Nécessite un mouvement de données" et peut, dans certains cas, entraîner une perte de données lors de l'exécution de la synchronisation.

The recommendation in this case: "If the deployment or update script contains these types of changes, you might want to modify it manually to preserve the data"

0
ajouté
Merci pour votre réponse. :)
ajouté l'auteur Trojan.ZBOT, source