Maison >base de données >tutoriel mysql >Pourquoi ma colonne d'identité SQL Server 2012 commence-t-elle à 1001 au lieu de 1 ?

Pourquoi ma colonne d'identité SQL Server 2012 commence-t-elle à 1001 au lieu de 1 ?

DDD
DDDoriginal
2025-01-06 18:12:40398parcourir

Why Does My SQL Server 2012 Identity Column Start at 1001 Instead of 1?

Valeurs de colonne d'identité commençant de manière inattendue à partir de 1001

Dans SQL Server 2012, vous pouvez rencontrer un phénomène inattendu où les valeurs de colonne d'identité commencent à partir de 1001 à la place du 1 attendu. Cet écart est dû à un changement dans la façon dont SQL Server gère les valeurs d'identité dans le Denali version.

Raisons du saut

Le saut de valeur d'identité peut se produire en raison de :

  • Redémarrages automatiques du serveur après les mises à jour
  • Autres événements système nécessitant un serveur redémarrer

Solutions

Pour résoudre ce problème, vous avez deux options :

  • Utiliser Trace Flag 272 : Cet indicateur génère un enregistrement de journal pour chaque valeur d'identité générée. Cela peut avoir un impact sur les performances de génération d'identité.
  • Utilisez un générateur de séquence sans paramètre de cache :

Pour activer l'indicateur de trace 272 :

  1. Ouvrez « Gestionnaire de configuration SQL Server ».
  2. Cliquez avec le bouton droit sur le nom de l'instance SQL Server et sélectionnez "Propriétés."
  3. Cliquez sur "Paramètres de démarrage" et ajoutez "-T272" dans la case "Paramètres de démarrage".
  4. Confirmez les modifications.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn