Identity Spalteninkrementsprung [duplizieren]

8

Ich habe etwas Lustiges in meiner Datenbank erlebt. Der Primärschlüssel erhöht sich wie folgt:

%Vor%

Ich verwende EntityFramework oder manchmal LINQ to SQL.

    
ojorma 07.08.2013, 12:51
quelle

2 Antworten

4

Dies passiert, wenn der SQL Server 2012 seine zuvor zugewiesenen Sequenznummern verliert.

Wenn Sie das loswerden wollen, ist eine Möglichkeit, traceflag zu verwenden:

%Vor%

Eine weitere Option ist die Verwendung einer Sequenz (ohne Zwischenspeichern) anstelle von Identität:

%Vor%

Siehe: Ссылка

    
OzrenTkalcecKrznaric 07.08.2013, 13:02
quelle
1

Das ist alles völlig normal. Microsoft hat Sequenzen in SQL Server 2012 hinzugefügt. Sehen Sie hier ein Link für eine Erklärung.

Wenn Sie das alte Verhalten haben wollen, können Sie:

Verwenden Sie das Ablaufverfolgungsflag 272 - dies wird dazu führen, dass ein Protokolldatensatz für jeden erzeugten Identitätswert erzeugt wird. Die Leistung der Identitätsgenerierung kann durch Aktivieren dieses Ablaufverfolgungsflags beeinträchtigt werden. Verwenden Sie einen Sequenzgenerator mit der Einstellung NO CACHE ( Ссылка )

    
RAJESH KUMAR 07.08.2013 14:34
quelle