将转换的数据库对象加载到 SQL Server (Db2ToSQL)

将 Db2 架构转换为 SQL Server 后,可以将生成的数据库对象加载到 SQL Server 中。 可以SQL Server 迁移助手(SSMA)创建对象,也可以编写对象脚本并自行运行脚本。 此外,还可让 SSMA 使用 SQL Server 数据库的实际内容来更新目标元数据。

在同步和脚本之间进行选择

如果要在不修改的情况下将转换后的数据库对象加载到 SQL Server,则可以让 SSMA 直接创建或重新创建数据库对象。 此方法快速而简单,但不允许自定义定义 SQL Server 对象(而非存储过程)的 Transact-SQL 代码。

如果要修改用于创建对象的 Transact-SQL,或者希望更有效地控制对象创建,请使用 SSMA 创建脚本。 然后修改这些脚本,单独创建每个对象,甚至使用 SQL Server 代理来安排创建这些对象。

使用 SSMA 将对象与 SQL Server 同步

要使用 SSMA 创建 SQL Server 数据库对象,请在 SQL Server 元数据资源管理器中选择相应对象,然后将这些对象与 SQL Server 同步,如以下过程所示。 默认情况下,如果对象已存在于 SQL Server 中,并且 SSMA 元数据比 SQL Server 中的对象更新,则 SSMA 会更改 SQL Server 中的对象定义。 编辑“项目设置”可更改默认行为。

注意

可以选择未从 Db2 数据库转换的现有 SQL Server 数据库对象。 不过,SSMA 不会重新创建或更改这些对象。

  1. 在 SQL Server 元数据资源管理器中,展开顶部 SQL Server 节点,然后展开“数据库”

  2. 选择要处理的对象:

    • 要同步完整的数据库,请选中数据库名旁边的复选框。

    • 要同步或省略单个对象或对象类别,请选中或清除对象或文件夹旁边的复选框。

  3. 选择要在 SQL Server 元数据资源管理器中处理的对象后,右键单击“ 数据库”,然后选择“ 与数据库同步”。

    还可以通过右键单击对象或其父文件夹,然后选择“与数据库同步”来同步单个对象或对象的类别。

    之后,SSMA 将显示“与数据库同步”对话框,其中会展示两组项目。 在左侧,SSMA 会显示以树表示的所选数据库对象。 在右侧,会显示代表 SSMA 元数据中相同对象的树。 可以通过选择右侧或左侧的“+”按钮来展开树。 同步方向显示在两个树之间的“操作”列中。

    操作符号呈现三种状态:

    • 向左箭头表示元数据的内容保存在数据库中(默认值)。

    • 向右箭头表示数据库内容覆盖 SSMA 元数据。

    • 交叉号意味着不执行任何操作。

单击操作符号可更改状态。 选择“与数据库同步”对话框的确定”按钮时,将执行实际同步。

编写对象脚本

要保存转换后的数据库对象的 Transact-SQL 定义,或更改对象定义并自行运行脚本,可以将转换后的数据库对象的定义保存到 Transact-SQL 脚本。

  1. 在选择了要保存到脚本的对象后,右键单击“数据库”,然后选择“另存为脚本”。

    还可以通过右键单击对象或其父文件夹,然后选择“另存为脚本” 来编写单个对象或对象的类别的脚本

  2. 在“另存为”对话框中找到要保存脚本的文件夹,在“文件名”框中输入文件名,然后选择“确定”。 SSMA 追加.sql文件扩展名。

修改脚本

将 SQL Server 对象定义保存为一个或多个脚本后,可以使用 SQL Server Management Studio 查看和修改脚本。

  1. 在 SQL Server Management Studio 中,导航到“文件>打开>文件”。

  2. 在“打开”对话框中选择脚本文件,然后选择“确定”

  3. 使用查询编辑器编辑脚本文件。

    有关查询编辑器的详细信息,请参阅 SQL Server 联机丛书中的“编辑器便利命令和功能”。

  4. 若要保存脚本,请选择“ 文件>保存”。

运行脚本

可以在 SQL Server Management Studio 中运行脚本或单个语句。

  1. 在 SQL Server Management Studio 中,导航到“文件>打开>文件”。

  2. 在“打开”对话框中选择脚本文件,然后选择“确定”

  3. 要运行完整脚本,请按 F5 键。

  4. 要运行一组语句,请在查询编辑器窗口中选择这些语句,然后按 F5 键。

有关如何使用查询编辑器运行脚本的详细信息,请参阅 SQL Server 联机丛书中的“SQL Server Management Studio Transact-SQL 查询”。

还可以使用 sqlcmd 实用工具和 SQL Server 代理从命令行运行脚本。 有关 sqlcmd 的详细信息,请参阅 SQL Server 联机丛书中的“sqlcmd 实用工具”。 有关 SQL Server 代理的详细信息,请参阅 SQL Server 联机丛书中的“自动化管理任务(SQL Server 代理)”。

保护 SQL Server 中的对象

将转换的数据库对象加载到 SQL Server 后,可以对这些对象授予和拒绝权限。 在将数据迁移到 SQL Server 之前,最好先执行此步骤。 有关如何帮助保护 SQL Server 中的对象的信息,请参阅 SQL Server 联机丛书中的“数据库和数据库应用程序的安全注意事项”。