如何将Microsoft Access文件转换为SQL Server数据库



我想知道如何将Access数据库文件转换为SQL Server(.mdf文件)数据库?

MS Access的"升迁向导"随Access 2012而停止。现在建议使用SQL Server迁移助手(SSMA)。参考:https://accessexperts.com/blog/2013/01/30/access-2013-is-here-but-wheres-the-sql-server-upsizing-wizard/

然而,正如Johnny Bones所指出的,我发现创建一个新的空SQL Server(2012)数据库并导入相对容易

SQL Server Management Studio,右键单击新建的数据库|任务|导入数据->SQL Server导入向导

  • 我使用了"Access数据库引擎"而不是"Jet数据库引擎"除了我猜想杰特年纪更大之外,没有其他原因。我的就这么一扔项目中,您可能想要研究差异
  • 我"剔除"了访问查询(视图),然后只导入表
  • 到目前为止好像所有东西都是进口的

简单的答案是;您可以将Access数据库"转换"为SQL数据库。但是,您可以将Access数据库(仅限于表)导入SQL。请记住,SQL是一个真正的数据库,因此不包含前端或GUI创建机制。您仍然需要Access(或C#、VB或其他前端生成器)来创建接口。

您可能已经知道这一点,但在SQL Server中,查询称为视图,模块称为存储过程。如果您计划将Access查询和模块全部驻留在服务器端,则需要相应地转换这些查询和模块。

实际上,将Access表导入SQL Server非常容易,只需在服务器上创建一个数据库,右键单击数据库名称,然后选择"任务"-->"导入数据"。在那里,您将选择Microsoft Access作为数据源。剩下的应该是不言自明的。

JonnyBones写了一个很好的完整答案。其他人提出了可能有效的工具建议。但是,SSMA(SQL Server迁移助手)可能是现在最好的选择。(请参阅此youtube视频,以了解需要克服的一些问题,并解释如何使用SSMA.

如果你考虑使用其他工具,这可能会做得更多,你应该找出为什么使用它们而不是SSMA。以youtube视频为起点。

请注意,MS Access Upsize向导很棒,但现在已经停止,在MS创建一个像样的SSMA版本之前有一点差距,这是当&为什么这些其他工具会出现。

SSMA应该做你需要做的事情。

有些访问内容不会移动到SQLServer,有些则会移动到。

例如,访问触发器不会。Access表的约束确实存在,Access布尔数据类型也是如此,但您需要做一些工作。视频将很好地解释大多数问题。

Harvey

您可以尝试使用升迁向导,或者从SHOW table DATA复制表的内容,然后粘贴到与源表具有相同结构的目标表。

最新更新