在sql server client中存储数据库

时间:2014-06-06 13:28:43

标签: database database-design sql-server-2008-r2 relational-database

我开发了应用程序,其中我为每个客户端创建了不同的登录。我们的应用程序有很多客户端,如工作门户网站或Facebook,每个客户端都有大量的数据。如果我使用单个数据库,那么一个表获得巨额数据所有客户的数据

我找到了一个解决方案,解决方案是为每个客户端创建单独的数据库,但由于客户端太多,我们需要创建这么多数据库,以便不正确的解决方案

请告诉我使用sql server 2008 r2

实现这一目的的正确方法

谢谢

1 个答案:

答案 0 :(得分:0)

您可以尝试为每个客户端设置一个模式,并且该客户端的登录将该模式作为其默认模式,并且是他们有权访问的唯一模式。但是你会有很多模式,所以它可能没有多大帮助! (另外,你是否使用像EF这样的东西来访问它赢得的数据库。)

单一数据库好:

  • 易于管理

单个数据库错误:

  • 可能的性能问题(虽然直到你进入 数十亿行;我设计的一个DB有一个超过21B的表 3个月后排;幸运的是我将IDENTITY专栏改为BigInt!)
  • 安全问题/复杂性:如何阻止一个客户端访问
    另一个人的数据?
  • 所有客户的单点故障

多个数据库好

  • 安全性更容易
  • 每个客户端的单点故障(假设多个数据库服务器为 传播负荷也))
  • 更灵活地应用更新:有些客户可以使用 星期三,有些星期四

我确信还有其他问题。真的,它符合您的要求以及如何最好地满足它们,

多个数据库错误:

  • 需要更多管理
  • 鉴于数据库有开销,您的开销资源使用率会上升