As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Fluxo de trabalho de modernização do SQL Server
Esta seção fornece uma explicação passo a passo do processo completo de modernização do SQL Server usando o Transform. AWS
Etapa 1: Criar um trabalho de modernização do SQL Server
Comece sua jornada de modernização criando um novo trabalho de transformação no console do AWS Transform.
Faça login no console do AWS Transform
Escolha Criar tarefa de modernização
Selecione a tarefa de modernização do Windows e, em seguida, selecione a modernização do SQL Server
Insira os detalhes do trabalho:
Nome do trabalho: nome descritivo do seu projeto
Descrição: Descrição opcional
Região de destino: AWS região para implantação
Selecione Create job (Criar trabalho)
Importante
Não inclua informações de identificação pessoal (PII) no nome do seu trabalho.
Etapa 2: Conectar-se ao banco de dados do SQL Server
Conecte o AWS Transform ao seu banco de dados do SQL Server para permitir a análise e a conversão de esquemas.
Crie um conector de banco de dados
Em seu trabalho de modernização do SQL Server, navegue até Connect to resources
Escolha Conectar ao banco de dados do SQL Server
Escolha Criar novo conector
Insira as informações do conector:
Nome do conector C: nome descritivo
AWS ID da conta: conta em que o SQL Server está hospedado
Depois de confirmado, você receberá um link para aprovação. Copie o link de aprovação para obter a aprovação do AWS administrador da conta. Depois de aprovados, você pode prosseguir para a próxima etapa.
Depois que seu administrador aprovar a solicitação do conector, clique em Enviar para prosseguir com a configuração da conexão do código-fonte.
Etapa 3: Conectar o repositório de código-fonte
AWS O Transform precisa acessar o código-fonte do aplicativo.NET para analisar e transformar o código que interage com o banco de dados do SQL Server. AWS O Transform oferece suporte a três métodos para fornecer código-fonte.
Escolha seu método de autenticação
- Conector de token de acesso pessoal (PAT) (recomendado)
-
Ideal para equipes que precisam de escopos de permissão personalizados, suporte de provedor auto-hospedado ou acesso a APIs específicas do provedor, como segredos. GitHub Você cria um PAT em seu provedor de código-fonte com permissões personalizadas, o armazena e o AWS Transform o recupera quando necessário. AWS Secrets Manager Você é responsável por gerenciar a rotação e a expiração do token.
- AWS CodeConnections
-
Ideal para equipes que desejam gerenciamento automatizado de credenciais. AWS CodeConnections usa uma integração de provedor gerenciado que gerencia a autenticação por meio de um fluxo de autorização do OAuth 2.0. AWS gerencia todo o ciclo de vida da credencial, incluindo atualização e rotação automáticas de tokens. Não é necessário gerenciamento manual de credenciais.
- Amazon S3
-
Faça o upload do seu código-fonte diretamente em um bucket do Amazon S3. AWS O Transform acessa o código do bucket durante o trabalho de transformação.
| Recurso | Conector PAT (recomendado) | AWS CodeConnections |
|---|---|---|
| Gerenciamento de credenciais | Manual (gerenciado pelo cliente) | Automático (AWS gerenciado) |
| Ciclo de vida do token | Rotação manual necessária | Atualização automática |
| Flexibilidade de permissão | Escopos totalmente personalizáveis | Permissões fixas |
| Self-hosted suporte do provedor | Compatível | Indisponível |
| Complexidade da configuração | Moderado (criação e armazenamento manuais de tokens) | Baixo (autorização única) |
| Armazenamento de tokens | Do cliente AWS Secrets Manager | Gerenciado pela AWS |
Configurar um conector PAT (recomendado)
Com um conector PAT, você cria um token de acesso pessoal em seu provedor de código-fonte com permissões personalizadas, o armazena com segurança e o AWS Transform o recupera quando necessário. AWS Secrets Manager Você é responsável por gerenciar o ciclo de vida do token, incluindo rotação e expiração. AWS O Transform cria automaticamente a função IAM necessária com permissões para acessar seu segredo.
O conector PAT é compatível com os seguintes provedores, incluindo versões personalizadas DNS/URL e auto-hospedadas:
GitHub e GitHub Enterprise Server
GitLab.com and GitLab Self-Managed
Nuvem Bitbucket e data center Bitbucket
Azure DevOps e Azure DevOps Server
Crie um token de acesso pessoal
Crie um PAT no seu provedor de código-fonte. As permissões necessárias variam de acordo com o provedor. Escolha a guia do seu provedor.
Importante
Copie o token imediatamente após a criação. Você não pode vê-lo novamente. Defina a expiração para a duração do trabalho de transformação. Não defina a expiração para nunca expirar.
Atenção
Nunca envie tokens PAT em repositórios de código nem os compartilhe por meio de canais inseguros. Sempre os guarde AWS Secrets Manager.
GitHub
Navegue até Configurações, Configurações do desenvolvedor, Tokens de acesso pessoal, Fine-grained tokens. Selecione os repositórios a serem transformados e conceda as seguintes permissões.
Permissões do repositório
| Permissão | Acesso | Finalidade |
|---|---|---|
| Conteúdo | Leia e escreva | Lê o código-fonte e grava o código transformado de volta no repositório |
| Metadados | Read-only | Acessa informações básicas do repositório |
Permissões da organização (necessárias para os repositórios da organização)
| Permissão | Acesso | Finalidade |
|---|---|---|
| Membros | Read-only | Lista as organizações acessíveis ao token para descoberta do repositório |
GitLab
Navegue até Editar perfil, Tokens de acesso. Selecione os seguintes escopos.
| Escopo | Finalidade |
|---|---|
read_api |
Lê metadados do repositório, informações do projeto, detalhes do usuário e lista grupos e filiais |
read_repository |
Lê arquivos de código-fonte e estrutura do repositório para análise |
write_repository |
Grava o código transformado de volta no repositório |
Bitbucket
Navegue até Configurações da conta, Segurança, Criar e gerenciar tokens de API. Os escopos necessários dependem do seu tipo de token.
Workspace/Repository Token (ATCT — autenticação do portador, sem necessidade de nome de usuário)
| Permissão | Acesso | Finalidade |
|---|---|---|
| Repositórios | Leia e escreva | Lista repositórios, lê ramificações e grava código transformado via git push |
Token da API da conta (ATAT — Autenticação básica com e-mail) ou Senha do aplicativo (ATBB — Autenticação básica com nome de usuário)
| Escopo | Finalidade |
|---|---|
read:account |
Identifica o usuário autenticado para resolver a associação ao repositório |
read:workspace:bitbucket |
Lista os espaços de trabalho que o token pode acessar para que o AWS Transform possa enumerar seus repositórios. Não é necessário se você especificar uma lista de espaços de trabalho no segredo. |
read:repository:bitbucket |
Lista repositórios e lê metadados e informações de ramificações |
write:repository:bitbucket |
Grava o código transformado de volta no repositório via git push |
Azure DevOps
Navegue até Configurações do usuário, Tokens de acesso pessoal. Selecione Escopos personalizados definidos. Para o escopo da organização, escolha Todas as organizações acessíveis (recomendado) ou especifique uma única organização.
| Escopo | Acesso | Finalidade |
|---|---|---|
| Código | Leia e escreva | Lê o código-fonte, lista repositórios e ramificações e grava o código transformado de volta |
| Perfil do usuário | Ler | Valida o acesso ao token e descobre a identidade do usuário para pesquisa da organização |
| Gerenciamento de direitos de membros | Ler | Lista as organizações acessíveis ao token para descoberta do repositório |
Armazene o PAT em AWS Secrets Manager
Abra o AWS Secrets Manager console.
Selecione Armazenar um novo segredo.
Em Tipo de segredo, escolha Outro tipo de segredo.
Adicione pares de valores-chave com base em seu provedor e tipo de hospedagem:
Cloud-hosted provedores — Adicione uma chave nomeada
tokencom seu PAT como valor.Para o Azure DevOps com uma organização específica, adicione também uma chave chamada
organizationcom o nome da sua organização.Para senhas do aplicativo Bitbucket (ATBB), adicione também uma chave chamada
usernamecom seu nome de usuário do Bitbucket. Para tokens de API da conta Bitbucket (ATAT), adicione uma chave chamadaemailcom seu endereço de e-mail do Bitbucket.
Self-hosted e DNS/URL provedores personalizados — adicione as seguintes chaves:
host(o URL do seu servidor, por exemplohttps://github.mycompany.com),provider_type(githubgitlab,bitbucket,, ouado) etoken(seu PAT).Para o Azure DevOps com uma organização específica, adicione também uma chave chamada
organizationcom o nome da sua organização.Para senhas do aplicativo Bitbucket (ATBB), adicione também uma chave chamada
usernamecom seu nome de usuário do Bitbucket. Para tokens de API da conta Bitbucket (ATAT), adicione uma chave chamadaemailcom seu endereço de e-mail do Bitbucket.
O exemplo a seguir mostra como um segredo é examinado AWS Secrets Manager por um provedor GitHub hospedado na nuvem:
{ "token": "your-github-personal-access-token" }O exemplo a seguir mostra uma senha do aplicativo Bitbucket (ATBB):
{ "token": "your-bitbucket-app-password", "username": "my-bitbucket-username" }O exemplo a seguir mostra uma GitLab instância auto-hospedada:
{ "host": "https://gitlab.mycompany.com", "provider_type": "gitlab", "token": "your-gitlab-personal-access-token" }Escolha Próximo.
Insira um nome secreto, por exemplo
github-pat-myproject.(Opcional) Selecione uma chave KMS gerenciada pelo cliente para criptografia.
Conclua o assistente e escolha Armazenar.
Copie o ARN secreto. Você precisa desse valor ao configurar a tarefa AWS Transform.
Se você usar uma chave KMS gerenciada pelo cliente para criptografar seu segredo (em vez da chave AWS gerenciada padrão), deverá atualizar a política de chaves do KMS para permitir que AWS o Transform decifre o segredo. Adicione a seguinte declaração à sua política de chaves do KMS gerenciada pelo cliente:
{ "Sid": "Allow AWS Transform to decrypt secrets", "Effect": "Allow", "Principal": { "Service": "transform.amazonaws.com" }, "Action": [ "kms:Decrypt", "kms:DescribeKey" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "secretsmanager.REGION.amazonaws.com", "kms:EncryptionContext:SecretARN": "YOUR-SECRET-ARN" } } }
REGIONSubstitua pela sua AWS região (por exemplo,us-east-1) e YOUR-SECRET-ARN pelo ARN do seu segredo. A kms:ViaService condição garante que a chave KMS só possa ser usada por meio do AWS Secrets Manager serviço. A kms:EncryptionContext:SecretARN condição restringe a decodificação ao seu segredo específico.
Para atualizar sua política de chaves do KMS:
Abra o console AWS KMS em.
https://console.aws.amazon.com/kmsNo painel de navegação, escolha Chaves gerenciadas pelo cliente.
Selecione sua chave KMS.
Na guia Política de chave, escolha Editar.
Adicione a declaração de política à política existente.
Escolha Salvar alterações.
nota
Se você usar a chave AWS gerenciada padrão (aws/secretsmanager), não precisará modificar nenhuma política de chave do KMS.
Configurar o AWS Transforme o trabalho
Em sua tarefa do AWS Transform, navegue até Connect to resources.
Escolha Connect source code repository.
Selecione o conector PAT como método de autenticação.
Insira o ARN secreto da etapa 2.
(Opcional) Insira o ARN da chave KMS se você usou uma chave KMS gerenciada pelo cliente.
Selecione seu repositório e ramificação.
Escolha Continuar.
AWS O Transform cria automaticamente uma função do IAM com as permissões necessárias para acessar seu segredo.
Rotação e manutenção de tokens
Você é responsável pela rotação dos tokens PAT antes que eles expirem. Para girar um token:
Gere um novo PAT em seu provedor de código-fonte com as mesmas permissões.
Atualize o valor secreto em AWS Secrets Manager.
Verifique se sua tarefa de AWS transformação pode acessar o repositório com o novo token.
Revogue o PAT antigo em seu provedor de código-fonte.
Solucionar problemas do conector PAT
- Acesso negado — PAT inválido
-
Verifique se o PAT não expirou. Confirme se o PAT tem os escopos necessários para seu provedor. Verifique se o PAT está armazenado corretamente em AWS Secrets Manager.
- Não é possível recuperar o segredo
-
Verifique se o ARN secreto está correto. Verifique os registros do trabalho para confirmar se o AWS Transform criou a função do IAM. Se você estiver usando uma chave KMS gerenciada pelo cliente, verifique a política de chaves.
- Permissões insuficientes
-
O PAT pode não ter os escopos necessários para a operação. Regenere o PAT com os escopos necessários e atualize o valor secreto em. AWS Secrets Manager
Configurar AWS CodeConnections
AWS CodeConnections usa uma integração de provedor gerenciado que recupera automaticamente as credenciais temporárias do OAuth por meio de um fluxo de autorização do OAuth 2.0. As permissões são configuradas no aplicativo do provedor e gerenciadas inteiramente pelo AWS. Você autoriza o aplicativo uma vez e AWS gerencia todo o gerenciamento de credenciais.
Em seu trabalho de modernização do SQL Server, navegue até Connect to resources.
Escolha Connect source code repository.
Se você não tiver uma conexão existente, escolha Criar conexão.
Selecione seu provedor de repositório:
GitHub / GitHub Empresa
GitLab.com
Bitbucket Cloud
Repositórios do Azure
Siga o fluxo de autorização do seu provedor.
Após a autorização, escolha Connect.
Selecione seu repositório e ramificação
Selecione seu repositório na lista.
Escolha a ramificação que você deseja transformar (normalmente principal, principal ou desenvolver).
(Opcional) Especifique um subdiretório se seu aplicativo.NET não estiver na raiz do repositório.
Escolha Continuar.
nota
AWS A transformação cria uma nova ramificação para o código transformado. Você pode revisar e mesclar as alterações por meio do processo normal de revisão de código.
Aprovação do acesso ao repositório
Para GitHub algumas outras plataformas, o administrador do repositório deve aprovar a solicitação de conexão:
AWS O Transform exibe um link de verificação.
Compartilhe esse link com o administrador do repositório.
O administrador analisa e aprova a solicitação nas configurações do repositório.
Depois que o administrador aprova a solicitação, o status da conexão muda para Aprovado.
Importante
O processo de aprovação pode levar algum tempo, dependendo das políticas da sua organização. Planeje adequadamente.
Etapa 4: Criar conector de implantação (opcional)
Se você quiser implantar os aplicativos transformados em sua AWS conta, você tem a opção de selecionar um conector de implantação.
Configurar o conector de implantação
Selecione Sim se quiser implantar seus aplicativos. Selecionar Não ignorará essa etapa.
Adicione sua AWS conta onde você deseja implantar os aplicativos transformados.
Adicione um nome que ajude você a se lembrar facilmente do conector
Envie a solicitação do conector para aprovação.
Aprovação do conector de
O administrador AWS da sua conta deve aprovar a solicitação de conexão para o conector de implantação.
AWS O Transform exibe um link de verificação
Compartilhe este link com o administrador AWS da sua conta
O administrador revisa e aprova a solicitação nas configurações do repositório
Depois de aprovado, o status da conexão muda para Aprovado
Importante
O processo de aprovação pode levar algum tempo, dependendo das políticas da sua organização. Planeje adequadamente.
Etapa 5: confirme seus recursos
Depois de se conectar ao seu banco de dados e repositório, o AWS Transform verifica se todos os recursos necessários estão acessíveis e prontos para a transformação.
O que AWS A transformação verifica
Conectividade do banco de dados: a conexão está ativa, o usuário tem as permissões necessárias, os bancos de dados estão acessíveis, a versão é suportada
Acesso ao repositório: o repositório está acessível, a ramificação existe, os arquivos do projeto.NET foram detectados, as conexões do banco de dados podem ser descobertas
Preparação do ambiente: a configuração da VPC suporta DMS, existem funções de serviço AWS necessárias, conectividade de rede estabelecida, compatibilidade regional confirmada
Revise a lista de verificação antes do voo
Navegue até Confirmar seus recursos no plano de trabalho
Analise os itens da lista de verificação:
✅ Conexão com o banco de dados
✅ Acesso ao repositório confirmado
✅ Versão do.NET suportada
✅ Entity Framework ou ADO.NET detectado
✅ Configuração de rede válida
✅ Permissões necessárias concedidas
Se todos os itens aparecerem como concluídos, escolha Continuar
Se algum item mostrar avisos ou erros, resolva-os antes de continuar
Etapa 6: descoberta e avaliação
AWS O Transform analisa seu banco de dados SQL Server e o aplicativo.NET para entender o escopo e a complexidade da modernização.
O que é descoberto
Objetos de banco de dados: tabelas, visualizações, índices, procedimentos armazenados, funções, acionadores, restrições, tipos de dados, colunas computadas, colunas de identidade, relacionamentos de chave estrangeira
Código do aplicativo: estrutura do projeto.NET, modelos e configurações do Entity Framework, código de acesso a ADO.NET dados, cadeias de conexão de banco de dados, chamadas de procedimentos armazenados, consultas SQL em código
Dependências: quais aplicativos usam quais bancos de dados, dependências entre bancos de dados, procedimentos armazenados compartilhados, padrões comuns de acesso a dados
Processo de descoberta
AWS A transformação começa a ser descoberta automaticamente após a confirmação do recurso
A descoberta normalmente leva de 5 a 15 minutos, dependendo do tamanho do banco de dados e da complexidade do aplicativo
Monitore o progresso no registro de trabalho
AWS O Transform exibe atualizações em tempo real à medida que os objetos são descobertos
Analise os resultados da descoberta
Após a conclusão da descoberta, navegue até Descoberta e avaliação para analisar:
Análise de banco de dados:
Contagem de objetos: número de tabelas, visualizações, procedimentos armazenados, funções, gatilhos
Pontuação de complexidade: avaliação da complexidade da transformação (baixa, média, alta)
Itens de ação: objetos que podem exigir atenção humana
Recursos suportados: recursos de banco de dados que serão convertidos automaticamente
Recursos não suportados: recursos que exigem soluções alternativas
Análise de aplicativos:
Tipo de projeto: ASP.NET Core, aplicativo de console, biblioteca de classes, etc.
Versão.NET: versão detectada do.NET Core
Estrutura de acesso a dados: versão do Entity Framework ou ADO.NET
Conexões de banco de dados: Número de cadeias de conexão encontradas
Complexidade do código: avaliação da complexidade da transformação
Mapa de dependências:
Representação visual das relações entre aplicativos e bancos de dados
Cross-database dependências
Componentes compartilhados
Entendendo a avaliação da complexidade
AWS O Transform classifica sua modernização em três categorias:
| Complexidade | Características | Resultado esperado |
|---|---|---|
| Baixo (Classe A) | Padrões SQL padrão (ANSI SQL), procedimentos simples armazenados, tipos de dados básicos, Entity Framework com configurações padrão | Mínima intervenção humana esperada, alta taxa de sucesso de automação |
| Médio (Classe B) | T-SQL Padrões avançados, procedimentos armazenados complexos com lógica de negócios, funções definidas pelo usuário, colunas computadas | Alguma intervenção humana é necessária, revisão de especialistas recomendada |
| Alto (Classe C) | Assemblies CLR, servidores vinculados, Service Broker, pesquisa complexa de texto completo | É necessária uma refatoração humana significativa, considere a abordagem em fases |
Relatório de avaliação da
AWS O Transform gera um relatório de avaliação detalhado que inclui:
Resumo executivo com visão geral de alto nível
Inventário completo do banco de
Inventário de aplicativos
Porcentagem de prontidão para transformação
Estimativa de esforço
Estratégias de avaliação e mitigação de riscos
(Abordagem recomendada)
Você pode baixar o relatório de avaliação para análise off-line e compartilhamento com as partes interessadas.
Etapa 7: gerar e revisar o plano de ondas
Para grandes propriedades com vários bancos de dados e aplicativos, o AWS Transform gera um plano de ondas que sequencia a modernização em grupos lógicos.
O que é um plano de ondas?
Um plano de ondas organiza sua modernização em fases (ondas) com base em:
Dependências entre bancos de dados e aplicativos
Prioridades de negócios
tolerância ao risco
Disponibilidade de recursos
Complexidade técnica
Cada onda contém um grupo de bancos de dados e aplicativos que podem ser modernizados juntos sem quebrar dependências.
Revise o plano de ondas
Navegue até Planejamento do Wave no plano de trabalho
Revise as ondas propostas
Para cada onda, analise:
Bancos de dados incluídos
Aplicativos incluídos
Dependências de outras ondas
Tempo estimado de transformação
Nível de complexidade
Aplicativos implantáveis
Personalize o plano de ondas
Você pode personalizar o plano wave para atender às necessidades da sua empresa de duas maneiras:
Usando JSON:
Escolha Baixar todas as ondas para obter um arquivo JSON com todas as ondas
Modifique as ondas no JSON da seguinte forma:
Movendo bancos de dados entre ondas
Dividindo ondas em grupos menores
Mesclando ondas
Alterando a sequência de ondas
Adicionar ou remover bancos de dados do escopo
Faça o upload do arquivo JSON de volta para o console escolhendo Carregar plano de onda
AWS O Transform valida suas alterações e avisa se as dependências forem violadas
Escolha Confirmar ondas para atualizar o plano de ondas
Usando o Chat:
Você pode modificar os planos de ondas conversando com o agente e solicitando que ele mova os repositórios e bancos de dados para ondas específicas. Essa abordagem funciona bem se você precisar fazer pequenas edições nas ondas.
Importante
Certifique-se de que as dependências sejam respeitadas ao personalizar ondas. Transformar um aplicativo dependente antes de seu banco de dados pode causar problemas.
Modernização de banco de dados único
Se você estiver modernizando um único banco de dados e aplicativo, o AWS Transform cria um plano simples com uma única onda. Você pode prosseguir diretamente para a transformação sem planejar ondas.
Aprovar o plano de ondas
Depois de revisar e personalizar (se necessário), escolha Aprovar plano de ondas
AWS O Transform bloqueia o plano de ondas e prossegue com a transformação
Você ainda pode modificar o plano posteriormente escolhendo Editar plano de onda
Etapa 8: conversão do esquema
AWS O Transform converte seu esquema de banco de dados SQL Server em Aurora PostgreSQL, incluindo tabelas, visualizações, procedimentos armazenados, funções e gatilhos.
Como funciona a conversão de esquemas
AWS O Transform usa a conversão de esquema AWS DMS aprimorada com IA generativa para:
Analise esquemas e relacionamentos do SQL Server
Mapeie tipos de dados do SQL Server para equivalentes do PostgreSQL
Transformar T-SQL em PL/pgSQL
Lidar com colunas de identidade, colunas computadas e restrições
Valide a conversão e a integridade referencial
Gere itens de ação para objetos que exigem revisão humana
Conversões suportadas
Convertido automaticamente:
Tabelas, visualizações e índices
Chaves primárias e chaves estrangeiras
Verifique as restrições e os valores padrão
Tipos de dados mais comuns
Procedimentos simples de armazenamento
Funções básicas e gatilhos
Colunas de identidade (convertidas em SERIAL ou GERADAS)
Colunas mais computadas
Pode exigir revisão humana:
Procedimentos armazenados complexos com recursos avançados T-SQL
Server-specific Funções SQL (GETUTCDATE, SUSER_SNAME etc.)
Colunas computadas com expressões complexas
Full-text índices de pesquisa
Operações de tipo de dados XML
Tipo de dados HIERARCHYID (requer extensão ltree)
Não convertido automaticamente:
Conjuntos CLR
Servidores vinculados
Service Broker
Trabalhos do SQL Server Agent
Iniciar conversão do esquema
Navegue até Conversão de esquema no plano de trabalho
Revise as configurações de conversão:
Versão de destino do PostgreSQL
Opções de extensão (ltree, PostGIS, etc.)
Convenções de nomenclatura
Escolha Iniciar conversão
Monitore o progresso no registro de trabalho
A conversão normalmente leva de 10 a 30 minutos, dependendo do número de objetos do banco de dados
Analise os resultados da conversão
Depois que a conversão for concluída, navegue até Revisar conversão do esquema:
Resumo da conversão:
Objetos convertidos: contagem de objetos convertidos com sucesso
Itens de ação: objetos que requerem atenção humana
Advertências: possíveis problemas a serem analisados
Erros: objetos que não puderam ser convertidos
Análise por tipo de objeto:
Tabelas: mapeamentos de tipos de dados, restrições, índices
Procedimentos armazenados: T-SQL para PL/pgSQL conversão
Funções: assinatura da função e alterações lógicas
Acionadores: mudanças na sintaxe e temporização do gatilho
Revise os itens de ação
Escolha Exibir itens de ação
Para cada item de ação, revise:
Nome do objeto: O objeto do banco de dados
Tipo de problema: O que requer atenção
Gravidade: crítica, advertência ou informação
Recomendação: resolução sugerida
Código original: versão SQL Server
Código convertido: versão PostgreSQL
Para cada item de ação, você pode:
Aceitar: use o código convertido
Modificar: edite o código convertido
Sinalizar para mais tarde: Marque para revisão humana após a transformação
Exemplo: conversão de procedimento armazenado
Servidor SQL T-SQL:
CREATE PROCEDURE GetProductsByCategory @CategoryId INT, @PageSize INT = 10 AS BEGIN SET NOCOUNT ON; SELECT TOP (@PageSize) ProductId, Name, Price, DATEDIFF(DAY, CreatedDate, GETUTCDATE()) AS DaysOld FROM Products WHERE CategoryId = @CategoryId ORDER BY Name END
PostgreSQL PL/pgSQL convertido:
CREATE OR REPLACE FUNCTION get_products_by_category( p_category_id INTEGER, p_page_size INTEGER DEFAULT 10 ) RETURNS TABLE ( product_id INTEGER, name VARCHAR(255), price NUMERIC(18,2), days_old INTEGER ) AS $$ BEGIN RETURN QUERY SELECT p.product_id, p.name, p.price, EXTRACT(DAY FROM (NOW() - p.created_date))::INTEGER AS days_old FROM products p WHERE p.category_id = p_category_id ORDER BY p.name LIMIT p_page_size; END; $$ LANGUAGE plpgsql;
Alterações feitas:
Procedimento convertido em função retornando TABLE
Nomes de parâmetros prefixados com p_
TOP convertido em LIMIT
DATEDIFF convertido em EXTRACT
GETUTCDATE () convertido em NOW ()
Nomes de colunas convertidos em minúsculas (convenção PostgreSQL)
Aprovar a conversão do esquema
Depois de revisar todos os itens de ação e fazer as modificações necessárias
Escolha Aprovar conversão de esquema
AWS O Transform prepara o esquema convertido para implantação no Aurora PostgreSQL
nota
Você pode baixar o esquema convertido como scripts SQL para análise offline ou controle de versão.
Etapa 9: migração de dados (opcional)
AWS O Transform fornece opções para migrar dados do SQL Server para o Aurora PostgreSQL. A migração de dados é opcional e pode ser ignorada se você precisar apenas da transformação do esquema e do código.
Opções de migração de dados
Opção 1: migração de dados de produção
Migre seus dados reais de produção usando o AWS DMS:
Carga inicial completa de todos os dados
Replicação contínua durante o teste (CDC)
Redução mínima do tempo de inatividade
Validação de dados e verificações de integridade
Opção 2: ignorar a migração de dados
Transforme somente o esquema e o código:
Útil para development/testing ambientes
Quando os dados serão migrados separadamente
Para projetos de prova de conceito
Configurar a migração de dados
Navegue até Migração de dados no plano de trabalho
Escolha sua opção de migração:
Migre dados de produção
Ignorar a migração de dados
Se estiver migrando dados de produção, configure:
Tipo de migração: carga total ou carga total + CDC
Validação: habilitar a validação de dados
Desempenho: tamanho da instância do DMS
-
Escolha >Iniciar a migração
Processo de migração de dados de produção
Se você optar por migrar os dados de produção:
Sincronização inicial: o AWS DMS executa a carga total de todas as tabelas
Replicação contínua: (se o CDC estiver ativado) Mantém os dados sincronizados
Validação: verifica a contagem de linhas e a integridade dos dados
Preparação da transição: se prepara para a sincronização final
Cronograma de migração:
Bancos de dados pequenos (< 10 GB): 30 minutos - 2 horas
Bancos de dados médios (10 a 100 GB): 2 a 8 horas
Bancos de dados grandes (> 100 GB): mais de 8 horas
Validação de dados
AWS O Transform valida os dados migrados com as seguintes verificações:
Comparação da contagem de linhas (origem versus destino)
Integridade da chave primária
Relacionamentos de chave estrangeira
Compatibilidade do tipo de dados
Resultados da coluna computada
Manipulação de valores nulos
Etapa 10: transformação do código do aplicativo
AWS O Transform transforma o código do aplicativo.NET para funcionar com o Aurora PostgreSQL em vez do SQL Server. Ele solicita um nome de ramificação de destino em seus repositórios para confirmar o código-fonte transformado. Depois de inserir o nome da ramificação, o AWS Transform criará uma nova ramificação e iniciará a transformação para corresponder ao banco de dados PostgreSQL.
O que é transformado
Alterações na estrutura da entidade:
Provedor de banco de dados: UseSqlServer () → UseNpgsql ()
Cadeias de conexão: formato SQL Server → formato PostgreSQL
Mapeamentos de tipos de dados: tipos do SQL Server → Tipos do PostgreSQL
DbContext configurações: SQL → Server-specific PostgreSQL-specific
Arquivos de migração: atualizados para compatibilidade com o PostgreSQL
ADO.NET Mudanças:
Classes de conexão: SqlConnection → NpgsqlConnection
Classes de comando: SqlCommand → NpgsqlCommand
Leitor de dados: SqlDataReader → NpgsqlDataReader
Parâmetros: SqlParameter → NpgsqlParameter
Sintaxe S SQL: T-SQL → PostgreSQL → SQL
Alterações na configuração:
Cadeias de conexão em appsettings.json
NuGet Pacotes de provedores de banco
Configurações de injeção de dependência
Startup/Program.cs configurações
Inicie a transformação do código
Navegue até Transformação de aplicativos no plano de trabalho
Revise as configurações de transformação:
Versão.NET de destino (se estiver atualizando)
Versão do provedor PostgreSQL
Preferências de estilo de código
Escolha Iniciar transformação
Monitore o progresso no registro de trabalho
A transformação normalmente leva de 15 a 45 minutos, dependendo do tamanho da base de código
Etapa 11: Analisar os resultados da transformação
Antes de prosseguir com a implantação, analise os resultados completos da transformação para garantir que tudo esteja pronto para o teste.
Você pode baixar o código transformado da ramificação do repositório para:
Teste e validação locais
Revisão de código em seu IDE
Integração com seu CI/CD funil
Confirmação de controle de versão
Você também pode baixar o resumo da transformação para revisar as alterações na linguagem natural feitas pelo AWS Transform como parte da transformação.
Resumo da transformação
Navegue até o resumo da transformação no plano de trabalho
Analise os resultados gerais:
Conversão de esquema: objetos convertidos, itens de ação, avisos
Migração de dados: tabelas migradas, linhas transferidas, status de validação
Transformação de código: arquivos alterados, linhas modificadas, problemas resolvidos
Pontuação de prontidão: prontidão geral para implantação
Gerar relatório de transformação
AWS O Transform gera um relatório de transformação abrangente:
Escolha Gerar relatório
Selecione o tipo de relatório:
Resumo executivo: High-level visão geral para as partes interessadas
Detalhes técnicos: documentação completa de transformação
Itens de ação: Lista de tarefas humanas necessárias
Escolha Baixar relatório
O relatório inclui:
Escopo e objetivos da transformação
Objetos e código transformados
Problemas encontrados e soluções
Resultados da validação
Avaliação da prontidão para implantação
Recomendações para testes
Etapa 12: Validação e teste
Antes de implantar na produção, verifique se o aplicativo transformado funciona corretamente com o Aurora PostgreSQL.
Tipos de validação
Validação automatizada: o AWS Transform realiza verificações automatizadas:
Validação do esquema em relação ao banco de dados de origem
Verificação de integridade dos dados
Teste de equivalência de consultas
Validação da cadeia de conexão
Validação de configuração
Validação humana: você deve realizar testes adicionais:
Teste funcional dos recursos do aplicativo
Teste de integração com outros sistemas
Teste de desempenho e benchmarking
Teste de aceitação do usuário
Teste de segurança
Execute a validação automatizada
Navegue até Validação no plano de trabalho
Escolha Executar validação
AWS O Transform executa testes de validação:
Conectividade com o banco de dados
Compatibilidade de esquemas
Integridade dos dados
Construção de aplicativos
Funcionalidade básica
Analise os resultados da validação:
Aprovado: testes bem-sucedidos
Falhou: testes que precisam de atenção
Avisos: possíveis problemas a serem analisados
Lista de verificação de testes
Funcionalidade do banco de dados:
Todas as mesas acessíveis
Os procedimentos armazenados são executados corretamente
As funções retornam os resultados esperados
Aciona o fogo de forma adequada
Restrições aplicadas adequadamente
Os índices melhoram o desempenho da consulta
Funcionalidade do aplicativo:
O aplicativo é iniciado com sucesso
Conexões de banco de dados
As operações do CRUD funcionam corretamente
As chamadas de procedimento armazenadas foram bem-sucedidas
Transações commit/rollback adequadas
O tratamento de erros funciona conforme o esperado
Integridade dos dados:
A contagem de linhas corresponde à fonte
Chaves primárias exclusivas
Chaves estrangeiras válidas
Colunas computadas corretas
Tratamento nulo apropriado
Tipos de dados compatíveis
Desempenho:
Tempos de resposta da consulta aceitáveis
Pool de conexões configurado
Índices otimizados
Sem problemas de consulta N+1
Operações em lote eficientes
Utilização de recursos razoável
Etapa 13: Implantação
Após a validação bem-sucedida, implante seu aplicativo e banco de dados modernizados para produção.
Opções de implantação
Amazon ECS e Amazon EC2 Linux
Pre-deployment lista de verificação
Antes da implantação na produção:
Todos os testes de validação foram aprovados
Teste de desempenho concluído
Análise de segurança concluída
Plano de backup e reversão documentado
Monitoramento e alertas configurados
Equipe treinada em novo ambiente
Partes interessadas informadas sobre a implantação
Janela de manutenção programada
Implantar no Amazon ECS
Navegue até Implantação no plano de trabalho
Escolha Implantar no ECS
Defina as configurações de implantação:
Cluster: selecione ou crie um cluster ECS
Serviço: Configurar o serviço ECS
Definição da tarefa: Revise a definição da tarefa gerada
Balanceador de carga: Configurar ALB/NLB
Auto-scaling: Defina políticas de escalabilidade
Revise a infraestrutura como código (modelo ou código CDK) CloudFormation AWS
Escolha Implantar
Monitore a implantação
AWS O Transform implanta seu aplicativo:
Cria o cluster Aurora PostgreSQL
Aplica o esquema do banco de dados
Carrega dados (se aplicável)
Implanta contêineres de aplicativos
Configura o balanceador de carga
Configura o auto-scaling
Monitore o progresso da implantação e verifique:
Provisionamento de infraestrutura
Inicialização do banco de dados
Implantação de aplicações
Verificações de saúde aprovadas
Aplicativo acessível
As conexões de banco de dados funcionam
Registros mostrando a operação normal
Post-deployment validação
Após a implantação:
Teste de fumaça:
Verifique a funcionalidade crítica
Teste os principais fluxos de trabalho do usuário
Verifique os pontos de integração
Monitore as taxas de erro
Monitoramento de desempenho:
Monitore os tempos de resposta
Monitore consultas ao banco de dados
Verifique a utilização dos recursos
Revise os registros do aplicativo
Validação do usuário:
Realizar testes de aceitação do usuário
Colete feedback
Resolva quaisquer problemas
Documente as lições aprendidas
Procedimentos de reversão
Se surgirem problemas após a implantação:
Reversão imediata:
Reverter para a versão anterior do aplicativo
Volte para o SQL Server (se ainda estiver disponível)
Restaure a partir do backup, se necessário
Reversão parcial:
Reverta componentes específicos
Mantenha as alterações no banco de dados
Reverter somente o código do aplicativo
Correção direta:
Aplique o hotfix à versão do Aurora PostgreSQL
Implantar código de aplicativo atualizado
Monitor para resolução
Importante
Mantenha seu banco de dados SQL Server disponível por um período após a transferência para permitir a reversão, se necessário.
Post-deployment otimização
Após a implantação bem-sucedida:
Ajuste de desempenho:
Otimize consultas lentas
Ajustar as configurações do pool de conexões
Fine-tune Parâmetros do Aurora PostgreSQL
Revise e otimize índices
Otimização de custos:
Right-size Instância do Aurora
Configure o auto-scaling de forma adequada
Revise as configurações de armazenamento
Otimize a retenção de backup
Configuração de monitoramento:
Configurar CloudWatch painéis
Configurar alertas
Habilitar monitoramento avançado
Configurar Performance Insights
Documentação:
Atualizar runbooks
Mudanças na arquitetura do documento
Equipe de operações de treinamento
Crie guias de solução de problemas