ASP - 每个用户的SQL数据库的新实例?

时间:2012-05-04 12:16:30

标签: c# asp.net sql entity-framework

我一直在努力解决这个问题,似乎无法找到任何信息。

我在C#中使用SQL数据库,EntityFramework,ASP和.Net4创建了一个在线销售点系统。我以前的编程经验是使用OpenGL和DirectX,所以这对我来说都是新的。

来自单个公司的用户将使用单个帐户登录该网站。然后他们可以使用在线直到后台。到目前为止,该软件是使用单个SQL数据库开发的。我想要做的是让应用程序创建并使用每个帐户的不同SQL数据库实例。

这听起来是否合理/可能,或者您希望为所有用户提供一个庞大的数据库? - 注意:可能会有大量用户存储大量信息,每个用户只需要访问自己的数据库。

任何建议都将不胜感激

谢谢,

3 个答案:

答案 0 :(得分:2)

我认为这不是一个好方法,好像会有任何方案更改,你必须保持同步每个数据库实例。

答案 1 :(得分:1)

  

这听起来是否合理/可能,或者你希望有一个   所有用户的单一巨大数据库? - 注意:可能有   大量用户,每个用户都存储了大量信息   用户只需要访问自己的数据库。

这是可能的,但这一点都不明智。用户不访问数据库,应用程序。如果您的应用程序为用户提供在应用程序中创建自己的数据结构的能力(例如托管服务提供商会这样做),则仅为每个用户分隔完整数据库是有意义的。如果它只是意味着容纳每个用户关键的多个相同结构,那么你最好花时间规范一个正确的关系结构(一个假设,因为你提到你正在使用SQL)和优化查询/存储过程来制作数据检索/快速插入。

RDBMS完全能够处理大量用户和大型数据子集,如果您将其标准化,可以有效地键入每个结构(在大多数情况下通过用户密钥)。

答案 2 :(得分:0)

最好的方法是为所有用户提供一个庞大的数据库。

SQL Server每个实例仅支持32,767个数据库。

http://msdn.microsoft.com/en-us/library/ms143432.aspx