We have a web application and have several clients who want their data to only be stored in their country. Is there a decent way to do this without having multiple copies of the application running.
You could "globalize" your app and create some sort of "mapping" between/via the Client Computer Locale and the appropriate Language you want that stored into the database. It is pretty complex but possible and your SQL backend is still one single server having unique collation (Default Latin for instance) language for all "text" like columns, with one (or more) user DB(s).
0
Josh_BladeAuthor Commented:
Sorry, I was not clear in my objective. I have clients in both the US and Canada that want their physical data stored in in their respective countries. So the Canadian customers do not want their data stored on a server in the US. The only think I can think of is to have multiple versions of the application running. IE the US customers would access us.myapp.com and the canadians ca.myapp.com and have the applications save to different databases in different countries. Not an ideal solution and help would be appreciated.
"I have clients in both the US and Canada that want their physical data stored in in their respective countries. "
Just to make it 100% clear...the data must be stored into 2 separate SQL Servers in 2 separate countries? and they will NEVER ever use data from the "other" country database? That is extremely hard for me to believe if this "myapp.com" is from the same company.
What I think you may need is to rather look at replication or mirroring and see if they serve your purpose where 2 databases in 2 different SQL Servers from 2 different geographical positions are kept in sync.
Sure, should be easy. The app can connect to different databases based on the client location, or on whatever other criteria you want.
You can create one database/instance in the U.S. and a different one in Canada.