Saut inattendu des valeurs de colonne d'identité à 1001 dans SQL Server
Dans SQL Server 2012, les utilisateurs ont rencontré un saut inattendu dans les valeurs de colonne d'identité à 1001. Cet écart par rapport à la numérotation séquentielle habituelle a suscité des inquiétudes parmi les développeurs.
Raison du problème
Microsoft a modifié la gestion des valeurs d'identité dans SQL Server 2012. Par conséquent, des écarts d'identité peuvent se produire entre les enregistrements après un redémarrage du serveur. . D'autres causes potentielles incluent le redémarrage automatique du serveur après les mises à jour.
Solutions
Pour résoudre ce problème, deux solutions principales sont disponibles :
1 . Utilisez Trace Flag 272 :
Trace Flag 272 enregistre chaque valeur d'identité générée. Bien que cette méthode offre une visibilité sur le problème, elle peut également avoir un impact sur les performances de génération d'identité.
2. Créer un générateur de séquence sans paramètre AUCUN CACHE :
Cette méthode génère une séquence de nombres pour la colonne d'identité sans mise en cache. En spécifiant NO CACHE, tout redémarrage du serveur n'impactera pas la séquence, garantissant une numérotation continue.
Utilisation de l'indicateur de trace 272 sur SQL Server 2012
Pour activer l'indicateur de trace 272, suivez ces étapes :
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!