Jaki jest górny limit automatycznego klucza podstawowego w SQL Server? Co się stanie, gdy klucz główny do autoreferencji SQL Server osiągnie swój górny limit?Górny limit automatycznego klucza podstawowego w SQL Server
Odpowiedz
Odpowiedź Joela jest poprawna, jest górną granicą dowolnego typu danych, którego używasz.
Oto przykład dwóch z nich:
- int: 2^31-1 (2.147.483.647)
- bigint: 2^63-1 (9.223.372.036.854.775.807)
mam faktycznie osiągnąłem limit w pracy, w której pracowałem. Rzeczywista błędu:
Msg 8115, Level 16, State 1, Line 1 Arithmetic overflow error converting IDENTITY to data type int. Arithmetic overflow occurred.
Istnieje kilka poprawek do tego mogę myśleć poza czubek głowy. Numer 1 jest prawdopodobnie bardzo trudny i mało prawdopodobny, numer 2 jest łatwy, ale prawdopodobnie spowoduje problemy w bazie kodu.
- Jeśli kolumna tożsamości nie ma dla ciebie znaczenia (nie jest to klucz obcy itp.), Możesz po prostu ponownie ustawić bazę danych i zresetować kolumnę tożsamości.
- Zmień kolumnę tożsamości na większą. Jeśli na przykład przepełniłeś int, zmień kolumnę tożsamości na dużą wartość int. Powodzenia przepełniają to :)
Prawdopodobnie istnieją inne poprawki, ale nie ma łatwej magicznej kuli. Mam tylko nadzieję, że tak się nie stanie w tabeli, która jest centrum wielu związków, bo jeśli tak, to odczuwasz duży ból. To nie jest trudne, tylko nudne i długie.
To zależy od typu danych. Jeśli używasz Biginta, prawdopodobnie nigdy się nie przepełnisz. Nawet normalna int daje ci kilka miliardów wierszy. Nigdy się nie przelewałem, więc nie mogę powiedzieć, co się stanie, jeśli to zrobisz.
Typy danych Opisy:
BIGINT Integer data from -2^63 through 2^63 - 1
INT Integer data from -2^31 through 2^31 - 1
SMALLINT Integer data from -2^15 through 2^15 - 1
TINYINT Integer data from 0 through 255
Po dotarciu do górnej granicy AutoIncrement idzie do dolnej granicy.
Powiem ci, co się stanie ... moje dane przestały wstawiać się do tej konkretnej tabeli. Baza danych nadal działa, ale znalazłem brakujące dane i niespójność. Przy odrobinie badań znalazłem tabelę błędów, a następnie uruchomiłem ręczną wstawkę. Błąd jest taki sam jak powyżej.
Musiał zmienić kolumnę na BIGINT. W bazie danych 26 GB na nieco powolnym serwerze trwało około 30 minut. W archiwalnej wersji bazy danych (około 150 GB) zajęło to trochę więcej czasu.
Na szczęście nie było zbyt wielu związków na tym stole, więc ból był niewielki.
DBCC CHECKIDENT (SomeTable, RESEED, 1)
ten resetuje tożsamość 1 w tabeli 'SomeTable'
Nie wiem, czy jest to najlepszy sposób, aby to zrobić.
- 1. SQL Server: dowolna automatycznego przyrostu z klucza podstawowego
- 2. Sql Typ danych dla klucza podstawowego - SQL Server?
- 3. Jak zmienić nazwę ograniczenia klucza podstawowego w SQL Server
- 4. sql zamiana wartości klucza podstawowego
- 5. Serwer SQL - Wygeneruj skrypt bez klucza podstawowego
- 6. Dodaj kolumnę klucza podstawowego w tabeli SQL
- 7. LIMIT 10..20 w SQL Server
- 8. LINQ to SQL wstawić z klucza podstawowego jako tinyint ustawienie automatycznego przyrostu daje komunikat o błędzie
- 9. Jak zmienić kolumnę klucza podstawowego w grails?
- 10. SQL Server kolumna unikatowy automatycznego przyrostu w kontekście innej kolumnie
- 11. Zmień podstawową kolumnę klucza w SQL Server
- 12. Jak zmienić ograniczenie klucza podstawowego za pomocą składni SQL?
- 13. Tabele bez klucza podstawowego
- 14. SQL Server 2008 limit na oświadczeniu exec
- 15. dowolny limit liczby połączeń programu SQL Server?
- 16. Użyj klucza podstawowego złożonego jako klucza obcego
- 17. Klucz obcy SQL, który jest częścią złożonego klucza podstawowego
- 18. Czy musimy podać "nie puste" dla klucza podstawowego? Oracle/SQL
- 19. Mapowanie klucza podstawowego jako klucza obcego w bazie danych
- 20. Limit rozmiaru zmiennej XML w SQL Server 2008
- 21. Fluent NHibernate join nie używając klucza podstawowego
- 22. Jak zdefiniować złożonego klucza podstawowego w SQLAlchemy
- 23. Sql Server CE - Tymczasowe wyłączanie automatycznego przyrostu dla konkretnej kolumny
- 24. Mysql - Dodaj auto_increment do klucza podstawowego
- 25. Indeks obcego klucza lub nie w SQL Server 2008
- 26. Tworzenie klucza obcego w SQL Server Management Studio
- 27. Problemy z ustawianiem niestandardowego klucza podstawowego w migracji Rails 4
- 28. GROUP BY za pomocą klucza obcego lub klucza podstawowego?
- 29. Zmiana klucza tablicy getResult dla wartości klucza podstawowego
- 30. Jednostka JPA dla tabeli bez klucza podstawowego
Używam int (11), jak o tym? ile dat danych?i co się stało, jeśli przepełnił się auto_increment? –