【发布时间】:2011-03-17 22:59:36
【问题描述】:
我正在使用一个应用程序,我们将客户数据存储在每个客户的单独 SQL 数据库中。到目前为止效果很好,甚至出现了一些错误代码从数据库中选择了错误的客户 ID 的情况,并且由于数据库中的唯一数据属于该客户,因此损坏并没有想象中那么严重。我担心的是您在 SQL Server 上实际拥有的数据库数量。
您创建的每个新数据库是否有任何额外开销?我们最终碰壁了,我们在一台服务器上只有多个数据库? SQL Server 规范说您可以拥有 32000 个数据库,但有可能吗,有人在一台服务器上拥有大量数据库吗?您遇到了什么问题。
谢谢,
弗兰克
【问题讨论】:
-
我正在考虑为我们目前正在开发的托管应用程序设置类似的设置,因此欢迎任何真实世界的战争故事 :)
-
到目前为止,这个想法运行良好,但需要大量工具代码来支持。例如,我们有一个用于创建新站点的管理应用程序和一个用于将客户端从一台服务器移动到另一台服务器的导入/导出工具。迁移主要是为了调试,但未来我们计划有两台生产服务器来平衡负载。
-
为每个客户端单独数据库的另一个重要副作用是它迫使您设计一个可重置的环境,您可以在其中快速创建应用程序的新实例并针对其运行单元/手动测试它。
-
可能许多工具停止了高效工作(包括 SSMS)。 SQL Server 是否随数据库数量线性或二次扩展也不清楚。有过这样的错误。可能服务器启动延迟很大。
标签: asp.net sql-server database