Comment réinitialiser une graine d`identité dans microsoft sql

<article data-type="article">
Une valeur IDENTITY est un peu comme une empreinte digitale, il identifie de manière unique une ligne dans une table de base de données.

Microsoft SQL Server prend en charge l`utilisation d`une colonne IDENTITY par table. Une colonne IDENTITY fournit une valeur numérique qui peut être utilisée en tant que valeur de clé ou de référence. Les colonnes IDENTITY sont automatiquement incrémenté à chaque fois qu`une nouvelle ligne est ajoutée à la table. La valeur IDENTITY commence à une valeur fournie par l`utilisateur, appelé la graine, ou à 1 si aucune valeur est spécifiée, et augmente de la quantité fournie par l`utilisateur, appelé l`incrément, ou 1 si aucune valeur est spécifiée. Remise à zéro de la valeur de départ ou incrément de colonne IDENTITY nécessite soit laisser tomber la colonne et la création d`un nouveau ou tronquer la table et l`exécution de DBCC CHECKIDENT.

Choses que vous devez

  • Droits d`administration sur la base de données

Supprimez et recréer une colonne

  • Ouvrez une connexion à la base de données souhaitée à l`aide de Microsoft SQL Server Management Studio ou votre application préférée.

  • Tapez une requête pour supprimer la colonne d`identité existante. Cela doit être fait avant de créer une nouvelle colonne d`identité, car chaque table peut avoir qu`une seule colonne d`identité. La syntaxe est:

    ALTER TABLE [table_name] DROP COLONNE [column_name]

    Cela permettra d`éliminer complètement la colonne IDENTITY actuelle de la table, ce qui provoque la perte de valeurs IDENTITY existantes. Si ces valeurs seront nécessaires, ils doivent être sauvegardés ou copiés sur une ligne non-identité première.




  • Tapez et exécuter une requête pour ajouter une nouvelle colonne d`identité. La syntaxe est:

    ALTER TABLE [table_name] ADD COLUMN [column_name] IDENTITÉ ([semences], [incrément])

    Fournir votre point de départ souhaité pour la semence et la valeur de l`incrément pour l`incrément. Cela va créer une nouvelle colonne sans sauté des valeurs de données.

Utilisation de troncature et DBCC CHECKIDENT

  • Ouvrez une connexion à la base de données souhaitée à l`aide de Microsoft SQL Server Management Studio ou votre application préférée.

  • Tronquer la table. Cela supprime toutes les données de la table, alors assurez-vous qu`il n`y a pas de données que vous souhaitez conserver. La syntaxe est:

    TRUNCATE [table_name]

  • Exécutez DBCC CHECKIDENT pour modifier la valeur de la graine. Cela ne change pas la valeur d`incrément. Les valeurs d`incrémentation ne peuvent être modifiés en utilisant la méthode de la section 1. La syntaxe est:

    DBCC CHECKIDENT ([table_name], RESEED, [new_seed])

    La nouvelle valeur de départ sera la première valeur utilisée lors de l`insertion d`une nouvelle ligne.

Conseils & Avertissements

  • valeurs IDENTITY sont parfois utilisées comme clés primaires. Si une relation clé existe, les relations peuvent être invalidées par réensemencement la colonne IDENTITY. Évaluer vos données soigneusement avant d`essayer cela.
  • Les bases de données à l`aide de la réplication ont des préoccupations particulières liées aux colonnes IDENTITY. Reportez-vous aux Ressources pour plus d`informations.
  • Tableau troncature, tel que présenté dans la section 2, supprime complètement toutes les données de la table et ne doit jamais être utilisé si la table contient des données importantes.

AUTRES

» » » » Comment réinitialiser une graine d`identité dans microsoft sql