thanks for your time. I am not very much worried about cross DB joins, because there will be no difference in performance. And yes, my thought is to put all the common tables (like customer) in a common database. The issue comes when, let us say there is a SP in one of the application databases that queries a customer record in the common database, it finds it and then tries to insert a child record for that customer. Between the first select and the subsequent insert, the customer record in the common database is deleted, what would happen? This is one of the situations I could think of. Am looking for issues like this and the best way to handle them. One way I could think of, is to create a customer table in every database that just has only the customer ids and tie the RI to all the child tables in that database. In the main database, I should have triggers on the customer table that will replicate the change onto the customer tables in the application databases. Not sure if I am clear, but do you see where I am going?