View a markdown version of this page

SQL Server modernization - AWS Transform

SQL Server modernization

AWS Transform for SQL Server Modernization is an AI-powered service that automates the full-stack modernization of Microsoft SQL Server databases and their associated .NET applications to Amazon Aurora PostgreSQL. AWS Transform converts SQL Server storage objects and code objects (stored procedures) using an agentic, interactive experience. The service orchestrates the migration journey from schema conversion, synthetic data generation, and modifying application code to match the new target PostgreSQL, making your teams more productive by automating complex and labor-intensive tasks.

Supported regions

AWS Transform for SQL Server is available in US East (N. Virginia), Europe (Frankfurt), Europe (London), Asia Pacific (Mumbai), Asia Pacific (Seoul), Asia Pacific (Tokyo), Asia Pacific (Sydney), and Canada (Montreal).

Cross-Region Usage: For databases in unsupported regions, AWS Transform for full-stack Windows modernization supports cross-region deployment of converted Amazon Aurora PostgreSQL databases. You can upload SQL Server Database Design Language (DDL) files and set a target AWS Region in the transformation plan to convert the database and deploy the resulting Aurora PostgreSQL cluster to a different AWS Region. If you have data residency, latency, or disaster recovery requirements, you can start a job in any of the available AWS Regions and deploy the target cluster in the destination Region of your choice.

Capabilities and key features

Database transformation

  • Schema conversion: Automatically converts SQL Server schemas to Aurora PostgreSQL, including tables, views, indexes, constraints, and relationships

  • Stored procedure transformation: Converts T-SQL stored procedures to PL/pgSQL with AI-enhanced accuracy

  • Database objects: Supports triggers, functions, views, computed columns, and identity columns

  • Synthetic data generation: Generate synthetic data for the converted PostgreSQL database to validate functionality

  • Validation: Automated functional equivalence checks for transformed database objects, stored procedures, and functions

Application transformation

  • Entity Framework transformation: Updates Entity Framework 6.3-6.5 and EF Core 1.0-10.0 configurations for PostgreSQL

  • ADO.NET transformation: Converts ADO.NET data access code from SQL Server to PostgreSQL providers.

  • Connection string updates: Automatically updates all database connection strings to the new target PostgreSQL database

  • Database provider changes: Replaces SQL Server providers with Npgsql (PostgreSQL provider)

  • ORM configuration updates: Modifies data type mappings, identity columns, and database-specific configurations

Orchestration & validation

  • Dependency mapping: Identifies cross-database references and relationships between applications and databases to create a modernization plan

  • Human-in-the-loop (HITL) checkpoints: Provides review and approval gates at critical stages

  • Automated validation: Tests schema compatibility, data integrity, and application functionality

  • Functional equivalence validation: Loads the target database into a container to validate functional equivalence between the source and converted database

Deployment

  • Aurora PostgreSQL cluster: Deploy the converted PostgreSQL database to an Amazon Aurora cluster

  • Deployment capabilities: Deploy to an existing cluster, or let AWS Transform automatically create a new cluster

Supported versions and project types

SQL Server versions

AWS Transform supports the following SQL Server versions:

SQL Server Version Support Status
SQL Server 2022 Supported
SQL Server 2019 Supported
SQL Server 2017 Supported
SQL Server 2016 Supported
SQL Server 2014 Supported
SQL Server 2012 Supported
SQL Server 2008 R2 Supported

.NET versions

.NET Version Support Status
.NET 10 Supported
.NET 8 Supported
.NET 7 Supported
.NET 6 (Core) Supported
.NET Framework 4.x and earlier Not Supported
Important

Legacy .NET Framework 4.x and earlier versions are not supported. If your application uses .NET Framework, you must first upgrade to .NET Core 6+ using AWS Transform for .NET modernization before using SQL Server transformation capabilities.

Entity Framework versions

Framework Supported Versions
Entity Framework 6 6.3, 6.4, 6.5
Entity Framework Core 1.0 through 10.0
ADO.NET All versions (GA)

Source code repositories

AWS Transform supports the following source code platforms:

  • GitHub and GitHub Enterprise Server

  • Bitbucket Cloud and Bitbucket Data Center

  • Azure DevOps and Azure DevOps Server

  • Amazon S3

  • Direct upload of source code zip files

Target database

AWS Transform targets Amazon Aurora PostgreSQL (PostgreSQL 15+ compatible) with support for the latest Aurora features and optimizations.

Technical requirements

Database requirements

  • Microsoft SQL Server version 2008 R2 through 2022

  • Database user with VIEW DEFINITION and VIEW DATABASE STATE permissions

  • Database passwords using printable ASCII characters only (excluding '/', '@', '"', and spaces)

Application requirements

  • .NET 6, 7, 8, or 10 applications

  • Entity Framework 6.3-6.5 or Entity Framework Core 1.0-10.0, or ADO.NET

  • Database connections discoverable in source code

  • Applications successfully build and run

  • Source code in supported repository platforms

AWS account requirements

  • AWS account with administrator access

  • IAM Identity Center enabled

Data processing and storage

Processing location

  • Transformation artifacts are stored in the AWS Transform service region

Stored artifacts

The following items are stored in the service region:

  • Agent logs

  • Assessment results

  • SQL schema files

Important

Important for Data Residency: Metadata and processing artifacts are stored in the service region. This is important for organizations with strict data residency requirements.

Artifact management

  • Customer option for encryption using your own KMS keys

  • Defined TTL (time-to-live) period for all artifacts

  • Artifacts can be downloaded for offline storage

Application requirements

Legacy .NET Framework

  • Limitation: .NET Framework 4.x and earlier versions are not supported.

  • Workaround: Use AWS Transform for .NET to upgrade to .NET Core 6+ first, then use SQL Server transformation.

Entity Framework versions

  • Limitation: Only Entity Framework 6.3-6.5 and EF Core 1.0-10.0 are supported.

  • Workaround: Upgrade to a supported Entity Framework version before transformation.

VB.NET applications

  • Limitation: VB.NET is not supported.

  • Workaround: Convert to C# or use AWS Transform custom to convert from VB.NET to C#.

Cross-database dependencies

  • Limitation: Challenges when database schemas interact across multiple databases.

  • Workaround: Review and refactor cross-database queries before migration. Consider consolidating databases or using PostgreSQL schemas.

  • Impact: May require human intervention for complex cross-database scenarios.

Repository-database coupling

  • Limitation: Challenges when a single repository serves multiple databases.

  • Workaround: Consider repository restructuring or phased migration approach.

  • Impact: May require additional planning when a repository spans multiple databases.

Infrastructure requirements

Single account/region per job

  • Limitation: Each transformation job targets one AWS account and region.

  • Workaround: Create multiple transformation jobs for multi-account or multi-region deployments.

Deployment targets

  • Limitation: AWS Transform supports deploying to Amazon Aurora as the target only. Amazon RDS cluster creation is not supported.

Repository requirements

Private NuGet packages

  • Limitation: Private NuGet packages require additional configuration.

  • Workaround: Configure private NuGet feeds in transformation settings before starting the job.