18 messaggi dal 27 settembre 2011
Salve a tutti. Qualcuno sa dirmi perché improvvisamente l'incremento automatico della colonna ID mi è passato da 319 a 1298? Il database è MSSQL.

Grazie.
Mauro
Modificato da amolavita il 24 gennaio 2019 17.44 -
1.976 messaggi dal 27 luglio 2005
Contributi
salve,
potrebbe dipendere da una modifica al motore avvenuta con SQL Server 2012, dove Microsoft ha deciso di effettuare operazioni di pre-caching di lotti consecutivi di valori identity da assegnare in set round robin a spid diversi...
in ogni caso, anche precedentemente, vengono garantiti valori incrementali, MA, come prima, non era mai stata garantita l'unicita' del valore, ed ora la consecutivita' e' stata realmente sbilanciata.. cose comunque documentate in https://docs.microsoft.com/en-us/previous-versions/sql/sql-server-2012/ms186775(v=sql.110)...

per comprenderci sullo stato attuale, vedi https://www.codeproject.com/Tips/668042/SQL-Server-Auto-Identity-Column-Value-Jump-Is

questo e' stato spesso deprecato dagli utilizzatori in quanto questo automatismo veniva (erroneamente) utilizzato per sequenze senza gap tipo "protocollo fatture" o cosa simili, anche se da sempre Microsoft NON HA MAI garantito la sequenzialita' senza gaps, ma ci aveva abituati (troppo) bene nel passato...

per mitigare il "problema", Microsoft ha documentato un flag, T272, vedi ad esempio https://www.sqlservercentral.com/Forums/Topic1651468-3412-1.aspx

ma sarebbe meglio passare, in casi di necessita' reale di sequenzialita' continua, alle sequences,
https://docs.microsoft.com/it-it/sql/t-sql/statements/create-sequence-transact-sql?view=sql-server-2017

ma da come scrivi tu, personalmente non riesco a capire meglio...
saluti
Modificato da Andrea Montanari il 26 gennaio 2019 12.42 -

Andrea Montanari
http://www.hotelsole.com - http://www.hotelsole.com/asql/index.php
18 messaggi dal 27 settembre 2011
Grazie Andrea! Mi hai aperto un po' di scenari che vorrei approfondire.

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.