本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
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(生存时间)周期
可以将工件下载到离线存储