Consolidating all the different approaches here.
- Select update
- Update with a common table expression
- Merge
Sample table structure is below and will update from Product_BAK to Product table.
Table Product
CREATE TABLE [dbo].[Product](
    [Id] [int] IDENTITY(1, 1) NOT NULL,
    [Name] [nvarchar](100) NOT NULL,
    [Description] [nvarchar](100) NULL
) ON [PRIMARY]
Table Product_BAK
    CREATE TABLE [dbo].[Product_BAK](
        [Id] [int] IDENTITY(1, 1) NOT NULL,
        [Name] [nvarchar](100) NOT NULL,
        [Description] [nvarchar](100) NULL
    ) ON [PRIMARY]
1. Select update
    update P1
    set Name = P2.Name
    from Product P1
    inner join Product_Bak P2 on p1.id = P2.id
    where p1.id = 2
2. Update with a common table expression
    ; With CTE as
    (
        select id, name from Product_Bak where id = 2
    )
    update P
    set Name = P2.name
    from  product P  inner join CTE P2 on P.id = P2.id
    where P2.id = 2
3. Merge
    Merge into product P1
    using Product_Bak P2 on P1.id = P2.id
    when matched then
    update set p1.[description] = p2.[description], p1.name = P2.Name;
In this Merge statement, we can do insert if not finding a matching record in the target, but exist in the source and please find syntax:
    Merge into product P1
    using Product_Bak P2 on P1.id = P2.id;
    when matched then
    update set p1.[description] = p2.[description], p1.name = P2.Name;
    WHEN NOT MATCHED THEN
    insert (name, description)
    values(p2.name, P2.description);