2013-12-13 43 views
0

我们有52个MS Access数据库,每个数据库有4个表。我们的数据库中的总数据大约是500万。现在我们正在计划转移到SQL Server。我们设计了我们的新数据库,它将成为一个包含大约60个表的SQL Server数据库。SQL中的Access数据库设计

我的问题是 - 我们如何将52 Access数据库集成到一个SQL Server数据库? 是否可能,或者我们将不得不在SQL Server中创建52数据库,以迁移我们的数据?这52个数据库是相互关联的,具有相同的访问结构?

+0

你正在处理什么样的数据?为什么几十个数据库各有4个表?这是相同的表格数据吗?相同的表格布局?没有获得额外信息就无法回答。 – SchmitzIT

+0

但是,要解决您的问题,完全有可能在一个SQL Server实例中包含52个数据库。实际上,如果您需要的话,每个实例最多可以有32.767个数据库:http://technet.microsoft.com/en-us/library/ms143432.aspx – SchmitzIT

+0

基本上有52个国家,每个国家都是一个国家数据库,目前我们有4个表格,分别是医生,项目,合同,机构。该表在所有数据库中具有相同的布局。 – user3098996

回答

0

如果我是你(而我不是,但如果我是...)我会将所有这些数据加载到4个表格中。只需将每个Access数据库中的所有数据添加到一个表中即可。医生,项目,合同,机构。但是,当我追加每个数据库时,我会为每个表添加一个新字段;国家。然后,当您将英格兰的数据附加到表格中时,还可以使用“英格兰”填充该表格的“国家/地区”字段。等......和你所有的国家。

现在,当需要访问数据时,您可以强制某些用户只能看到英格兰的数据,而某些其他人只能看到西班牙的数据等等。这样,这4个表格可以容纳您的数据的全部,而且您仍然可以按照您喜欢的任何国家/地区进行过滤。

0

从技术角度来看,创建只有一个SQL Server数据库(包含MS Access数据库中的所有52 * 4表)是没有问题的。 SQL Server为逻辑分隔对象提供了各种选项,例如通过使用模式。但是,如果您决定创建单独的数据库,那么即使数据库不在同一个SQL Server实例上托管,您仍然可以跨数据库编写查询(尽管在跨链接服务器编写查询时性能可能会受到影响)。

很难在您的问题中给出更加精确的答案,但在大多数情况下,具有多个数据库模式的单个数据库(对于每个MS访问数据库可能是1个模式)可能是最佳解决方案。

现在,为了将数据从MS Access迁移到SQL Server,您有多种选择。如果您只需执行一次性迁移,则可以简单地使用SQL Server附带的“导入 - 导出”向导。该向导会自动为您创建目标数据库中的表,并且还可以保存可用于再次迁移数据的SSIS包。