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 中找到接受的更改。 按照以下步骤保存更改并将其与数据库同步:
- 导航到 SSMA IDE,在那里显示已接受的更改。
- 保存更改以确保它们存储在本地。
- 使用同步功能将更改复制到数据库。
修改 Azure OpenAI 设置
如果需要更改 Azure OpenAI 详细信息,请转到 SSMA 菜单中 的工具>项目设置>Copilot 。 根据需要更新 Azure OpenAI 终结点、 Azure OpenAI 部署、 模型名称和Azure OpenAI 密钥 。
查看和验证
由于此代码由 AI 生成,因此在接受或保存更改之前,查看、验证和测试更改至关重要。 确保代码满足你的要求,并在环境中正常运行。
局限性
无法直接在 SSMA 中保存表和用户定义的数据类型的 Copilot 生成的代码。 在这种情况下,SSMA 提供了一个下载选项,用于在本地保存 Copilot 生成的代码。