Zawsze określ listę kolumn w instrukcjach INSERT, a w INSERT...select musisz zawsze podać ją dwukrotnie - zarówno w insert klauzula i w select klauzula.
Ponadto SQL Server zgłosi błąd, jeśli użyjesz set identity_insert on bez jawnego określania listy kolumn w insert klauzuli, więc nawet jeśli otrzymasz wszystkie kolumny we właściwej kolejności, nadal otrzymasz błąd w tym przypadku.
Aby uzyskać więcej informacji, przeczytaj Złe nawyki do wyrzucenia:SELECT lub INSERT bez listy kolumn do którego Shnugo połączył się w swoim komentarzu.