Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Flusso di lavoro di modernizzazione di SQL Server
Questa sezione fornisce una guida dettagliata dell'intero processo di modernizzazione di SQL Server utilizzando Transform. AWS
Fase 1: Creare un processo di modernizzazione di SQL Server
Inizia il tuo percorso di modernizzazione creando un nuovo processo di trasformazione nella console AWS Transform.
Accedi alla console AWS Transform
Scegli Create modernization job
Seleziona il processo di modernizzazione di Windows, quindi seleziona Modernizzazione di SQL Server
Inserisci i dettagli del lavoro:
Job name: nome descrittivo per il tuo progetto
Descrizione: descrizione opzionale
Regione di destinazione: AWS regione per la distribuzione
Selezionare Create job (Crea attività).
Importante
Non includere informazioni di identificazione personale (PII) nel nome del lavoro.
Passaggio 2: Connect al database SQL Server
Connect AWS Transform al database SQL Server per abilitare l'analisi e la conversione dello schema.
Crea un connettore per il database
Nel processo di modernizzazione di SQL Server, accedi a Connect to resources
Scegli Connetti al database SQL Server
Scegli Crea nuovo connettore
Inserisci le informazioni sul connettore:
Nome del connettore C: nome descrittivo
AWS ID account: account in cui è ospitato SQL Server
Una volta confermato, riceverai un link per l'approvazione. Copia il link di approvazione per ottenere l'approvazione dell'account dall' AWS amministratore. Una volta approvati, puoi procedere al passaggio successivo.
Dopo che l'amministratore ha approvato la richiesta del connettore, fate clic su Invia per procedere alla configurazione della connessione con il codice sorgente.
Passaggio 3: Connect il repository del codice sorgente
AWS Transform richiede l'accesso al codice sorgente dell'applicazione.NET per analizzare e trasformare il codice che interagisce con il database SQL Server. AWS Transform supporta tre metodi per fornire il codice sorgente.
Scegli il tuo metodo di autenticazione
- Connettore PAT (Personal Access Token) (consigliato)
-
Ideale per i team che necessitano di ambiti di autorizzazione personalizzati, supporto da parte di provider ospitati autonomamente o accesso a API specifiche del provider come Secrets. GitHub Crei un PAT nel tuo provider di codice sorgente con autorizzazioni personalizzate, lo memorizzi e Transform lo recupera AWS Secrets Manager quando necessario. AWS Sei responsabile della gestione della rotazione e della scadenza dei token.
- AWS CodeConnections
-
Ideale per i team che desiderano una gestione automatizzata delle credenziali. AWS CodeConnections utilizza un'integrazione con provider gestiti che gestisce l'autenticazione tramite un flusso di autorizzazione OAuth 2.0. AWS gestisce l'intero ciclo di vita delle credenziali, incluso l'aggiornamento e la rotazione automatici dei token. Non è richiesta la gestione manuale delle credenziali.
- Simple Storage Service (Amazon S3)
-
Carica il codice sorgente direttamente in un bucket Amazon S3. AWS Transform accede al codice dal bucket durante il processo di trasformazione.
| Funzionalità | Connettore PAT (consigliato) | AWS CodeConnections |
|---|---|---|
| Gestione delle credenziali | Manuale (gestito dal cliente) | Automatico (gestito)AWS |
| Ciclo di vita dei token | È richiesta una rotazione manuale | Aggiornamento automatico |
| Flessibilità di autorizzazione | Ambiti completamente personalizzabili | Autorizzazioni fisse |
| Self-hosted supporto per i fornitori | Supportata | Non disponibile |
| Complessità di configurazione | Moderato (creazione e archiviazione manuali dei token) | Bassa (autorizzazione una tantum) |
| Archiviazione di token | Del cliente AWS Secrets Manager | Gestito da AWS |
Configurare un connettore PAT (consigliato)
Con un connettore PAT, crei un token di accesso personale nel tuo provider di codice sorgente con autorizzazioni personalizzate, lo memorizzi in AWS Secrets Manager modo sicuro e AWS Transform lo recupera quando necessario. Sei responsabile della gestione del ciclo di vita del token, comprese la rotazione e la scadenza. AWS Transform crea automaticamente il ruolo IAM necessario con le autorizzazioni per accedere al tuo segreto.
Il connettore PAT supporta i seguenti provider, comprese le versioni self-hosted e personalizzate: DNS/URL
GitHub e GitHub Enterprise Server
GitLab.com e GitLab Self-Managed
Bitbucket Cloud e Bitbucket Data Center
Azure e Azure Server DevOps DevOps
Crea un token di accesso personale
Crea un PAT nel tuo provider di codice sorgente. Le autorizzazioni richieste variano in base al provider. Scegli la scheda relativa al tuo provider.
Importante
Copia il token subito dopo la creazione. Non è possibile visualizzarlo di nuovo. Imposta la scadenza per la durata del processo di trasformazione. Non impostate la scadenza in modo che non scada mai.
avvertimento
Non archiviate mai i token PAT in archivi di codice né condivideteli attraverso canali non sicuri. Conservali sempre in. AWS Secrets Manager
GitHub
Vai a Impostazioni, Impostazioni sviluppatore, Token di accesso personali, Fine-grained token. Seleziona i repository da trasformare e concedi le seguenti autorizzazioni.
Autorizzazioni per il repository
| Autorizzazione | Accesso | Scopo |
|---|---|---|
| Indice | Leggi e scrivi | Legge il codice sorgente e riscrive il codice trasformato nel repository |
| Metadati | Read-only | Accede alle informazioni di base del repository |
Autorizzazioni organizzative (richieste per gli archivi dell'organizzazione)
| Autorizzazione | Accesso | Scopo |
|---|---|---|
| Membri | Read-only | Elenca le organizzazioni accessibili al token per l'individuazione dei repository |
GitLab
Vai a Modifica profilo, Accedi ai token. Seleziona i seguenti ambiti.
| Scope | Scopo |
|---|---|
read_api |
Legge i metadati del repository, le informazioni sul progetto, i dettagli degli utenti ed elenca gruppi e rami |
read_repository |
Legge i file del codice sorgente e la struttura del repository per l'analisi |
write_repository |
Scrive il codice trasformato nel repository |
Bitbucket
Vai a Impostazioni account, Sicurezza, Crea e gestisci token API. Gli ambiti richiesti dipendono dal tipo di token.
Workspace/Repository Token (ATCT — Bearer auth, nessun nome utente richiesto)
| Autorizzazione | Accesso | Scopo |
|---|---|---|
| Repositories | Leggi e scrivi | Elenca i repository, legge i rami e scrive codice trasformato tramite git push |
Account API Token (ATAT — Autenticazione di base con e-mail) o password dell'app (ATBB — Autenticazione di base con nome utente)
| Scope | Scopo |
|---|---|
read:account |
Identifica l'utente autenticato per risolvere l'appartenenza al repository |
read:workspace:bitbucket |
Elenca le aree di lavoro a cui il token può accedere in modo che AWS Transform possa enumerare i relativi repository. Non richiesto se si specifica un elenco di aree di lavoro nel segreto. |
read:repository:bitbucket |
Elenca gli archivi e legge i metadati e le informazioni sulle filiali |
write:repository:bitbucket |
Scrive il codice trasformato nel repository tramite git push |
Azure DevOps
Vai a Impostazioni utente, Token di accesso personali. Seleziona Ambiti definiti su misura. Per l'ambito dell'organizzazione, scegli Tutte le organizzazioni accessibili (consigliato) o specifica una singola organizzazione.
| Scope | Accesso | Scopo |
|---|---|---|
| Codice | Leggi e scrivi | Legge il codice sorgente, elenca repository e branch e riscrive il codice trasformato |
| Profilo utente | Lettura | Convalida l'accesso ai token e scopre l'identità dell'utente per la ricerca nell'organizzazione |
| Gestione dei diritti dei membri | Lettura | Elenca le organizzazioni accessibili al token per l'individuazione del repository |
Memorizza il PAT in AWS Secrets Manager
Apri la AWS Secrets Manager console.
Scegli Archivia un nuovo segreto.
Per Secret type (Tipo di segreto), scegli Other type of secret (Altro tipo di segreto).
Aggiungi coppie chiave-valore in base al provider e al tipo di hosting:
Cloud-hosted provider: aggiungi una chiave denominata
tokencon il tuo PAT come valore.Per Azure DevOps con un'organizzazione specifica, aggiungi anche una chiave denominata
organizationcon il nome della tua organizzazione.Per le password delle app Bitbucket (ATBB), aggiungi anche una chiave denominata con il tuo nome
usernameutente Bitbucket. Per i token API dell'account Bitbucket (ATAT), aggiungi una chiave denominata con il tuo indirizzo email Bitbucket.email
Self-hosted e DNS/URL provider personalizzati: aggiungi le seguenti chiavi:
host(l'URL del tuo server, ad esempiohttps://github.mycompany.com),provider_type(githubgitlabbitbucket, o) e (il tuo PATado).tokenPer Azure DevOps con un'organizzazione specifica, aggiungi anche una chiave denominata
organizationcon il nome della tua organizzazione.Per le password delle app Bitbucket (ATBB), aggiungi anche una chiave denominata con il tuo nome
usernameutente Bitbucket. Per i token API dell'account Bitbucket (ATAT), aggiungi una chiave denominata con il tuo indirizzo email Bitbucket.email
L'esempio seguente mostra come viene visualizzato un segreto per un provider ospitato nel cloud: AWS Secrets Manager GitHub
{ "token": "your-github-personal-access-token" }L'esempio seguente mostra una password per l'app Bitbucket (ATBB):
{ "token": "your-bitbucket-app-password", "username": "my-bitbucket-username" }L'esempio seguente mostra un'istanza ospitata autonomamente: GitLab
{ "host": "https://gitlab.mycompany.com", "provider_type": "gitlab", "token": "your-gitlab-personal-access-token" }Scegli Next (Successivo).
Inserisci un nome segreto, ad esempio
github-pat-myproject.(Facoltativo) Seleziona una chiave KMS gestita dal cliente per la crittografia.
Completa la procedura guidata e scegli Store.
Copia l'ARN segreto. È necessario questo valore quando si configura il processo di AWS trasformazione.
Se utilizzi una chiave KMS gestita dal cliente per crittografare il tuo segreto (anziché la chiave AWS gestita predefinita), devi aggiornare la politica della chiave KMS per consentire AWS a Transform di decrittografare il segreto. Aggiungi la seguente dichiarazione alla politica delle chiavi KMS gestita dal 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" } } }
Sostituisci REGION con la tua AWS regione (ad esempious-east-1) e YOUR-SECRET-ARN con l'ARN del tuo segreto. La kms:ViaService condizione garantisce che la chiave KMS possa essere utilizzata solo tramite il AWS Secrets Manager servizio. La kms:EncryptionContext:SecretARN condizione limita la decrittografia al tuo segreto specifico.
Per aggiornare la tua politica sulle chiavi KMS:
Apri la console AWS KMS all'indirizzo.
https://console.aws.amazon.com/kmsNel riquadro di navigazione, scegli Chiavi gestite dal cliente.
Seleziona la tua chiave KMS.
Nella scheda Policy della chiave, seleziona Modifica.
Aggiungi la dichiarazione sulla politica alla politica esistente.
Scegli Save changes (Salva modifiche).
Nota
Se si utilizza la chiave predefinita AWS-managed (aws/secretsmanager), non è necessario modificare alcuna politica delle chiavi KMS.
Configura il AWS Trasforma il lavoro
Nel processo AWS Transform, accedi a Connect to resources.
Scegli Connect source code repository.
Seleziona PAT Connector come metodo di autenticazione.
Inserisci l'ARN segreto dal passaggio 2.
(Facoltativo) Inserisci l'ARN della chiave KMS se hai utilizzato una chiave KMS gestita dal cliente.
Seleziona il tuo repository e la filiale.
Scegli Continua.
AWS Transform crea automaticamente un ruolo IAM con le autorizzazioni necessarie per accedere al tuo segreto.
Rotazione e manutenzione dei token
Sei responsabile della rotazione dei token PAT prima che scadano. Per ruotare un token:
Genera un nuovo PAT nel tuo provider di codice sorgente con le stesse autorizzazioni.
Aggiorna il valore segreto in. AWS Secrets Manager
Verifica che il tuo job AWS Transform possa accedere al repository con il nuovo token.
Revoca il vecchio PAT nel tuo provider di codice sorgente.
Risolvi i problemi relativi al connettore PAT
- Accesso negato: PAT non valido
-
Verifica che il PAT non sia scaduto. Verifica che il PAT abbia gli ambiti richiesti per il tuo provider. Verificate che il PAT sia memorizzato correttamente in. AWS Secrets Manager
- Impossibile recuperare il segreto
-
Verifica che l'ARN segreto sia corretto. Controlla i log dei lavori per confermare che AWS Transform ha creato il ruolo IAM. Se utilizzi una chiave KMS gestita dal cliente, verifica la policy chiave.
- Autorizzazioni insufficienti
-
Il PAT potrebbe non avere gli ambiti richiesti per l'operazione. Rigenera il PAT con gli ambiti richiesti e aggiorna il valore segreto in. AWS Secrets Manager
Configurazione AWS CodeConnections
AWS CodeConnections utilizza un'integrazione con provider gestiti che recupera automaticamente le credenziali OAuth temporanee tramite un flusso di autorizzazione OAuth 2.0. Le autorizzazioni sono configurate nell'app del provider e gestite interamente da. AWS Autorizzi l'app una sola volta e AWS gestisci tutta la gestione delle credenziali.
Nel processo di modernizzazione di SQL Server, accedi a Connect to resources.
Scegli Connect source code repository.
Se non disponi di una connessione esistente, scegli Crea connessione.
Seleziona il fornitore del tuo repository:
GitHub /Impresa GitHub
GitLab.com
Bitbucket Cloud
Repository di Azure
Segui il flusso di autorizzazione per il tuo provider.
Dopo l'autorizzazione, scegli Connect.
Seleziona il tuo repository e la tua filiale
Seleziona il tuo repository dall'elenco.
Scegli il ramo che vuoi trasformare (in genere principale, master o development).
(Facoltativo) Specificate una sottodirectory se l'applicazione.NET non si trova nella radice del repository.
Scegli Continua.
Nota
AWS Transform crea un nuovo ramo per il codice trasformato. È possibile rivedere e unire le modifiche tramite il normale processo di revisione del codice.
Approvazione dell'accesso al repository
Per GitHub alcune altre piattaforme, l'amministratore del repository deve approvare la richiesta di connessione:
AWS Transform visualizza un link di verifica.
Condividi questo link con l'amministratore del tuo repository.
L'amministratore esamina e approva la richiesta nelle impostazioni del repository.
Dopo l'approvazione della richiesta da parte dell'amministratore, lo stato della connessione diventa Approvato.
Importante
Il processo di approvazione può richiedere del tempo a seconda delle politiche dell'organizzazione. Pianifica le attività di conseguenza.
Fase 4: Creare un connettore di distribuzione (opzionale)
Se desideri distribuire le applicazioni trasformate nel tuo AWS account, hai la possibilità di selezionare un connettore di distribuzione.
Configura il connettore di distribuzione
Seleziona Sì se desideri distribuire le tue applicazioni. Selezionando No si salterà questo passaggio.
Aggiungi il tuo AWS account dove desideri distribuire le applicazioni trasformate.
Aggiungi un nome che ti aiuti a ricordare facilmente il connettore
Invia la richiesta di approvazione del connettore.
Approvazione del connettore di distribuzione
L'amministratore AWS dell'account deve approvare la richiesta di connessione per il connettore di distribuzione.
AWS Transform visualizza un link di verifica
Condividi questo link con l'amministratore AWS del tuo account
L'amministratore esamina e approva la richiesta nelle impostazioni del repository
Una volta approvata, lo stato della connessione diventa Approvato
Importante
Il processo di approvazione può richiedere del tempo a seconda delle politiche dell'organizzazione. Pianifica le attività di conseguenza.
Fase 5: Conferma le tue risorse
Dopo la connessione al database e al repository, AWS Transform verifica che tutte le risorse richieste siano accessibili e pronte per la trasformazione.
What AWS Transform verifica
Connettività al database: la connessione è attiva, l'utente ha le autorizzazioni richieste, i database sono accessibili, la versione è supportata
Accesso al repository: il repository è accessibile, la filiale esiste, i file di progetto.NET sono stati rilevati, le connessioni al database sono individuabili
Predisposizione dell'ambiente: la configurazione VPC supporta DMS, esistono ruoli di servizio AWS richiesti, connettività di rete stabilita, compatibilità regionale confermata
Consulta la lista di controllo prima del volo
Vai a Conferma le tue risorse nel piano di lavoro
Controlla gli elementi della lista di controllo:
✅ Connessione al database verificata
✅ Accesso al repository confermato
✅ Versione .NET supportata
✅ Entity Framework o ADO.NET rilevato
✅ Configurazione di rete valida
✅ Autorizzazioni richieste concesse
Se tutti gli elementi vengono visualizzati come completi, scegli Continua
Se alcuni articoli mostrano avvisi o errori, risolvili prima di procedere
Fase 6: Scoperta e valutazione
AWS Transform analizza il database SQL Server e l'applicazione.NET per comprendere l'ambito e la complessità della modernizzazione.
Cosa viene scoperto
Oggetti del database: tabelle, viste, indici, stored procedure, funzioni, trigger, vincoli, tipi di dati, colonne calcolate, colonne di identità, relazioni con chiavi esterne
Codice dell'applicazione: struttura del progetto.NET, modelli e configurazioni di Entity Framework, codice di accesso ai ADO.NET dati, stringhe di connessione al database, chiamate di stored procedure, query SQL nel codice
Dipendenze: quali applicazioni utilizzano determinati database, dipendenze tra database, procedure archiviate condivise, modelli comuni di accesso ai dati
Processo di scoperta
AWS Transform avvia automaticamente l'individuazione dopo la conferma delle risorse
L'individuazione richiede in genere 5-15 minuti a seconda delle dimensioni del database e della complessità dell'applicazione
Monitora i progressi nel registro di lavoro
AWS Transform mostra gli aggiornamenti in tempo reale man mano che gli oggetti vengono scoperti
Rivedi i risultati della scoperta
Una volta completata la scoperta, accedi a Discovery and assessment per esaminare:
Analisi del database:
Numero di oggetti: numero di tabelle, viste, procedure memorizzate, funzioni, trigger
Punteggio di complessità: valutazione della complessità della trasformazione (bassa, media, alta)
Oggetti d'azione: oggetti che possono richiedere l'attenzione umana
Funzionalità supportate: funzionalità del database che verranno convertite automaticamente
Funzionalità non supportate: funzionalità che richiedono soluzioni alternative
Analisi delle applicazioni:
Tipo di progetto: ASP.NET Core, Console App, Class Library, ecc.
Versione.NET: versione .NET Core rilevata
Framework di accesso ai dati: versione Entity Framework o ADO.NET
Connessioni al database: numero di stringhe di connessione trovate
Complessità del codice: valutazione della complessità della trasformazione
Mappa delle dipendenze:
Rappresentazione visiva delle relazioni tra applicazioni e database
Cross-database dipendenze
componenti condivisi
Comprendere la valutazione della complessità
AWS Transform classifica la modernizzazione in tre categorie:
| Complessità | Caratteristiche | Risultato previsto |
|---|---|---|
| Basso (classe A) | Modelli SQL standard (ANSI SQL), procedure memorizzate semplici, tipi di dati di base, Entity Framework con configurazioni standard | Intervento umano minimo previsto, elevata percentuale di successo nell'automazione |
| Medio (classe B) | T-SQL Modelli avanzati, procedure memorizzate complesse con logica aziendale, funzioni definite dall'utente, colonne calcolate | È richiesto un intervento umano, si consiglia la revisione di un esperto |
| Alta (classe C) | Assemblaggi CLR, server collegati, Service Broker, ricerca complessa in tutto il testo | È necessario un significativo refactoring umano, si consideri un approccio graduale |
Report di valutazione
AWS Transform genera un rapporto di valutazione dettagliato che include:
Riepilogo esecutivo con panoramica di alto livello
Inventario completo del database
Inventario delle applicazioni
Percentuale di preparazione alla trasformazione
Stima dello sforzo
Strategie di valutazione e mitigazione del rischio
Approccio consigliato
Puoi scaricare il rapporto di valutazione per la revisione offline e la condivisione con le parti interessate.
Fase 7: Generazione e revisione del piano ondulatorio
Per aree di grandi dimensioni con più database e applicazioni, AWS Transform genera un piano d'ondata che sequenzia la modernizzazione in gruppi logici.
Cos'è un piano d'onda?
Un piano ondulatorio organizza la modernizzazione in fasi (ondate) basate su:
Dipendenze tra database e applicazioni
Priorità aziendali
Tolleranza al rischio
Disponibilità delle risorse
Complessità tecnica
Ogni ondata contiene un gruppo di database e applicazioni che possono essere modernizzati insieme senza interrompere le dipendenze.
Rivedi il piano d'ondata
Vai alla pianificazione Wave nel piano di lavoro
Esamina le ondate proposte
Per ogni ondata, rivedi:
Database inclusi
Applicazioni incluse
Dipendenze da altre onde
Tempo di trasformazione stimato
Livello di complessità
Applicazioni implementabili
Personalizza il piano d'ondata
Puoi personalizzare il piano tariffario per adattarlo alle tue esigenze aziendali in 2 modi:
Utilizzando JSON:
Scegli Scarica tutte le onde per ottenere un file JSON con tutte le onde
Modifica le onde in JSON tramite:
Spostamento dei database tra le ondate
Suddivisione delle onde in gruppi più piccoli
Unire le onde
Modifica della sequenza d'onda
Aggiungere o rimuovere database dall'ambito
Carica nuovamente il file JSON sulla console scegliendo Upload wave plan
AWS Transform convalida le modifiche e avvisa se le dipendenze vengono violate
Scegli Confirm waves per aggiornare il piano d'ondata
Usare la chat:
Puoi modificare i piani d'onda chattando con l'agente e chiedendogli di spostare i repository e i database su ondate specifiche. Questo approccio funziona bene se è necessario apportare modifiche minori alle onde.
Importante
Assicurati che le dipendenze siano rispettate durante la personalizzazione delle onde. La trasformazione di un'applicazione dipendente prima del relativo database può causare problemi.
Modernizzazione di un singolo database
Se stai modernizzando un singolo database e un'unica applicazione, AWS Transform crea un piano semplice in un'unica fase. Puoi procedere direttamente alla trasformazione senza una pianificazione ondata.
Approva il piano ondulatorio
Dopo aver esaminato e personalizzato (se necessario), scegli Approva il piano ondulatorio
AWS Transform blocca il piano d'onda e procede alla trasformazione
Puoi comunque modificare il piano in un secondo momento scegliendo Modifica piano ondulatorio
Fase 8: Conversione dello schema
AWS Transform converte lo schema del database SQL Server in Aurora PostgreSQL, incluse tabelle, viste, stored procedure, funzioni e trigger.
Come funziona la conversione dello schema
AWS Transform utilizza la conversione dello schema AWS DMS migliorata con l'intelligenza artificiale generativa per:
Analizza gli schemi e le relazioni di SQL Server
Mappa i tipi di dati da SQL Server agli equivalenti di PostgreSQL
Trasforma in T-SQL PL/pgSQL
Gestisci colonne di identità, colonne calcolate e vincoli
Convalida la conversione e l'integrità referenziale
Genera azioni per oggetti che richiedono la revisione umana
Conversioni supportate
Convertito automaticamente:
Tabelle, viste e indici
Chiavi primarie e chiavi esterne
Controlla i vincoli e i valori predefiniti
I tipi di dati più comuni
Procedure memorizzate semplici
Funzioni e trigger di base
Colonne di identità (convertite in SERIAL o GENERATED)
Colonne più calcolate
Potrebbe richiedere una revisione umana:
Procedure memorizzate complesse con funzionalità avanzate T-SQL
Server-specific Funzioni SQL (GETUTCDATE, SUSER_SNAME, ecc.)
Colonne calcolate con espressioni complesse
Full-text indici di ricerca
operazioni sui tipi di dati XML
Tipo di dati HIERARCHYID (richiede l'estensione ltree)
Non convertito automaticamente:
assiemi CLR
Server collegati
Service Broker
Lavori di SQL Server Agent
Avvia la conversione dello schema
Vai alla conversione dello schema nel piano di lavoro
Rivedi le impostazioni di conversione:
Versione Target PostgreSQL
Opzioni di estensione (ltree, PostGIS, ecc.)
Convenzioni di denominazione
Scegli Avvia conversione
Monitora i progressi nel registro di lavoro
La conversione richiede in genere 10-30 minuti a seconda del numero di oggetti del database
Rivedi i risultati della conversione
Al termine della conversione, vai a Rivedi la conversione dello schema:
Riepilogo della conversione:
Oggetti convertiti: numero di oggetti convertiti con successo
Oggetti d'azione: oggetti che richiedono l'attenzione umana
Avvertenze: potenziali problemi da esaminare
Errori: oggetti che non possono essere convertiti
Revisione per tipo di oggetto:
Tabelle: mappature dei tipi di dati, vincoli, indici
T-SQL PL/pgSQL Procedure memorizzate: alla conversione
Funzioni: firma delle funzioni e modifiche logiche
Trigger: attiva modifiche alla sintassi e alla tempistica
Rivedi gli elementi di azione
Scegli Visualizza azioni
Per ogni azione, esamina:
Nome dell'oggetto: l'oggetto del database
Tipo di problema: cosa richiede attenzione
Gravità: Critico, Avviso o Informazioni
Raccomandazione: risoluzione consigliata
Codice originale: versione SQL Server
Codice convertito: versione PostgreSQL
Per ogni azione, puoi:
Accetta: utilizza il codice convertito
Modifica: modifica il codice convertito
Contrassegna per dopo: Contrassegna per la revisione umana dopo la trasformazione
Esempio: conversione della procedura memorizzata
SQL Server 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 convertito:
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;
Modifiche apportate:
Procedura convertita in funzione che restituisce TABLE
Nomi dei parametri preceduti da p_
TOP convertito in LIMIT
DATEDIFF convertito in EXTRACT
GETUTCDATE () convertito in NOW ()
Nomi di colonna convertiti in lettere minuscole (convenzione PostgreSQL)
Approva la conversione dello schema
Dopo aver esaminato tutte le azioni e aver apportato le modifiche necessarie
Scegli Approva la conversione dello schema
AWS Transform prepara lo schema convertito per la distribuzione in Aurora PostgreSQL
Nota
È possibile scaricare lo schema convertito come script SQL per la revisione offline o il controllo della versione.
Fase 9: Migrazione dei dati (opzionale)
AWS Transform offre opzioni per la migrazione dei dati da SQL Server ad Aurora PostgreSQL. La migrazione dei dati è facoltativa e può essere ignorata se è necessaria solo la trasformazione dello schema e del codice.
Opzioni di migrazione dei dati
Opzione 1: migrazione dei dati di produzione
Migra i dati di produzione effettivi utilizzando AWS DMS:
Caricamento iniziale completo di tutti i dati
Replica continua durante i test (CDC)
Riduzione minima dei tempi di inattività
Convalida dei dati e controlli di integrità
Opzione 2: ignora la migrazione dei dati
Trasforma solo schema e codice:
Utile per development/testing gli ambienti
Quando i dati verranno migrati separatamente
Per progetti di prototipazione
Configura la migrazione dei dati
Passa alla migrazione dei dati nel piano di lavoro
Scegli la tua opzione di migrazione:
Migra i dati di produzione
Salta la migrazione dei dati
Se stai migrando i dati di produzione, configura:
Tipo di migrazione: Full load o Full load + CDC
Convalida: abilita la convalida dei dati
Prestazioni: dimensione dell'istanza DMS
-
Scegli >Avvia migrazione
Processo di migrazione dei dati di produzione
Se scegli di migrare i dati di produzione:
Sincronizzazione iniziale: AWS DMS esegue il caricamento completo di tutte le tabelle
Replica continua: (se CDC abilitato) Mantiene i dati sincronizzati
Convalida: verifica il numero di righe e l'integrità dei dati
Preparazione del cutover: si prepara per la sincronizzazione finale
Cronologia della migrazione:
Database di piccole dimensioni (< 10 GB): 30 minuti - 2 ore
Database di medie dimensioni (10-100 GB): 2-8 ore
Database di grandi dimensioni (> 100 GB): più di 8 ore
Convalida dei dati
AWS Transform convalida i dati migrati con i seguenti controlli:
Confronto del numero di righe (origine e destinazione)
Integrità della chiave primaria
Relazioni con chiave esterna
Compatibilità dei tipi di dati
Risultati calcolati delle colonne
Gestione dei valori nulli
Fase 10: trasformazione del codice dell'applicazione
AWS Transform trasforma il codice dell'applicazione.NET per utilizzarlo con Aurora PostgreSQL anziché con SQL Server. Richiede il nome del ramo di destinazione nei repository per eseguire il commit del codice sorgente trasformato. Dopo aver inserito il nome del ramo, AWS Transform creerà un nuovo ramo e avvierà la trasformazione in modo che corrisponda al database PostgreSQL.
Cosa viene trasformato
Modifiche al framework delle entità:
Fornitore di database: UseSqlServer () → UseNpgsql ()
Stringhe di connessione: formato SQL Server → formato PostgreSQL
Mappature dei tipi di dati: tipi di SQL Server → tipi PostgreSQL
DbContext configurazioni Server-specific : SQL → PostgreSQL-specific
File di migrazione: aggiornati per la compatibilità con PostgreSQL
ADO.NET Modifiche:
Classi di connessione: SqlConnection → NpgsqlConnection
Classi di comando: SqlCommand → NpgsqlCommand
Lettore di dati: SqlDataReader → NpgsqlDataReader
Parametri: SqlParameter → NpgsqlParameter
Sintassi SQL: T-SQL → PostgreSQL SQL
Modifiche alla configurazione:
Stringhe di connessione in appsettings.json
Pacchetti NuGet per fornitori di database
Configurazioni di iniezione delle dipendenze
Startup/Program.cs configurazioni
Inizia la trasformazione del codice
Passa alla trasformazione delle applicazioni nel piano di lavoro
Rivedi le impostazioni di trasformazione:
Versione.NET di destinazione (in caso di aggiornamento)
Versione del provider PostgreSQL
Preferenze di stile del codice
Scegli Avvia trasformazione
Monitora i progressi nel registro di lavoro
La trasformazione richiede in genere 15-45 minuti a seconda della dimensione della codebase
Fase 11: Rivedere i risultati della trasformazione
Prima di procedere all'implementazione, esamina i risultati completi della trasformazione per assicurarti che tutto sia pronto per il test.
Puoi scaricare il codice trasformato dal ramo del repository per:
Test e convalida locali
Revisione del codice nel tuo IDE
Integrazione con la tua CI/CD pipeline
Impegno al controllo della versione
Puoi anche scaricare il riepilogo della trasformazione per esaminare le modifiche al linguaggio naturale apportate da AWS Transform come parte della trasformazione.
Riepilogo della trasformazione
Vai al riepilogo della trasformazione nel piano di lavoro
Esamina i risultati complessivi:
Conversione dello schema: oggetti convertiti, azioni, avvisi
Migrazione dei dati: tabelle migrate, righe trasferite, stato di convalida
Trasformazione del codice: file modificati, righe modificate, problemi risolti
Punteggio di preparazione: preparazione complessiva per l'implementazione
Genera un rapporto sulla trasformazione
AWS Transform genera un rapporto di trasformazione completo:
Scegli Genera rapporto
Seleziona il tipo di rapporto:
Sintesi: High-level panoramica per le parti interessate
Dettagli tecnici: documentazione completa sulla trasformazione
Elementi d'azione: elenco delle attività umane richieste
Scegli Scarica rapporto
Il rapporto include:
Ambito e obiettivi della trasformazione
Oggetti e codice trasformati
Problemi riscontrati e soluzioni
Risultati della convalida
Valutazione della preparazione all'implementazione
Raccomandazioni per i test
Fase 12: Validazione e test
Prima di passare alla produzione, verifica che l'applicazione trasformata funzioni correttamente con Aurora PostgreSQL.
Tipi di convalida
Convalida automatizzata: AWS Transform esegue controlli automatici:
Convalida dello schema rispetto al database di origine
Verifica dell'integrità dei dati
Test di equivalenza delle query
Convalida della stringa di connessione
Convalida della configurazione
Validazione umana: è necessario eseguire test aggiuntivi:
Test funzionali delle funzionalità dell'applicazione
Test di integrazione con altri sistemi
Test e benchmarking delle prestazioni
Test di accettazione da parte degli utenti
Test di sicurezza
Esegui la convalida automatica
Vai alla convalida nel piano di lavoro
Scegli Esegui convalida
AWS Transform esegue i test di convalida:
Connettività al database
Compatibilità dello schema
Integrità dei dati
Creazione di applicazioni
Funzionalità di base
Rivedi i risultati della convalida:
Superati: test che hanno avuto esito positivo
Non riuscito: test che richiedono attenzione
Avvertenze: potenziali problemi da esaminare
Lista di controllo per i test
Funzionalità del database:
Tutte le tabelle accessibili
Le procedure memorizzate vengono eseguite correttamente
Le funzioni restituiscono i risultati attesi
I trigger si attivano in modo appropriato
Vincoli applicati correttamente
Gli indici migliorano le prestazioni delle query
Funzionalità dell'applicazione:
L'applicazione viene avviata correttamente
Connessioni al database stabilite
Le operazioni CRUD funzionano correttamente
Le chiamate di procedura memorizzata hanno esito positivo
Transazioni commit/rollback corrette
La gestione degli errori funziona come previsto
Integrità dei dati:
Il conteggio delle righe corrisponde alla fonte
Chiavi primarie uniche
Chiavi esterne valide
Le colonne calcolate sono corrette
Gestione nulla appropriata
Tipi di dati compatibili
Prestazioni:
Tempi di risposta alle interrogazioni accettabili
Pool di connessioni configurato
Indici ottimizzati
Nessun problema di interrogazione N+1
Operazioni in batch efficienti
Utilizzo delle risorse ragionevole
Fase 13: Implementazione
Dopo una convalida riuscita, distribuisci l'applicazione e il database modernizzati in produzione.
Opzioni di implementazione
Amazon ECS e Amazon EC2 Linux
Pre-deployment lista di controllo
Prima della distribuzione in produzione:
Tutti i test di convalida sono stati superati
Test delle prestazioni completati
Revisione della sicurezza completata
Piano di backup e rollback documentato
Monitoraggio e avvisi configurati
Team formato sul nuovo ambiente
Le parti interessate sono state informate dell'implementazione
Finestra di manutenzione pianificata
Esegui la distribuzione su Amazon ECS
Passa a Deployment nel piano di lavoro
Scegli Deploy to ECS
Configura le impostazioni di distribuzione:
Cluster: seleziona o crea un cluster ECS
Servizio: configura il servizio ECS
Definizione dell'attività: rivedi la definizione dell'attività generata
Load balancer: configura ALB/NLB
Auto-scaling: Imposta le politiche di scalabilità
Rivedi l'infrastruttura come codice (modello o codice CDK) CloudFormation AWS
Scegli Deploy
Monitora l'implementazione
AWS Transform implementa la tua applicazione:
Crea un cluster Aurora PostgreSQL
Applica lo schema del database
Carica i dati (se applicabile)
Implementa contenitori di applicazioni
Configura il bilanciamento del carico
Imposta l'auto-scaling
Monitora l'avanzamento dell'implementazione e verifica:
Fornitura dell'infrastruttura
Inizializzazione del database
Distribuzione delle applicazioni
Superamento dei controlli sanitari
Applicazione accessibile
Connessioni al database funzionanti
Registri che mostrano il normale funzionamento
Post-deployment convalida
Dopo la distribuzione:
Analisi del fumo:
Verifica delle funzionalità critiche
Testa i flussi di lavoro chiave degli utenti
Verifica i punti di integrazione
Monitora i tassi di errore
Monitoraggio delle prestazioni:
Tieni traccia dei tempi di risposta
Monitora le interrogazioni del database
Controlla l'utilizzo delle risorse
Rivedi i registri delle applicazioni
Convalida utente:
Condurre test di accettazione da parte degli utenti
Raccogli feedback
Risolvi eventuali problemi
Documenta le lezioni apprese
Procedure di rollback
Se sorgono problemi dopo la distribuzione:
Rollback immediato:
Torna alla versione precedente dell'applicazione
Torna a SQL Server (se ancora disponibile)
Eseguire il ripristino dal backup, se necessario
Rollback parziale:
Ripristina componenti specifici
Mantieni le modifiche al database
Ripristina solo il codice dell'applicazione
Correzione avanzata:
Applica l'hotfix alla versione Aurora PostgreSQL
Implementa codice applicativo aggiornato
Monitora la risoluzione
Importante
Mantieni disponibile il database SQL Server per un periodo dopo il cutover per abilitare il rollback, se necessario.
Post-deployment ottimizzazione
Dopo una corretta implementazione:
Ottimizzazione delle prestazioni:
Ottimizza le query lente
Modifica le impostazioni del pool di connessioni
Fine-tune Parametri Aurora PostgreSQL
Rivedi e ottimizza gli indici
Ottimizzazione dei costi:
Right-size Istanza Aurora
Configurare l'auto-scaling in modo appropriato
Rivedi le impostazioni di archiviazione
Ottimizza la conservazione dei backup
Configurazione del monitoraggio:
Configurare i CloudWatch dashboard
Configura gli avvisi
Enable Enhanced Monitoring (Abilita il monitoraggio avanzato)
Configurare Performance Insights
Documentazione:
Aggiorna i runbook
Modifiche all'architettura del documento
Squadra operativa dei treni
Crea guide per la risoluzione dei problemi