场合
我有5个Access DB文件,每个文件有10个表,40个查询和8个宏。所有5个Access DB文件具有相同的表名,表结构,相同的查询和相同的宏。唯一不同的是表中包含的数据。如果重要,每个数据库上的某些表的行数在几百到100K +之间。
我想要实现的目标
我正在将这5个Access数据库文件迁移到单个SQL Server(2008)数据库。 编辑: 迁移后,我确实需要知道哪些表属于哪个数据库,因为每个原始Access数据库都与公司的部门相关联,所以我需要跟踪这个。< / p>
我的解决方案或选项
表将作为表导入SQL Server。查询将作为存储过程导入。宏将作为新的存储过程导入。
您认为最好的方法是什么?请告诉我是否有比我列出的更好的方法。谢谢!
答案 0 :(得分:1)
我会说数字3.你不会得到重复代码和更容易的维护。
更容易维护的一个例子是性能调整。您说5个访问数据库中的查询是相同的:假设您检测到其中一个查询运行得太慢而您决定需要在基础表上创建索引。在选项#1和#2中,这意味着在5“双胞胎”表上重新创建相同的索引。
答案 1 :(得分:1)
我会将它们迁移到MS SQL,如下所示:
当这样做时,你保持pk-fk关系和查询完整无缺,并且仍然知道行的来源。
答案 2 :(得分:0)
在访问每个这些数据库时,您可以在新表中为每个部门字段ID(新字段)分配标识符(每个部门具有不同的值),然后将此值添加到每个要导入的表。创建一个包含部门信息的新表,然后创建连接这些表的连接表。因此,每个部门之间是相互区分的。