SSMA for Oracle 中的 Microsoft Copilot 是什么(预览版)?

SQL Server 迁移助手 (SSMA) 中的 Copilot 通过为复杂或不支持的对象提供智能的 AI 支持帮助,增强了从 Oracle 到 SQL 的代码转换过程。 当 SSMA 规则引擎遇到转换挑战(如语法差异、专有 Oracle 功能或不支持的数据类型)时,Copilot 分步分析问题、解释根本原因并生成与 SQL 兼容的替代代码。

通过与 Azure OpenAI 集成,SSMA for Oracle 中的 Copilot(预览版)允许你直接在 SSMA 界面中查看、优化和验证建议的代码,简化迁移过程并减少手动工作量。

先决条件

若要在 SSMA for Oracle 中使用 Copilot 进行代码转换,请确保具有以下 Azure OpenAI 资源详细信息:

  • Azure OpenAI 终结点 URL
  • Azure OpenAI 部署
  • 模型名称
  • Azure OpenAI 密钥

如果没有这些详细信息,请按照 “如何创建 Azure OpenAI 资源 ”部分中的步骤作。

在 SSMA for Oracle 中运行 Copilot 的步骤(预览版)

代码转换完成后,SSMA 规则引擎无法转换的目标对象、显示警告或错误。 对于这些对象,可以启动 Fix with Copilot

如果未注册 OpenAI 资源,则需要完成以下字段:

  • Azure OpenAI 终结点 URL
  • Azure OpenAI 部署
  • 模型名称
  • Azure OpenAI 密钥

“验证终结点”对话框的屏幕截图。

验证成功后,可以查看转换后的代码。 生成转换后的代码需要几分钟时间。 生成代码后,可以查看建议的更改。

代码转换接口

“代码转换”窗口包含三个部分:

部分 DESCRIPTION
要修复的错误 本部分介绍识别的可能问题或修复 SSMA 规则引擎无法转换或未能分析 PL/SQL 语句的错误。
解释 提供转换问题的根本原因、描述其建议背后的逻辑,并提供清晰的上下文见解,以帮助你了解和验证生成的 Transact-SQL 代码。
代码评审窗口 允许查看 SSMA 生成的代码与 Copilot 转换的代码之间的并行差异。 它突出显示了更改,使你能够在接受建议之前评估改进、了解修改并做出明智的决策。

代码比较对话框的屏幕截图。

如果对转换不满意,可以在提示中重试或发送其他信息。 如果转换后的代码合适,则可以接受建议。

管理 IDE 中接受的更改

查看并接受 Copilot 生成的代码后,可以在 SSMA IDE 中找到接受的更改。 按照以下步骤保存更改并将其与数据库同步:

  1. 导航到 SSMA IDE,在那里显示已接受的更改。
  2. 保存更改以确保它们存储在本地。
  3. 使用同步功能将更改复制到数据库。

修改 Azure OpenAI 设置

如果需要更改 Azure OpenAI 详细信息,请转到 SSMA 菜单中 的工具>项目设置>Copilot 。 根据需要更新 Azure OpenAI 终结点Azure OpenAI 部署模型名称和Azure OpenAI 密钥

查看和验证

由于此代码由 AI 生成,因此在接受或保存更改之前,查看、验证和测试更改至关重要。 确保代码满足你的要求,并在环境中正常运行。

局限性

无法直接在 SSMA 中保存表和用户定义的数据类型的 Copilot 生成的代码。 在这种情况下,SSMA 提供了一个下载选项,用于在本地保存 Copilot 生成的代码。