Ciao niente join o elucubrazioni varie, tranquillo.
Devi solo lanciare un update sul campo num_progr, partendo dal valore del campo id e usando la funzione giusta che in SQL Server non esiste.
Visto che volevo comunque trovare una soluzione al tuo problema ho appena scritto l'articolo:
PadLeft in SQL Server che risolve il tuo quesito e sarà utile anche ad altri utenti.
Se hai qualche dubbio chiedi pure.
Un saluto