我们在SQL Server中完成了一个包含大约20个表的项目,并完成了一个ASP.NET项目。
最近,我们的客户告诉我们一个名为Site
的新参数。正如他所说,Application
中的项目数据有多个站点,每个站点的数据必须不同。我们现在面临一些问题,因为应用程序已经完全开发,我们无法更新每个SQL Server表,并且每个与Application
相关的SQL查询都会根据现在我们讨论的每个站点都有多个数据库的站点参数进行更改。
事情变得更糟,因为客户说每个项目可能有大约20个站点。所以对我们来说,管理20个数据库非常困难。
有人可以告诉我们这个问题的适当解决方案吗?
答案 0 :(得分:1)
您建议的解决方案似乎是正确的解决方案;每个站点使用不同的数据库(注意:数据库服务器可以根据事务量轻松托管所有20个数据库)。
说明: 您需要的是分离每个站点的数据;这可以通过向表格数据添加站点标识符或确保站点不共享数据存储区来完成;在这种情况下,后者是最简单,最具成本效益的解决方案。
请注意,“维护数据库”并不像听起来那么难;在我看来,要管理的数据和交易量以及手动修正的数量是维护成本的关键因素......
答案 1 :(得分:0)
我以前一直在这条路上,我们所做的是创建了一个Site表,然后是一个站点拥有的对象,我们将一个外键关系添加回Site表。
在我们的例子中,我们只拥有一个站点拥有的三个或四个对象,因此我们只需要修改4个表。那么从那里开始的关系仍然有效,不需要修改。
我不会去每个站点的数据库路径,如果你将来必须进行数据库更改,或者你想在整个系统中提取报告,它将成为维护的噩梦