Merging multiple client-specific databases into a single one
Yes, that's normally how it is done.

Note that this is a non-trivial application change, pretty much every query interacting with the database (inserts, updates, selects) is going to have to include that ClientID.

Depending on what else you're storing, some tables might not need a ClientID. To make up some examples:


If your products table is available to all clients, that won't need a ClientID
A child table (like OrderDetail) might not need a ClientID if its parent record (the Order table) already has a ClientID.


Please see Brent's excellent post about some additional tradeoffs/consideration of this design.