• Just to chime in here (meant to earlier, but was at work) on this.

    First, Sean is correct, what is the best solution also depends on the situation.

    Now, my thoughts.

    Personally, unless there's an overriding business reason, I would generally lean towards one database per customer. You can either put everyone on a single instance of SQL or have multiple instances of SQL (one per customer.) If you start to run into performance issues, it's easier to migrate one or more databases to a new server.

    Lastly, and this does go back to a business decision, who "owns" the data, the customer or you? If the customer owns it, if they at some point decide they want to leave your service, you hand them a backup file and disable their login(s). If you own the data, then this situation matters less.

    Just my 2c

    Jason