Nie rozumiem, jak domyślna wartość pola może być naprawdę wadą.
Jeśli chcesz kontrolować identyfikatory niektórych rekordów przed ich wstawieniem, przydatne może być użycie NEWID()
zamiast domyślnego identyfikatora sekwencyjnego (dzięki czemu możesz wygenerować rekordy i ich skojarzenia przed interakcją z bazą danych i nie będziesz musiał później wykonywać zapytań, aby odzyskać identyfikatory). Chociaż nie wykluczają się wzajemnie...
Jako granadaCoder powiedział, że można wywnioskować sekwencyjny identyfikator, ale IMO korzyści są tak duże pod względem wydajności i konserwacji, że błędem byłoby nie używać go.