• I haven't implemented this kind of situation but I think that the most elegant way is to store surrogate key of the source table to data warehouse table and use this as a business key in slowly changing dimension component.

    I have used surrogate key of the source table as a business key many times in different situations.