Utilizzo di un database Microsoft SQL Server come origine per AWS DMS - AWS Servizio di migrazione del Database

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à.

Utilizzo di un database Microsoft SQL Server come origine per AWS DMS

Esegui la migrazione dei dati da uno o più database di Microsoft SQL Server utilizzando AWS DMS. Con un database SQL Server come origine, è possibile migrare i dati verso un altro database SQL Server o verso uno degli altri database AWS DMS supportati.

Per informazioni sulle versioni di SQL Server AWS DMS supportate come origine, consultaFonti per AWS DMS.

Il database SQL del server di origine può essere installato su qualsiasi computer della rete. È necessario utilizzare un account SQL Server con i privilegi di accesso appropriati al database di origine per il tipo di attività scelto. AWS DMS Per ulteriori informazioni, consulta Autorizzazioni per le attività del server SQL.

AWS DMS supporta la migrazione dei dati da istanze denominate di Server. SQL È possibile usare la seguente notazione nel nome del server al momento della creazione dell'endpoint di origine.

IPAddress\InstanceName

Ad esempio, il seguente è un nome corretto di server di endpoint di origine. Qui, la prima parte del nome è l'indirizzo IP del server e la seconda parte è il nome dell'istanza del SQL server (in questo esempio,SQLTest).

10.0.0.25\SQLTest

Inoltre, ottieni il numero di porta su cui è in ascolto l'istanza denominata di SQL Server e usalo per configurare l'endpoint di AWS DMS origine.

Nota

La porta 1433 è l'impostazione predefinita per Microsoft SQL Server. Tuttavia, vengono spesso utilizzate anche porte dinamiche che cambiano ogni volta che il SQL Server viene avviato e numeri di porta statici specifici utilizzati per connettersi al SQL Server tramite un firewall. Quindi, vuoi conoscere il numero di porta effettivo dell'istanza denominata di SQL Server quando crei l'endpoint di AWS DMS origine.

È possibile utilizzarlo SSL per crittografare le connessioni tra l'endpoint SQL Server e l'istanza di replica. Per ulteriori informazioni sull'utilizzo SSL con un endpoint SQL Server, consulta. Utilizzo con SSL AWS Database Migration Service

È possibile utilizzarlo CDC per la migrazione continua da un database SQL Server. Per informazioni sulla configurazione del database SQL del server di origine perCDC, consultaAcquisizione delle modifiche ai dati per la replica continua dal server SQL.

Per ulteriori dettagli sull'utilizzo dei database di origine SQL del server e AWS DMS, vedere quanto segue.

Limitazioni all'utilizzo SQL del server come fonte per AWS DMS

Le seguenti limitazioni si applicano quando si utilizza un database SQL Server come origine per AWS DMS:

  • La proprietà di identità di una colonna non viene migrata a una colonna del database di destinazione.

  • L'endpoint SQL Server non supporta l'uso di tabelle con colonne sparse.

  • L'autenticazione Windows non è supportata.

  • Le modifiche ai campi calcolati in un SQL Server non vengono replicate.

  • Le tabelle temporali non sono supportate.

  • SQLIl cambio di partizione del server non è supportato.

  • Quando si utilizzano le UPDATETEXT utilità WRITETEXT and, AWS DMS non acquisisce gli eventi applicati al database di origine.

  • Il seguente modello di linguaggio di manipolazione dei dati (DML) non è supportato.

    SELECT * INTO new_table FROM existing_table
  • Quando si utilizza SQL Server come origine, la crittografia a livello di colonna non è supportata.

  • AWS DMS non supporta gli audit a livello di server su SQL Server 2008 o SQL Server 2008 R2 come sorgenti. Ciò è dovuto a un problema noto con SQL Server 2008 e 2008 R2. Ad esempio, l'esecuzione del comando seguente AWS DMS causa un errore.

    USE [master] GO ALTER SERVER AUDIT [my_audit_test-20140710] WITH (STATE=on) GO
  • Le colonne geometriche non sono supportate in modalità full lob quando si utilizza SQL Server come sorgente. Utilizza invece la modalità LOB limitata o definisci le impostazioni dell'attività InlineLobMaxSize per utilizzare la modalità LOB in linea.

  • Quando si utilizza un database di origine di Microsoft SQL Server in un'attività di replica, le definizioni di SQL Server Replication Publisher non vengono rimosse se si rimuove l'attività. Un amministratore di sistema di Microsoft SQL Server deve eliminare tali definizioni da Microsoft SQL Server.

  • La migrazione dei dati da schemi e non-schema-bound visualizzazioni è supportata solo per le attività a pieno carico.

  • La ridenominazione delle tabelle utilizzando sp_rename non è supportata (ad esempio, sp_rename 'Sales.SalesRegion', 'SalesReg;)

  • La ridenominazione delle colonne utilizzando sp_rename non è supportata (ad esempio, sp_rename 'Sales.Sales.Region', 'RegID', 'COLUMN';)

  • AWS DMS non supporta l'elaborazione delle modifiche per impostare e annullare i valori predefiniti delle colonne (utilizzando la clausola con le ALTER COLUMN SET DEFAULT istruzioni). ALTER TABLE

  • AWS DMS non supporta l'elaborazione delle modifiche per impostare l'annullabilità delle colonne (utilizzando la ALTER COLUMN [SET|DROP] NOT NULL clausola con le istruzioni). ALTER TABLE

  • Con SQL Server 2012 e SQL Server 2014, quando si utilizza la DMS replica con i gruppi di disponibilità, il database di distribuzione non può essere inserito in un gruppo di disponibilità. SQLIl 2016 supporta l'inserimento del database di distribuzione in un gruppo di disponibilità, ad eccezione dei database di distribuzione utilizzati nelle topologie di fusione, bidirezionali o di replica. peer-to-peer

  • Per le tabelle partizionate, AWS DMS non supporta impostazioni di compressione dei dati diverse per ogni partizione.

  • Quando si inserisce un valore nei tipi di dati spaziali SQL del Server (GEOGRAPHYandGEOMETRY), è possibile ignorare la proprietà Spatial Reference System Identifier (SRID) o specificare un numero diverso. Quando si replicano tabelle con tipi di dati spaziali, AWS DMS sostituisce il valore predefinito SRID (0 per e SRID 4326 per). GEOMETRY GEOGRAPHY

  • Se il database non è configurato per MS- REPLICATION o MS-CDC, è comunque possibile acquisire tabelle che non hanno una chiave primaria, ma vengono acquisiti solo INSERT DELETE DML /eventi. UPDATEe TRUNCATE TABLE gli eventi vengono ignorati.

  • Gli indici Columnstore non sono supportati.

  • Le tabelle ottimizzate per la memoria (che utilizzano In-MemoryOLTP) non sono supportate.

  • Quando si replica una tabella con una chiave primaria costituita da più colonne, l'aggiornamento delle colonne Chiave primaria durante il pieno carico non è supportato.

  • La durata ritardata non è supportata.

  • L'impostazione dell'readBackupOnly=Yendpoint (attributo di connessione aggiuntivo) non funziona RDS per le istanze di origine SQL del server a causa del modo in cui esegue i backup. RDS

  • EXCLUSIVE_AUTOMATIC_TRUNCATIONnon funziona sulle istanze di origine di Amazon RDS SQL Server perché RDS gli utenti non hanno accesso per eseguire la stored procedure del SQL Server,sp_repldone.

  • AWS DMS non acquisisce i comandi truncate.

  • AWS DMS non supporta la replica da database con accelerated database recovery () ADR attivata.

  • AWS DMS non supporta l'acquisizione di istruzioni Data Definition Language (DDL) e Data Manipulation Language (DML) all'interno di una singola transazione.

  • AWS DMS non supporta la replica di pacchetti applicativi a livello di dati (). DACPAC

  • UPDATEle istruzioni che coinvolgono chiavi primarie o indici univoci e aggiornano più righe di dati possono causare conflitti quando si applicano modifiche al database di destinazione. Ciò potrebbe accadere, ad esempio, quando il database di destinazione applica gli aggiornamenti come DELETE istruzioni INSERT and anziché una singola UPDATE istruzione. Con la modalità di applicazione ottimizzata in batch, la tabella può essere ignorata. Con la modalità di applicazione transazionale, l'UPDATEoperazione potrebbe comportare violazioni dei vincoli. Per evitare questo problema, ricarica la tabella pertinente. In alternativa, individua i record problematici nella tabella di controllo Applica eccezioni (dmslogs.awsdms_apply_exceptions) e modificali manualmente nel database di destinazione. Per ulteriori informazioni, consulta Impostazioni di ottimizzazione dell'elaborazione delle modifiche.

  • AWS DMS non supporta la replica di tabelle e schemi, in cui il nome include un carattere speciale del set seguente.

    \\ -- \n \" \b \r ' \t ;

  • Il mascheramento dei dati non è supportato. AWS DMS migra i dati mascherati senza mascheramento.

  • AWS DMS replica fino a 32.767 tabelle con chiavi primarie e fino a 1.000 colonne per ogni tabella. Questo perché AWS DMS crea un articolo sulla replica SQL del server per ogni tabella replicata e gli articoli sulla replica SQL del server presentano queste limitazioni.

  • Quando si utilizza Change Data Capture (CDC), è necessario definire tutte le colonne che compongono un indice univoco come. NOT NULL Se questo requisito non viene soddisfatto, si verificherà l'errore di sistema del SQL server 22838.

  • È possibile perdere gli eventi se il SQL Server li archivia dal log delle transazioni attivo al log di backup o li tronca dal log delle transazioni attivo.

Quando si accede ai log delle transazioni di backup si applicano le seguenti limitazioni:

  • I backup crittografati non sono supportati.

  • I backup archiviati in URL o in Windows Azure non sono supportati.

  • AWS DMS non supporta l'elaborazione diretta dei backup dei registri delle transazioni a livello di file da cartelle condivise alternative.

  • Per le fonti di Cloud SQL Server diverse da Amazon RDS for Microsoft SQL Server, AWS DMS supporta la replica continua (CDC) solo con il registro delle transazioni attivo. Non puoi utilizzare il registro di backup conCDC. È possibile perdere gli eventi se il SQL server li archivia dal log delle transazioni attivo al log di backup o li tronca dal log delle transazioni attivo prima di DMS poterlo leggere.

  • Per le sorgenti Amazon RDS for Microsoft SQL Server, la versione AWS DMS 3.5.2 e le versioni precedenti supportano la replica continua (CDC) solo con il registro delle transazioni attivo, poiché non è DMS possibile accedere al registro di backup con. CDC Potresti perdere gli eventi se RDS for SQL Server li archivia dal log delle transazioni attivo al log di backup o li tronca dal log delle transazioni attivo prima di poterlo leggere. DMS Questa limitazione non si applica alla AWS DMS versione 3.5.3 e successive.

Autorizzazioni per le attività del server SQL

Autorizzazioni per attività solo pieno carico

Le seguenti autorizzazioni sono necessarie per eseguire le attività solo pieno carico. Nota che AWS DMS non crea il dms_user login. Per informazioni sulla creazione di un accesso per SQL Server, vedereCreazione di un utente del database con Microsoft SQL Server.

USE db_name; CREATE USER dms_user FOR LOGIN dms_user; ALTER ROLE [db_datareader] ADD MEMBER dms_user; GRANT VIEW DATABASE STATE to dms_user; GRANT VIEW DEFINITION to dms_user; USE master; GRANT VIEW SERVER STATE TO dms_user;

Autorizzazioni per attività con replica continua

Le istanze SQL del server autogestite possono essere configurate per la replica continua DMS con o senza l'utilizzo del ruolo. sysadmin Per le istanze SQL del server, in cui non puoi concedere il sysadmin ruolo, assicurati che l'DMSutente disponga dei privilegi descritti di seguito.

Imposta le autorizzazioni per la replica continua da un database Server autogestito SQL
  1. Crea un nuovo account SQL Server con autenticazione tramite password utilizzando SQL Server Management Studio (SSMS) o come descritto in precedenza, ad esempioAutorizzazioni per attività solo pieno carico,. self_managed_user

  2. Esegui i seguenti GRANT comandi:

    GRANT VIEW SERVER STATE TO self_managed_user; USE MSDB; GRANT SELECT ON MSDB.DBO.BACKUPSET TO self_managed_user; GRANT SELECT ON MSDB.DBO.BACKUPMEDIAFAMILY TO self_managed_user; GRANT SELECT ON MSDB.DBO.BACKUPFILE TO self_managed_user; USE db_name; CREATE USER self_managed_user FOR LOGIN self_managed_user; ALTER ROLE [db_owner] ADD MEMBER self_managed_user; GRANT VIEW DEFINITION to self_managed_user;
  3. Oltre alle autorizzazioni precedenti, l'utente deve disporre di una delle seguenti autorizzazioni:

Imposta le autorizzazioni per la replica continua da un database del server cloud SQL

Un'istanza SQL server ospitata nel cloud è un'istanza in esecuzione su Amazon per RDS Microsoft SQL Server, un'istanza SQL gestita di Azure o qualsiasi altra istanza di SQL server cloud gestita supportata da. DMS

Crea un nuovo account SQL Server con autenticazione tramite password utilizzando SQL Server Management Studio (SSMS) o come descritto in precedenza, ad esempioAutorizzazioni per attività solo pieno carico,. rds_user

Esegui i seguenti comandi per la concessione.

GRANT VIEW SERVER STATE TO rds_user; USE MSDB; GRANT SELECT ON MSDB.DBO.BACKUPSET TO rds_user; GRANT SELECT ON MSDB.DBO.BACKUPMEDIAFAMILY TO rds_user; GRANT SELECT ON MSDB.DBO.BACKUPFILE TO rds_user; USE db_name; CREATE USER rds_user FOR LOGIN rds_user; ALTER ROLE [db_owner] ADD MEMBER rds_user; GRANT VIEW DEFINITION to rds_user;

Per i sorgenti Amazon RDS for Microsoft SQL Server, la DMS versione 3.5.3 e successive supportano la lettura dai backup dei log delle transazioni. Per garantire che DMS sia in grado di accedere ai backup dei log, oltre a quanto sopra, concedi i privilegi master utente o i seguenti privilegi su un'origine Server: RDS SQL

//DMS 3.5.3 version onwards GRANT EXEC ON msdb.dbo.rds_dms_tlog_download TO rds_user; GRANT EXEC ON msdb.dbo.rds_dms_tlog_read TO rds_user; GRANT EXEC ON msdb.dbo.rds_dms_tlog_list_current_lsn TO rds_user; GRANT EXEC ON msdb.dbo.rds_task_status TO rds_user;

Prerequisiti per l'utilizzo della replica in corso () CDC da un'origine Server SQL

Puoi utilizzare la replica continua (modifica, acquisizione dei dati oCDC) per un database SQL Server autogestito in locale o su Amazon EC2 o per un database cloud come Amazon RDS o un'istanza gestita di Microsoft AzureSQL.

I seguenti requisiti si applicano in particolare quando si utilizza la replica continua con un database SQL Server come origine per: AWS DMS

  • SQLIl server deve essere configurato per i backup completi ed è necessario eseguire un backup prima di iniziare a replicare i dati.

  • Il modello di ripristino deve essere impostato su Bulk logged o su Full.

  • SQLIl backup del server su più dischi non è supportato. Se il backup è definito per scrivere il backup del database su più file su dischi diversi, non è AWS DMS possibile leggere i dati e l' AWS DMS operazione ha esito negativo.

  • Per le origini SQL Server autogestite, le definizioni di SQL Server Replication Publisher relative all'origine utilizzata in un'DMSCDCattività non vengono rimosse quando si rimuove l'attività. Un amministratore di sistema del SQL server deve eliminare queste definizioni dal SQL server per le fonti autogestite.

  • DuranteCDC, AWS DMS deve cercare i backup del registro delle transazioni SQL del Server per leggere le modifiche. AWS DMS non supporta i backup dei log delle transazioni SQL del server creati utilizzando software di backup di terze parti che non sono in formato nativo. Per supportare i backup dei log delle transazioni che sono in formato nativo e creati utilizzando software di backup di terze parti, aggiungi l'attributo di connessione use3rdPartyBackupDevice=Y all'endpoint di origine.

  • Per le sorgenti SQL Server autogestite, tenete presente che SQL Server non acquisisce le modifiche alle tabelle appena create finché non sono state pubblicate. Quando le tabelle vengono aggiunte a una fonte SQL Server, AWS DMS gestisce la creazione della pubblicazione. Tuttavia il processo potrebbe richiedere alcuni minuti. Le operazioni effettuate sulle nuove tabelle create durante il ritardo non vengono acquisite o replicate nella destinazione.

  • AWS DMS l'acquisizione dei dati di modifica richiede l'attivazione della registrazione completa delle transazioni nel SQL Server. Per attivare la registrazione completa delle transazioni nel SQL Server, abilita MS- REPLICATION o CHANGE DATA CAPTURE ()CDC.

  • SQLLe voci tlog del server non verranno contrassegnate per il riutilizzo finché il processo di CDC acquisizione di MS non elabora tali modifiche.

  • CDCle operazioni non sono supportate su tabelle ottimizzate per la memoria. Questa limitazione si applica a SQL Server 2014 (quando la funzionalità è stata introdotta per la prima volta) e versioni successive.

  • AWS DMS l'acquisizione dei dati di modifica richiede per impostazione predefinita un database di distribuzione sul SQL server Amazon EC2 o On-Prem come origine. Pertanto assicurati di aver attivato il distributore durante la configurazione della replica MS per tabelle con chiavi primarie.

Metodi di compressione supportati per Server SQL

Tieni presente quanto segue sul supporto per i metodi di compressione SQL Server in AWS DMS:

  • AWS DMS supporta la compressione Row/Page nella versione SQL Server 2008 e successive.

  • AWS DMS non supporta il formato di archiviazione Vardecimal.

  • AWS DMS non supporta colonne sparse e compressione della struttura colonnare.

Utilizzo di gruppi di disponibilità del server SQL autogestiti AlwaysOn

SQLI gruppi di disponibilità Server Always On offrono disponibilità elevata e disaster recovery come alternativa di livello aziendale al mirroring del database.

In AWS DMS, è possibile migrare le modifiche da una singola replica del gruppo di disponibilità primario o secondario.

Utilizzo della replica del gruppo di disponibilità principale

Per utilizzare il gruppo di disponibilità primario come origine in AWS DMS, procedi come segue:
  1. Attiva l'opzione di distribuzione per tutte le istanze SQL del server nelle repliche di disponibilità. Per ulteriori informazioni, consulta Configurazione della replica continua su un server autogestito SQL.

  2. Nella AWS DMS console, apri le impostazioni del database di origine SQL del server. Per Server Name, specifica il nome o l'indirizzo IP del Domain Name Service (DNS) configurato per il tuo listener del gruppo di disponibilità.

Quando si avvia un' AWS DMS attività per la prima volta, l'avvio potrebbe richiedere più tempo del solito. Ciò avviene perché la creazione degli articoli della tabella viene duplicata dal server dei gruppi di disponibilità.

Utilizzo della replica del gruppo di disponibilità secondario

Per utilizzare un gruppo di disponibilità secondario come fonte in AWS DMS, procedi come segue:
  1. Utilizzate le stesse credenziali utilizzate dall'utente dell'endpoint di AWS DMS origine per la connessione a singole repliche.

  2. Assicurati che l'istanza di AWS DMS replica sia in grado di risolvere i DNS nomi di tutte le repliche esistenti e di connettersi ad esse. È possibile utilizzare la seguente SQL query per ottenere DNS i nomi per tutte le repliche.

    select ar.replica_server_name, ar.endpoint_url from sys.availability_replicas ar JOIN sys.availability_databases_cluster adc ON adc.group_id = ar.group_id AND adc.database_name = '<source_database_name>';
  3. Quando crei l'endpoint di origine, specifica il DNS nome del listener del gruppo di disponibilità per il nome del server dell'endpoint o per l'indirizzo Server del segreto dell'endpoint. Per ulteriori informazioni sui listener del gruppo di disponibilità, consulta Cos'è un listener del gruppo di disponibilità? nella documentazione del SQL server.

    È possibile utilizzare un DNS server pubblico o un DNS server locale per risolvere il listener del gruppo di disponibilità, la replica primaria e le repliche secondarie. Per utilizzare un DNS server locale, configura Amazon Route 53 Resolver. Per ulteriori informazioni, consulta Utilizzo del server dei nomi in locale.

  4. Aggiungi i seguenti attributi aggiuntivi di connessione all'endpoint di origine.

    Attributo aggiuntivo di connessione Valore Note
    applicationIntent ReadOnly Senza questa ODBC impostazione, l'attività di replica viene indirizzata alla replica del gruppo di disponibilità principale. Per ulteriori informazioni, vedere SQLServer Native Client Support for High Availability, Disaster Recovery nella documentazione del SQL server.
    multiSubnetFailover yes Per ulteriori informazioni, vedere SQLServer Native Client Support for High Availability, Disaster Recovery nella documentazione del SQL server.
    alwaysOnSharedSynchedBackupIsEnabled false Per ulteriori informazioni, consulta Impostazioni degli endpoint quando si utilizza SQL Server come origine per AWS DMS.
    activateSafeguard false Per ulteriori informazioni, consulta la sezione seguente: Limitazioni.
    setUpMsCdcForTables false Per ulteriori informazioni, consulta la sezione seguente: Limitazioni.
  5. Abilita l'opzione di distribuzione in tutte le repliche del gruppo di disponibilità. Aggiungi tutti i nodi all'elenco dei distributori. Per ulteriori informazioni, consulta Per configurare la distribuzione.

  6. Esegui la seguente query sulla replica principale di lettura/scrittura per abilitare la pubblicazione del database. Questa query viene eseguita una sola volta per il database.

    sp_replicationdboption @dbname = N'<source DB name>', @optname = N'publish', @value = N'true';

Limitazioni

Di seguito sono riportate le limitazioni per l'utilizzo di una replica del gruppo di disponibilità secondario:

  • AWS DMS non supporta Safeguard quando utilizza una replica del gruppo di disponibilità di sola lettura come origine. Per ulteriori informazioni, consulta Impostazioni degli endpoint quando si utilizza SQL Server come origine per AWS DMS.

  • AWS DMS non supporta l'attributo di connessione setUpMsCdcForTables extra quando utilizza una replica del gruppo di disponibilità di sola lettura come origine. Per ulteriori informazioni, consulta Impostazioni degli endpoint quando si utilizza SQL Server come origine per AWS DMS.

  • AWS DMS può utilizzare una replica del gruppo di disponibilità secondario autogestita come database di origine per la replica continua (modifica, acquisizione dei dati oCDC) a partire dalla versione 3.4.7. Le repliche di lettura Multi-AZ di Cloud SQL Server non sono supportate. Se utilizzi versioni precedenti di AWS DMS, assicurati di utilizzare la replica del gruppo di disponibilità principale come database di origine per. CDC

Failover su altri nodi

Se imposti l'attributo di connessione ApplicationIntent aggiuntivo per l'endpoint suReadOnly, l' AWS DMS attività si connette al nodo di sola lettura con la priorità di routing di sola lettura più alta. Quindi esegue il failover su altri nodi di sola lettura del gruppo di disponibilità quando il nodo di sola lettura con la priorità più alta non è disponibile. Se non lo impostiApplicationIntent, l' AWS DMS attività si connette solo al nodo primario (lettura/scrittura) del gruppo di disponibilità.

Impostazioni degli endpoint quando si utilizza SQL Server come origine per AWS DMS

È possibile utilizzare le impostazioni degli endpoint per configurare il database di origine SQL del server in modo simile all'utilizzo di attributi di connessione aggiuntivi. Le impostazioni vengono specificate quando si crea l'endpoint di origine utilizzando la AWS DMS console o utilizzando il create-endpoint comando contenuto in AWS CLI, con la --microsoft-sql-server-settings '{"EndpointSetting": "value", ...}' JSON sintassi.

La tabella seguente mostra le impostazioni dell'endpoint che è possibile utilizzare con SQL Server come origine.

Nome Descrizione

ActivateSafeguard

Questo attributo attiva o disattiva la protezione. Per informazioni sulla protezione, consulta SafeguardPolicy.

Valore predefinito: true

Valori validi: {false, true}

Esempio: '{"ActivateSafeguard": true}'

AlwaysOnSharedSynchedBackupIsEnabled

Questo attributo regola il comportamento AWS DMS durante la migrazione da un database di origine SQL Server ospitato come parte di un cluster di gruppi di disponibilità Always On.

AWS DMS ha migliorato il supporto per i database di origine SQL Server configurati per l'esecuzione in un cluster Always On. In questo caso, AWS DMS tenta di verificare se i backup delle transazioni vengono eseguiti da nodi del cluster Always On diversi dal nodo in cui è ospitata l'istanza del database di origine. All'avvio dell'attività di migrazione, AWS DMS tenta di connettersi a ogni nodo del cluster, ma fallisce se non riesce a connettersi a nessuno dei nodi.

Se devi AWS DMS eseguire il polling di tutti i nodi del cluster Always On per i backup delle transazioni, imposta questo attributo su. false

Valore predefinito: true

Valori validi: true o false

Esempio: '{"AlwaysOnSharedSynchedBackupIsEnabled": false}'

"ApplicationIntent": "readonly"

Questa impostazione dell'attributo del ODBC driver fa sì che SQL Server indirizzi l'attività di replica al nodo di sola lettura con priorità più alta. Senza questa impostazione, SQL Server indirizza l'attività di replica al nodo di lettura/scrittura principale.

EnableNonSysadminWrapper

Utilizza questa impostazione dell'endpoint quando configuri la replica continua su un server autonomo SQL senza un utente sysadmin. Questo parametro è supportato nella versione 3.4.7 e successive AWS DMS . Per informazioni sulla configurazione della replica continua su un server autonomoSQL, vedere. Acquisizione delle modifiche ai dati per la replica continua dal server SQL

Valore predefinito: false

Valori validi: true, false

Esempio: '{"EnableNonSysadminWrapper": true}'

ExecuteTimeout

Utilizzate questo attributo di connessione aggiuntivo (ECA) per impostare il timeout dell'istruzione client per l'istanza del SQL Server, in secondi. Il valore predefinito è 60 secondi.

Esempio: '{"ExecuteTimeout": 100}'

FatalOnSimpleModel

Se impostata sutrue, questa impostazione genera un errore fatale quando il modello di ripristino SQL del database Server è impostato su. simple

Valore predefinito: false

Valori validi: true o false

Esempio: '{"FatalOnSimpleModel": true}'

ForceLobLookup

Forza la LOB ricerca in linea. LOB

Valore predefinito: false

Valori validi: true, false

Esempio: '{"ForceLobLookup": false}'

"MultiSubnetFailover": "Yes"

Questo attributo del ODBC driver aiuta DMS a connettersi al nuovo sistema primario in caso di failover del gruppo di disponibilità. L'attributo è progettato per situazioni in cui la connessione è interrotta o l'indirizzo IP dell'ascoltatore non è corretto. In queste situazioni, AWS DMS tenta di connettersi a tutti gli indirizzi IP associati al listener Availability Group.

ReadBackupOnly

L'uso di questo attributo richiede i privilegi sysadmin. Quando questo attributo è impostato suY, durante la replica in corso AWS DMS legge le modifiche solo dai backup del registro delle transazioni e non legge dal file di registro delle transazioni attivo. L'impostazione di questo parametro su Y consente di controllare l'aumento delle dimensioni del file di log delle transazioni attive durante le attività di caricamento completo e di replica continua. Tuttavia, può aggiungere della latenza di origine alla replica in corso.

Valori validi: N o Y. Il valore predefinito è N.

Esempio: '{"ReadBackupOnly": Y}'

Nota: questo parametro non funziona sulle istanze di origine di Amazon RDS SQL Server a causa del modo in cui RDS esegue i backup.

SafeguardPolicy

Per prestazioni ottimali, AWS DMS cerca di acquisire tutte le modifiche non lette dal registro delle transazioni attivo (). TLOG Tuttavia, a volte a causa del troncamento, il file attivo TLOG potrebbe non contenere tutte le modifiche non lette. In tal caso, AWS DMS accede al backup del registro per acquisire le modifiche mancanti. Per ridurre al minimo la necessità di accedere al backup del registro, AWS DMS impedisce il troncamento utilizzando uno dei seguenti metodi:

  1. RELY_ON_SQL_SERVER_REPLICATION_AGENT(Avvia transazioni nel database): Questa è l'impostazione predefinita per. AWS DMS

    Quando si utilizza questa impostazione, è AWS DMS necessario che il SQL Server Log Reader Agent sia in esecuzione, in modo da AWS DMS poter spostare le transazioni contrassegnate per la replica da quelle attiveTLOG. Si noti che se il Log Reader Agent non è in esecuzione, il file attivo TLOG può diventare pieno, facendo sì che il database di origine passi alla modalità di sola lettura fino alla risoluzione del problema. Se è necessario abilitare Microsoft Replication nel database per uno scopo diverso da AWS DMS, è necessario scegliere questa impostazione.

    Quando si utilizza questa impostazione, AWS DMS riduce al minimo le letture di backup dei log creando una tabella chiamata awsdms_truncation_safeguard e impedisce il TLOG troncamento imitando una transazione aperta nel database. In questo modo si evita che il database tronchi gli eventi e li sposti nel log di backup per cinque minuti (per impostazione predefinita). Assicurati che la tabella non sia inclusa in nessun piano di manutenzione, poiché potrebbe causare l'esito negativo del processo di manutenzione. È possibile eliminare la tabella in modo sicuro se non ci sono attività configurate con l'opzione di database Start Transactions.

  2. EXCLUSIVE_AUTOMATIC_TRUNCATION(Utilizzabile esclusivamente sp_repldone con una singola attività): quando si utilizza questa impostazione, AWS DMS ha il pieno controllo del processo dell'agente di replica che contrassegna le voci di registro come utilizzate. ready for truncation sp_repldone Con questa impostazione, AWS DMS non utilizza una transazione fittizia come con l'impostazione RELY_ON_SQL_SERVER_REPLICATION_AGENT (predefinita). È possibile utilizzare questa impostazione solo quando MS Replication non viene utilizzato per scopi diversi dal database AWS DMS di origine. Inoltre, quando si utilizza questa impostazione, solo un' AWS DMS attività può accedere al database. Se è necessario eseguire AWS DMS attività parallele sullo stesso database, utilizzareRELY_ON_SQL_SERVER_REPLICATION_AGENT.

    • Questa impostazione richiede che l'agente di lettura log sia arrestato nel database. Se il Log Reader Agent è in esecuzione all'avvio dell' AWS DMS attività, quest'ultima ne forzerà l'interruzione. In alternativa, è possibile arrestare l'agente di lettura log manualmente prima di iniziare l'attività.

    • Quando si utilizza questo metodo con MS-CDC, è necessario interrompere e disabilitare i job MS- CDC capture e MS- CDC cleanup.

    • Non è possibile utilizzare questa impostazione quando il processo di migrazione di Microsoft SQL Server viene eseguito su un computer Distributor remoto, poiché AWS DMS non ha accesso al computer remoto.

    • EXCLUSIVE_AUTOMATIC_TRUNCATIONnon funziona sulle istanze di origine di Amazon RDS for SQL Server perché RDS gli utenti Amazon non hanno accesso per eseguire la sp_repldone stored procedure.

    • Se imposti SafeguardPolicy su EXCLUSIVE_AUTOMATIC_TRUNCATION senza utilizzare il ruolo sysadmin, devi concedere le autorizzazioni per gli oggetti dbo.syscategories e dbo.sysjobs all'utente dmsuser.

Valore predefinito: RELY_ON_SQL_SERVER_REPLICATION_AGENT

Valori validi: {EXCLUSIVE_AUTOMATIC_TRUNCATION, RELY_ON_SQL_SERVER_REPLICATION_AGENT}

Esempio: '{"SafeguardPolicy": "EXCLUSIVE_AUTOMATIC_TRUNCATION"}'

SetUpMsCdcForTables

Questo attributo attiva MS- CDC per il database di origine e per le tabelle nella mappatura delle attività che non hanno la replica MS abilitata. L'impostazione di questo valore su true esegue la stored procedure sp_cdc_enable_db sul database di origine ed esegue la stored procedure sp_cdc_enable_table su ogni tabella dell'attività in cui non è abilitata la replica MS nel database di origine. Per ulteriori informazioni sull'attivazione della distribuzione, consulta Configurazione della replica continua su un server autogestito SQL.

Valori validi: {true, false}

Esempio: '{"SetUpMsCdcForTables": true}'

TlogAccessMode

Indica la modalità utilizzata per recuperare i dati. CDC

Valore predefinito: PreferTlog

Valori validi: BackupOnly, PreferBackup, PreferTlog, TlogOnly

Esempio: '{"TlogAccessMode": "PreferTlog"}'

Use3rdPartyBackupDevice

Quando questo attributo è impostato su Y, AWS DMS elabora i backup dei log delle transazioni di terze parti se sono stati creati in formato nativo.

Tipi di dati di origine per Server SQL

La migrazione dei dati che utilizza SQL Server come origine AWS DMS supporta la maggior parte dei tipi di dati SQL Server. La tabella seguente mostra i tipi di dati di origine del SQL server supportati durante l'utilizzo AWS DMS e la mappatura predefinita AWS DMS dei tipi di dati.

Per informazioni su come visualizzare il tipo di dati mappato nella destinazione, consulta la sezione relativa all'endpoint di destinazione che stai utilizzando.

Per ulteriori informazioni sui tipi di AWS DMS dati, vedereTipi di dati per AWS Database Migration Service.

SQLTipi di dati del server

AWS DMS tipi di dati

BIGINT

INT8

BIT

BOOLEAN

DECIMAL

NUMERIC

INT

INT4

MONEY

NUMERIC

NUMERIC(p, s)

NUMERIC

SMALLINT

INT2

SMALLMONEY

NUMERIC

TINYINT

UINT1

REAL

REAL4

FLOAT

REAL8

DATETIME

DATETIME

DATETIME2(SQLServer 2008 e versioni successive)

DATETIME

SMALLDATETIME

DATETIME

DATE

DATE

TIME

TIME

DATETIMEOFFSET

WSTRING

CHAR

STRING

VARCHAR

STRING

VARCHAR(massimo)

CLOB

TEXT

Per utilizzare questo tipo di dati con AWS DMS, è necessario abilitare l'uso dei tipi di CLOB dati per un'attività specifica.

Per le tabelle SQL Server, AWS DMS aggiorna LOB le colonne nella destinazione anche per UPDATE le istruzioni che non modificano il valore della LOB colonna in SQL Server.

DuringCDC, AWS DMS supporta CLOB i tipi di dati solo nelle tabelle che includono una chiave primaria.

NCHAR

WSTRING

NVARCHAR(lunghezza)

WSTRING

NVARCHAR(massimo)

NCLOB

NTEXT

Per utilizzare questo tipo di dati con AWS DMS, è necessario abilitare l'uso di SupportLobs per un'attività specifica. Per ulteriori informazioni sull'abilitazione del supporto LOB, consulta Impostazione del LOB supporto per i database di origine in un' AWS DMS attività.

Per le tabelle SQL Server, AWS DMS aggiorna LOB le colonne nella destinazione anche per UPDATE le istruzioni che non modificano il valore della LOB colonna in SQL Server.

DuringCDC, AWS DMS supporta CLOB i tipi di dati solo nelle tabelle che includono una chiave primaria.

BINARY

BYTES

VARBINARY

BYTES

VARBINARY(massimo)

BLOB

IMAGE

Per le tabelle SQL Server, AWS DMS aggiorna LOB le colonne nella destinazione anche per UPDATE le istruzioni che non modificano il valore della LOB colonna in SQL Server.

Per utilizzare questo tipo di dati con AWS DMS, è necessario abilitare l'uso dei tipi di BLOB dati per un'attività specifica.

AWS DMS supporta BLOB i tipi di dati solo nelle tabelle che includono una chiave primaria.

TIMESTAMP

BYTES

UNIQUEIDENTIFIER

STRING

HIERARCHYID

Da utilizzare per HIERARCHYID la replica su un endpoint di destinazione SQL del server.

Utilizzare WSTRING (250) per la replica su tutti gli altri endpoint di destinazione.

XML

NCLOB

Per le tabelle SQL Server, AWS DMS aggiorna LOB le colonne nella destinazione anche per UPDATE le istruzioni che non modificano il valore della LOB colonna in SQL Server.

Per utilizzare questo tipo di dati con AWS DMS, è necessario abilitare l'uso dei tipi di NCLOB dati per un'attività specifica.

DuringCDC, AWS DMS supporta NCLOB i tipi di dati solo nelle tabelle che includono una chiave primaria.

GEOMETRY

GEOMETRYDa utilizzare per la replica su endpoint di destinazione che supportano questo tipo di dati.

CLOBDa utilizzare per la replica su endpoint di destinazione che non supportano questo tipo di dati.

GEOGRAPHY

Da utilizzare per GEOGRAPHY la replica su endpoint di destinazione che supportano questo tipo di dati.

CLOBDa utilizzare per la replica su endpoint di destinazione che non supportano questo tipo di dati.

AWS DMS non supporta tabelle che includono campi con i seguenti tipi di dati.

  • CURSOR

  • SQL_VARIANT

  • TABLE

Nota

I tipi di dati definiti dall'utente sono supportati secondo il tipo di base. Ad esempio, un tipo di dati definito dall'utente basato su DATETIME viene gestito come tipo di DATETIME dati.