我已使用ODBC将许多Microsoft Access数据库表导出到SQL Server 2012。随后,我通过创建链接表链接到数据源。
现在问题就在这里。
当我在SQL Server本身验证表时,我注意到只存在数据库表,列及其各自的数据类型。没有找到密钥或索引。尽管如此,在我的Access数据库中,它们都被定义了。此外,我注意到Access请求选择唯一标识每条记录的字段以确保数据完整性并更新记录。然后这些成为我理解的主键,但为什么不使用已经存在的PK?
迁移其他字段属性(如索引,键,约束)的最简单,最有效的方法是什么?除此之外,我需要手动定义所有这些,这将是非常耗时的。
非常感谢你的帮助!
答案 0 :(得分:8)
正如您所发现的那样,如果只是使用External Data > Export > More > ODBC Database
将Access表导出到SQL Server,则不会复制密钥和索引:
但是,如果使用通过Database Tools > Move Data > SQL Server
调用的“升迁向导”,则将索引,键和关系复制到SQL Server:
注意:“升迁向导”已从Access 2013中删除,因此Access 2013(及更新版本)的用户将需要使用“SQL Server迁移助手进行访问”。有关详细信息,请查看here。