If you want to create a unique key for a table, why don't you try using RowNo(). This will give a unique number for each row(it will also be sequential based on load order). Also when you pull the table you will be knowing which database you are pulling from. Just Create a field like 'Microsoft DB' as [DB Name] for each of the tables with their respective DB names. Store those tables in qvds and later use those qvds to perform your modelling
Hope this was of some help.