数据库导出访问SQL服务器:索引和密钥?

时间:2013-12-10 08:21:57

标签: sql-server ms-access indexing migration primary-key

我已使用ODBC将许多Microsoft Access数据库表导出到SQL Server 2012。随后,我通过创建链接表链接到数据源。

现在问题就在这里。

当我在SQL Server本身验证表时,我注意到只存在数据库表,列及其各自的数据类型。没有找到密钥或索引。尽管如此,在我的Access数据库中,它们都被定义了。此外,我注意到Access请求选择唯一标识每条记录的字段以确保数据完整性并更新记录。然后这些成为我理解的主键,但为什么不使用已经存在的PK?

迁移其他字段属性(如索引,键,约束)的最简单,最有效的方法是什么?除此之外,我需要手动定义所有这些,这将是非常耗时的。

非常感谢你的帮助!

1 个答案:

答案 0 :(得分:8)

正如您所发现的那样,如果只是使用External Data > Export > More > ODBC Database将Access表导出到SQL Server,则不会复制密钥和索引:

Export.png

但是,如果使用通过Database Tools > Move Data > SQL Server调用的“升迁向导”,则将索引,键和关系复制到SQL Server:

Move.png

注意:“升迁向导”已从Access 2013中删除,因此Access 2013(及更新版本)的用户将需要使用“SQL Server迁移助手进行访问”。有关详细信息,请查看here