转换 Access 数据库对象 (AccessToSQL)
添加 Access 数据库并连接到 SQL Server 或 SQL Azure 后,SSMA 会显示 Access 和 SQL Server 或 Azure SQL 数据库对象的元数据。 现在可以选择 Access 数据库对象,然后将架构转换为 SQL Server 或 SQL Azure 架构。
转换过程
当转换数据库对象时,会从 Access 元数据获取对象定义,将这些定义转换为等效的 Transact-SQL 语法,然后将这些信息加载到项目中。 然后,可以使用 SQL Server 或 SQL Azure 元数据资源管理器查看 SQL Server 或 SQL Azure 对象及其属性。
重要
转换对象时,不会在 SQL Server 或 SQL Azure 中创建对象。 只转换对象定义并将信息存储在 SSMA 项目中。
在转换期间,SSMA 会将状态打印到“输出”窗格,并将错误、警告和信息性消息打印到“错误列表”窗格。 使用这些信息确定是必须修改 Access 数据库,还是让转换过程获取所需的转换结果。 还可以使用准备 Access 数据库以进行迁移主题中的信息来确定将转换的内容和不会转换的内容。
设置转换选项
在转换对象之前,查看“项目设置”对话框中的项目转换选项。 通过使用此对话框,可以设置 SSMA 如何转换编制索引的备忘录列、主键、外键约束、时间戳和不包含索引的表。 有关详细信息,请参阅项目设置(转换)
转换结果
下表显示已转换哪些 Access 对象,以及生成的 SQL Server 或 SQL Azure 对象:
Access 对象 | 生成的 SQL Server 对象 |
---|---|
表 | 表 |
列 | 列 |
索引 | 索引 |
外键 | 外键 |
查询 | 视图 大多数 SELECT 查询都会转换为视图。 不会迁移其他查询,例如 UPDATE 查询。 不转换采用参数的 SELECT 查询,也不会转换跨选项卡查询。 |
报告 | 未转换 |
窗体 | 未转换 |
宏 | 未转换 |
name | 未转换 |
默认值 | 默认值 |
允许零长度列属性 | check 约束 |
列验证规则 | check 约束 |
表验证规则 | check 约束 |
主键 (primary key) | 主键 (primary key) |
转换 Access 对象
要转换 Access 数据库对象,必须先选择要转换的对象,然后让 SSMA 执行转换。 要在转换期间查看输出消息,请在“视图”菜单上选择“输出”。
选择 Access 数据库对象并将其转换为 SQL Server 或 SQL Azure 语法
在“Access 元数据资源管理器”中,展开 access-metabase,然后展开“数据库”。
执行以下一项或多项操作:
要转换所有数据库,请选中“数据库”旁边的复选框。
要转换或忽略单个数据库,请选中或清除数据库名称旁边的复选框。
要转换或忽略查询,请展开数据库,然后选择或清除“查询”复选框。
要转换或忽略单个表,请先展开数据库,再展开“表”,然后选择或清除表旁边的复选框。
执行下列操作之一:
要转换架构,请右键单击“数据库”,然后选择“转换架构”。
还可以转换单个对象。 要转换对象,无论选择哪些对象,请右键单击该对象,然后选择“转换架构”。
转换后的对象以粗体形式显示在 Access 元数据资源管理器中。
要在一个步骤中转换、加载和迁移架构和数据,请右键单击“数据库”,然后选择“转换、加载和迁移”。
在“输出”窗格中查看消息,并在“错误列表”窗格中查看任何错误和警告。
更改表和索引
将 Access 元数据转换为 SQL Server 或 SQL Azure 元数据后,在将对象加载到 SQL Server 或 SQL Azure 之前,可以更改 SQL Server 或 SQL Azure 表和索引。
更改表或索引属性
在 SQL Server 或 SQL Azure 元数据资源管理器中,选择要更改的表或索引。
在“表”选项卡中,单击要更改的属性,然后输入或选择新设置。 例如,可以将 nvarchar(15) 更改为 nvarchar(20),或选中复选框以使表列可为 null。
将游标移出已更改的属性单元格。 可以通过单击另一行或按 Tab 键来执行此操作。
单击“应用”。
现在,可以在 SQL 选项卡上查看代码中的更改。
后续步骤
迁移过程中的下一步是将转换后的数据库对象加载到 SQL Server 中