我应该创建几个小应用程序数据库还是一个大数据库?

时间:2009-03-10 17:42:57

标签: asp.net sql-server migration

我们正在为客户迁移几个旧的大型机应用程序到更新的ASP.NET + SQL Server 2005应用程序。每个应用程序通常被认为是独立的,它们之间没有共享数据,并且可以执行管理专用库存需求或休假策略等操作。数据很小,不应该超过单个SQL Server。是为共享所有这些应用程序创建一个大型数据库,还是为每个应用程序创建多个较小的数据库?

一般来说,我们更喜欢每个应用程序一个小的数据库,但可以说更大的数据库更容易管理备份和安全性。做出此决定时应考虑哪些因素?

5 个答案:

答案 0 :(得分:3)

您应该使用单独的数据库。它们都可以从同一个SQL Server实例运行。

答案 1 :(得分:1)

我强烈推荐每个app的小数据库方法。如果一个应用程序崩溃并破坏其表,您不希望必须通过并仅对某些表进行选择性还原。能够丢弃和加载对于维护以及将来你必须做的任何不可预见的更新都要好得多。

答案 2 :(得分:1)

这取决于这些应用程序是否应该共享数据。如果是这样,那么最好在它们后面放一个数据库。如果没有那么最好将它们分开,以便将来你可以更自由地移动(隔离)应用程序。

考虑一下如何使用您的应用程序。因为当您有一个数据库并且例如客户有一个表时,当您有多个应用程序访问同一个表时,您可能会遇到锁定问题。

答案 3 :(得分:1)

如果数据存储在应用程序之间没有任何重叠,我会使用每个应用程序方法一个数据库。这样,如果其中一个数据库服务器超出当前数据库服务器,您可以相对轻松地将其移至自己的服务器。

此外,从备份/还原的角度来看,为单个应用程序还原数据库以使其启动并运行可能更容易,而不必还原整个集合(因为它们位于单个数据库中)并且然后拿起你真正需要的比特来恢复服务。

答案 4 :(得分:0)

我建议您在里面创建一个包含多个目录的DataBase解决方案。每个目录都是独立的,并且被理解为一个单独的数据库,尽管在同一个解决方案下为您提供了之前提到的好处,例如备份和管理。之后,每个目录都会包含自己的数据表等......目录不会像表到表那样将数据相互关联。