Toujours spécifiez la liste des colonnes dans les instructions d'insertion et dans insert...select vous devez toujours la spécifier deux fois - à la fois dans le insert clause et dans la select clause.
De plus, SQL Server générera une erreur si vous utilisez set identity_insert on sans spécifier explicitement la liste des colonnes dans le insert clause, donc même si vous obteniez toutes les colonnes dans le bon ordre, vous auriez toujours une erreur dans ce cas.
Pour plus d'informations, lisez Mauvaises habitudes à abandonner :SELECT ou INSERT sans liste de colonnes auquel Shnugo a fait un lien dans son commentaire.