In my data warehouse I have encountered an issue that I am not sure how best to resolve. First, I have fact table that has a surrogate key to the related dimension table (the primary key). The issue is that the surrogate key in the fact table now points to an expired record. Normally, I would join up to the natural key, but in my situation the natural key/business key is not unique. I have change-data-capture enabled on the fact table. The only solution that I've been able to come up with is to truncate and reload the fact table on a regular basis.