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

Kri*_*rgh 8 sql-server migration indexing ms-access primary-key

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

现在这是问题所在.

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

什么是最简单,最有效的方法来迁移其他字段属性,如索引,键,约束?否则,我需要手动定义所有这些,这将是非常耗时的.

非常感谢您的帮助!

Gor*_*son 8

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

Export.png

然而,索引,键和关系被复制到SQL Server,如果您使用"升迁向导",它是通过调用Database Tools > Move Data > SQL Server:

Move.png

注意: "升迁向导"已从Access 2013中删除,因此Access 2013(及更新版本)的用户将需要使用"SQL Server迁移助手进行访问".欲了解更多信息,看这里.