Mam coś zabawnego w mojej bazie danych. Klucz podstawowy zwiększa się:Skok przyrostowy kolumny tożsamości
1
2
3
4
5
6
7
8
1001
Używam EntityFramework lub czasami LINQ do SQL.
Mam coś zabawnego w mojej bazie danych. Klucz podstawowy zwiększa się:Skok przyrostowy kolumny tożsamości
1
2
3
4
5
6
7
8
1001
Używam EntityFramework lub czasami LINQ do SQL.
Dzieje się tak, gdy serwer SQL 2012 straci wstępnie przydzielone numery sekwencji.
Jeśli chcesz pozbyć się, że jedną z możliwości jest użycie TRACEFLAG:
DBCC TRACEON (272)
Inną opcją jest użycie sekwencji (bez buforowania) zamiast tożsamości:
CREATE SEQUENCE MySeq AS int
START WITH 1
INCREMENT BY 1
NO CACHE;
Zobacz: http://www.big.info/2013/01/how-to-solve-sql-server-2012-identity.html
Pobłogosław was wszystkich. kciuki w górę – ojorma
Wszystko to jest zupełnie normalne. Microsoft dodał sekwencje w SQL Server 2012, zajrzyj tutaj pod numer a link, aby uzyskać wyjaśnienie.
Jeśli chcesz mieć starego zachowania można:
stosowanie śladu flag 272 - to spowoduje zapis dziennika mają być generowane dla każdej wytworzonej wartości tożsamości. Na wydajność generowania tożsamości może wpłynąć włączenie tej flagi śledzenia. użyć generatora sekwencji z ustawieniem NIE CACHE (http://msdn.microsoft.com/en-us/library/ff878091.aspx)
Czy wkładka zawodzi w pewnym momencie? –
Jeśli używasz programu SQL Server 2012, jest to błąd. –
http://connect.microsoft.com/SQLServer/feedback/details/739013/alwayson-failover-results-in-reseed-of-identity –