Con dos sentencias queda, un update y un insert...
Código:
-- Actualizamos los existentes si es que tienen diferencias
Update MiTabla
Set MiCampoAActualizar = M2.MiCampoAActualizar
From MiTabla M1
Inner join MiTabla2 M2
On M1.MiCampollave = M2.MiCampollave And
M1.MiCampoAActualizar <> M2.MiCampoAActualizar
-- Insertamos los faltantes
Insert into MiTabla (MiCampos)
Select MisCampos
From Mitabla2 M2
Left join MiTabla M1
On M2.MiCampoLlave = M1.MiCampoLlave
Where M1.MiCampoLlave is null

Saludos!