Discontinuità colonna IDENTITY

giovedì 12 marzo 2009 - 15.47

nullatore Profilo | Junior Member

Salve gente,
mi è successa una cosa insolita. Chiedo un vostro parere.

Ho una tabella in cui una colonna [id] di tipo INT è impostata come IDENTITY.

Mi accorgo che questa colonna ha un paio di discontinuità inspiegabili: alcune INSERT hanno causato l'aumento del campo ID di valori diversi dall'unita (ad esempio noto che da 82 passo a 89 e da 91 a 96).
Esaminando l'unico intervallo di tempo in cui si presentato il fenomeno (si tratta di un paio d'ore) posso assicurarvi che non è stato fatto nessun DELETE nè modificate le impostazioni di IDENTITY.
Il mio hosting provider mi ha assicurato da parte sua che non è stato effettuato nessun intervento in quel periodo,nè sul server tanto meno sulla tabella in questione.

Sapete illuminarmi?



~nullatore~
mai dire corto circuito virtuale

lbenaglia Profilo | Guru

>Mi accorgo che questa colonna ha un paio di discontinuità inspiegabili:
>alcune INSERT hanno causato l'aumento del campo ID di valori
>diversi dall'unita (ad esempio noto che da 82 passo a 89 e da
>91 a 96).

Ciao Francesco,

Iniziamo col dire che la proprietà IDENTITY NON ti assicura la continuità dei valori e tu stesso hai confermato la cosa
IDENTITY semplicemente genera automaticamente un nuovo valore ad ogni INSERT SIA nel caso in cui la transazione vada a buon fine, SIA in caso di errore creando di conseguenza "un buco" nella serie numerica, visibile alla successiva operazione di INSERT conclusa con successo.

>Sapete illuminarmi?
Probabilmente alcune transazioni di INSERT sono fallite...

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

nullatore Profilo | Junior Member

Ecco, non sapevo che le transazioni fallite facevano aumentare l'indice.

Preciso.Rapido.Essenziale.

Grazie.


~nullatore~
mai dire corto circuito virtuale
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5