分析和导出Schema

在本节中,我们将连接到 MSSQL Server 并为 Babelfishsampledb 数据库生成 DDL 脚本。

从数据库备份创建 Adventureworks2019 数据库

我们将通过还原数据库备份来创建 Adventureworks2019 数据库。

在MSSQL Server上打开github 链接 https://github.com/Microsoft/sql-server-samples/releases/tag/adventureworks ,向下滚动到 AdventureWorks (OLTP) full database backup 部分,单击 AdventureWorks2019.bak:

image-20240629072132885

将这个文件移动到C盘根目录下面,然后在 C:\ 上创建一个名为 DBA 的文件夹:

image-20240629072533455

打开 SSMS 并连接到本地 MS SQL Server。

image-20240629072601296

打开一个新窗口并执行以下操作:

RESTORE DATABASE AdventureWorks2019
FROM DISK = 'C:\AdventureWorks2019.bak'
WITH
MOVE 'AdventureWorks2019 TO 'C:\DBA\AdventureWorks2019.mdf',
MOVE 'AdventureWorks2019_log' TO 'C:\DBA\AdventureWorks2019_log.ldf'

image-20240629072823018

导出Schema

连接 SSMS 到本地 MS SQL Server 并导出 AdventureWorks2019 数据库的Schema DDL。

在对象资源管理器中,右键单击 DB 名称 -> Tasks -> Generate scripts:

image-20240629073004938

我们将只转换Schema DDL,因为我们将在后续步骤中使用 DMS 复制数据。

在Introduction页面上单击下一步。在本例中,我们正在编写整个数据库的脚本,但对于真实世界或生产用例,我们可以根据需要指定对象:

image-20240629073143135

Set scripting Options部分,单击"Advanced"按钮并确保我们只导出模式。通过将"Types of data to script"设置为"Schema only"来完成此操作(默认选择)。然后单击确定:

image-20240629073357308

选择"保存到文件"并指定"单个文件"选项。将文件保存到 C:\Users\Administrator\Desktop\,文件名为 BBFLab.sql

image-20240629073847974

image-20240629073909375

验证是否在所需位置生成了 BBFLab.sql 文件:

image-20240629073933175

Babelfish Compass 简介

Babelfish Compass 工具(简称"兼容性评估”)分析 Microsoft T-SQL 代码(针对一个或多个 Microsoft SQL Server 数据库)以识别与 Babelfish 不兼容的 SQL 功能。此分析的目的是收集信息,以便:

  • 我们可以分析迁移的复杂性并在现代化项目中做出早期的 Go/No Go 决定
  • 识别不兼容。
  • 我们可以轻松调试和逐步修复问题

Babelfish Compass 生成一份评估报告,详细列出了在我们的 T-SQL/DDL 代码中发现的所有 SQL 功能,以及这些功能是否受到 Babelfish 最新版本的支持。

每个 Babelfish 版本都提供一个新版本的 Babelfish Compass,其中包含新的或更改的功能。

请注意,Babelfish Compass 是一个独立的本地工具。虽然 Babelfish Compass 是 Babelfish 产品的一部分,但它在技术上独立于 Babelfish 本身以及 Babelfish 代码,并位于一个单独的 GitHub 存储库中。

生成 Babelfish Compass 报告

使用Babelfish Compass之前要先安装Java SRE, 到这里下载安装:

https://www.java.com/en/download/manual.jsp

image-20240629083815640

到github下载 Babelfish Compass release:

https://github.com/babelfish-for-postgresql/babelfish_compass/releases/tag/v2024-04

image-20240629083922897

下载后解压然后进入目录:

cd C:\Users\Administrator\Desktop\BabelFishLabApp\BabelfishCompass\
BabelfishCompass.bat -help

image-20240629084121865

运行以下命令来分析 BBFLab.sql。强烈建议我们阅读 Babelfish Compass 用户指南,以了解所使用的命令选项。

BabelfishCompass.bat MyBabelfishreport C:\Users\Administrator\Desktop\BBFLab.sql -delete -reportoptions xref,status=all,detail

该命令将生成报告并在新的浏览器窗口中打开它:

image-20240629084300702

image-20240629084454327

Not supported:

此部分中的功能不受支持,如果针对 Aurora Babelfish 执行,将会导致错误。我们需要删除这些部分或找到替代方法来实现所需的结果。

image-20240629084537476

Review performance

系统将正常工作,但如果不修复此问题,可能会产生性能影响。在实际迁移中,我们通常会在后期解决与性能相关的问题。

image-20240629084702349