View a markdown version of this page

SQL 服务器现代化 - AWS 转换

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

SQL 服务器现代化

AWS SQL Server 现代化转型是一项自动将微软 SQL Server 数据库及其关联.NET 应用程序的全栈现代化改造到亚马逊 Aurora PostgreSQL 的 AI-powered 服务。 AWS Transform 现在使用代理式交互式体验转换由 AWS DMS 提供支持的 SQL Server 存储对象和代码对象(存储过程)。该服务协调了从架构转换、数据迁移和修改应用程序代码到匹配新目标 PostgreSQL 的整个迁移过程,通过自动化复杂和劳动密集型任务来提高团队的工作效率。

支持的区域

AWS 适用于 SQL Server 的转换已在美国东部(弗吉尼亚北部)推出-us-east-1

Cross-Region 用法:对于不支持区域的数据库,您可以将数据库克隆到支持的区域进行转换,然后将结果部署回目标区域。

功能和关键特性

数据库转换

  • 架构转换:自动将 SQL Server 架构转换为 Aurora PostgreSQL,包括表、视图、索引、约束和关系

  • 存储过程转换:将 T-SQL 存储过程 AI-enhanced 准确 PL/pgSQL 地转换为

  • 数据迁移:使用 AWS 数据库迁移服务 (DMS) 通过完整性验证迁移数据

  • 数据库对象:支持触发器、函数、视图、计算列和标识列

  • 验证:自动数据完整性验证和参考完整性检查

应用程序转换

  • 实体框架转换:更新 PostgreSQL 的实体框架 6.3-6.5 和 EF Core 1.0-10.0 配置

  • ADO.NET 转换:将 ADO.NET 数据访问代码从 SQL 服务器转换为 PostgreSQL 提供商。

  • 连接字符串更新:自动将所有数据库连接字符串更新到新的目标 PostgreSQL 数据库

  • 数据库提供商变更:用 Npgsql(PostgreSQL 提供商)替换 SQL Server 提供商

  • ORM 配置更新:修改数据类型映射、标识列和数据库特定配置

编排验证 &

  • Wave-based 现代化:将大型资产组织成逻辑迁移阶段

  • 依赖关系映射:确定应用程序和数据库之间的关系

  • Human-in-the-loop (HITL) 检查点:在关键阶段提供审查和批准门户

  • 自动验证:测试架构兼容性、数据完整性和应用程序功能

  • CI/CD 集成:与现有开发管道集成

部署

  • 亚马逊 ECS 和 Amazon EC2 部署:支持自动扩展的自动容器化部署

  • Infrastructure-as-code 生成:创建 CloudFormation 或 AWS CDK 模板

  • 自动部署验证:通过运行状况检查验证部署成功

  • 回滚功能:如果出现问题,支持回滚程序

支持的版本和项目类型

SQL Server 版本

AWS Transform 支持以下 SQL Server 版本:

SQL Server 版本 支持状态
SQL Server 2022 支持
SQL Server 2019 支持
SQL Server 2017 支持
SQL Server 2016 支持
SQL Server 2014 支持
SQL Server 2012 支持
SQL Server 2008 R2 支持
注意

支持所有 SQL Server 版本(快速版、标准版、企业版)。SQL Server 可以托管在 AWS (适用于 SQL Server 的亚马逊 RDS 或亚马逊 EC2 上的 SQL Server)上,也可以托管在外部托管 AWS。

.NET 版本

.NET 版本 支持状态
.NET 10 支持
.NET 8 支持
.NET 7 支持
.NET 6(核心) 支持
.NET 框架 4.x 及更早版本 不支持
重要

不支持旧版 .NET 框架 4.x 及更早版本。如果您的应用程序使用.NET 框架,则在使用 SQL Server 转换功能之前,必须先使用 T AWS ransform for .NET 现代化升级到 .NET Core 6+。

实体框架版本

框架 受支持的版本
实体框架 6 6.3、6.4、6.5
实体框架核心 1.0 到 10.0
ADO.NET 所有版本 (GA)

源代码存储库

AWS Transform 支持以下源代码平台:

  • GitHub 和 GitHub 企业服务器

  • GitLab.com 和 GitLab Self-Managed

  • Bitbucket 云和 Bitbucket 数据中心

  • Azure DevOps 和天蓝色 DevOps 服务器

  • Amazon S3

目标数据库

AWS Transform 的目标是亚马逊 Aurora PostgreSQL(兼容 PostgreSQL 15+),支持最新的 Aurora 功能和优化。

技术要求

数据库要求

  • 微软 SQL Server 版本 2008 R2 至 2022

  • SQL Server 托管在 AWS (适用于 SQL Server 的亚马逊 RDS 或亚马逊 EC2 上的 SQL Server)上或托管在 AWS

  • 对于 AWS托管的数据库,数据库和 T AWS ransform 必须位于同一个 AWS 区域。

  • 对于托管在外部的数据库 AWS,需要与 T AWS ransform 服务建立网络连接。

  • 具有 “查看定义” 和 “查看数据库状态” 权限的数据库用户

  • 仅使用可打印的 ASCII 字符的数据库密码(不包括 '/'、'@'、'"' 和空格)

  • 包含源 SQL Server 的 VPC 必须在至少 2 个不同的可用区中拥有子网(DMS 复制子网组是必需的)

申请要求

  • .NET 6、7、8 或 10 个应用程序

  • 实体框架 6.3-6.5 或实体框架核心 1.0-10.0,或 ADO.NET

  • 可在源代码中发现数据库连接

  • 应用程序成功构建并运行

  • 支持的存储库平台中的源代码

AWS 账户要求

  • AWS 具有管理员访问权限的帐户

  • 已启用 IAM 身份中心

  • 已创建所需的服务角色(请参阅下面的设置说明)

  • 具有适当网络配置的 VPC

数据处理和存储

处理地点

  • 架构处理发生在您的 VPC 内的 DMS 实例中

  • 数据迁移是可选的,如果需要可以排除

  • 转换对象存储在 T AWS ransform 服务区域中

存储的工件

以下项目存储在服务区域中:

  • Agent 日志

  • 评测结果

  • SQL 架构文件

  • DMS 输出伪像

重要

对数据驻留很重要:即使选择退出数据迁移,元数据和处理对象也会存储在服务区域中。这对于具有严格数据驻留要求的组织非常重要。

工件管理

  • 客户可选择使用您自己的 KMS 密钥进行加密

  • 为所有工件定义了 TTL(生存时间)周期

  • 可以将工件下载到离线存储