Utilizzo di un database Microsoft SQL Server come destinazione per AWS Database Migration Service - 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 destinazione per AWS Database Migration Service

È possibile migrare i dati nei database di Microsoft SQL Server utilizzando AWS DMS. Con un database SQL Server come destinazione, puoi eseguire la migrazione dei dati da un altro database SQL Server o da uno degli altri database supportati.

Per informazioni sulle versioni di SQL Server AWS DMS supportate come destinazione, vedereObiettivi per AWS DMS.

AWS DMS supporta le edizioni locali e Amazon RDS di Enterprise, Standard, Workgroup e Developer.

Per ulteriori dettagli sull'utilizzo dei database di destinazione AWS DMS di SQL Server, consulta quanto segue.

Limitazioni all'utilizzo di SQL Server come destinazione per AWS Database Migration Service

Quando si utilizza un database SQL Server come destinazione per AWS DMS, si applicano le seguenti limitazioni:

  • Quando crei manualmente una tabella di destinazione di SQL Server con una colonna calcolata, la replica del caricamento completo non è supportata se utilizzi l'utilità di copia bulk BCP. Per utilizzare la replica di pieno carico, disabilita il caricamento BCP impostando l'attributo aggiuntivo di connessione 'useBCPFullLoad=false' sull'endpoint. Per informazioni ECAs sull'impostazione degli endpoint, vedereCreazione di endpoint di origine e destinazione. Per ulteriori informazioni sull'utilizzo di BCP, consulta la documentazione di Microsoft SQL Server.

  • Quando si replicano tabelle con tipi di dati spaziali di SQL Server (GEOMETRY e GEOGRAPHY), AWS DMS sostituisce qualsiasi identificatore di riferimento spaziale (SRID) che potresti aver inserito con lo SRID predefinito. Il valore SRID predefinito è 0 per GEOMETRY e 4326 per GEOGRAPHY.

  • Le tabelle temporali non sono supportate. La migrazione di tabelle temporali può funzionare con un'attività di sola replica in modalità di applicazione transazionale se tali tabelle sono create manualmente sulla destinazione.

  • Attualmente, boolean i tipi di dati in un'origine PostgreSQL vengono migrati verso SQLServer una destinazione come bit tipo di dati con valori incoerenti.

    Per ovviare, esegui le seguenti operazioni:

    • Precrea la tabella con un tipo di VARCHAR(1) dati per la colonna (o lascia che crei la tabella). AWS DMS Quindi fai in modo che l'elaborazione a valle tratti una «F» come False e una «T» come True.

    • Per evitare di dover cambiare l'elaborazione a valle, aggiungi una regola di trasformazione all'attività per modificare i valori "F" in "0" e i valori "T" in "1" e memorizzali come tipo di dati bit di SQL Server.

  • 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

  • L'autenticazione Windows non è supportata.

Requisiti di sicurezza quando si utilizza SQL Server come destinazione per AWS Database Migration Service

Di seguito vengono descritti i requisiti di sicurezza per l'utilizzo AWS DMS con un oggetto Microsoft SQL Server:

  • L'account AWS DMS utente deve avere almeno il ruolo db_owner utente nel database di SQL Server a cui ci si sta connettendo.

  • Un amministratore di sistema di SQL Server deve fornire questa autorizzazione a tutti gli account utente AWS DMS .

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

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

La tabella riportata di seguito mostra le impostazioni degli endpoint che è possibile utilizzare con SQL Server come destinazione.

Nome Descrizione

ControlTablesFileGroup

Specificare un gruppo di file per le tabelle interne di AWS DMS . All'avvio dell'attività di replica, tutte le tabelle di AWS DMS controllo interne (awsdms_ apply_exception, awsdms_apply, awsdms_changes) vengono create nel filegroup specificato.

Valore predefinito: n/d

Valori validi: stringa

Esempio: --microsoft-sql-server-settings '{"ControlTablesFileGroup": "filegroup1"}'

Di seguito è riportato un esempio di un comando per la creazione di un gruppo di file.

ALTER DATABASE replicate ADD FILEGROUP Test1FG1; GO ALTER DATABASE replicate ADD FILE (        NAME = test1dat5,        FILENAME = 'C:\temp\DATA\t1dat5.ndf',        SIZE = 5MB,        MAXSIZE = 100MB,        FILEGROWTH = 5MB    )    TO FILEGROUP Test1FG1;    GO

ExecuteTimeout

Utilizza questo attributo aggiuntivo di connessione per impostare il timeout in secondi dell'istruzione client per l'istanza SQL Server. Il valore predefinito è 60 secondi.

Esempio: '{"ExecuteTimeout": 100}'

UseBCPFullLoad

Usale per attribuire i dati di trasferimento per le operazioni di pieno carico utilizzando BCP. Quando la tabella di destinazione contiene una colonna di identità che non esiste nella tabella di origine, è necessario disabilitare l'opzione Utilizza BCP per il caricamento della tabella.

Valore predefinito: true

Valori validi: true/false

Esempio: --microsoft-sql-server-settings '{"UseBCPFullLoad": false}'

Tipi di dati di destinazione per Microsoft SQL Server

La tabella seguente mostra i tipi di dati di destinazione di Microsoft SQL Server supportati durante l'utilizzo AWS DMS e la mappatura predefinita AWS DMS dei tipi di dati. Per ulteriori informazioni sui tipi di AWS DMS dati, vedereTipi di dati per AWS Database Migration Service.

AWS DMS tipo di dati

Tipo di dati SQL Server

BOOLEAN

TINYINT

BYTES

VARBINARY (lunghezza)

DATE

Per SQL Server 2008 e versioni successive, utilizza DATE.

Per le versioni precedenti, se il dimensionamento è pari o inferiore a 3, utilizzare DATETIME. In tutti gli altri casi, utilizzare VARCHAR (37).

TIME

Per SQL Server 2008 e versioni successive, utilizzare DATETIME2 (%d).

Per le versioni precedenti, se il dimensionamento è pari o inferiore a 3, utilizzare DATETIME. In tutti gli altri casi, utilizzare VARCHAR (37).

DATETIME

Per SQL Server 2008 e versioni successive, usa DATETIME2 (scale).

Per le versioni precedenti, se il dimensionamento è pari o inferiore a 3, utilizzare DATETIME. In tutti gli altri casi, utilizzare VARCHAR (37).

INT1

SMALLINT

INT2

SMALLINT

INT4

INT

INT8

BIGINT

NUMERIC

NUMERIC (p,s)

REAL4

REAL

REAL8

FLOAT

STRING

Se la colonna è di ora o data, effettuare le seguenti operazioni:

  • Per SQL Server 2008 e versioni successive, utilizzare DATETIME2.

  • Per le versioni precedenti, se il dimensionamento è pari o inferiore a 3, utilizzare DATETIME. In tutti gli altri casi, utilizzare VARCHAR (37).

Se la colonna non è di ora o data, utilizzare VARCHAR (lunghezza).

UINT1

TINYINT

UINT2

SMALLINT

UINT4

INT

UINT8

BIGINT

WSTRING

NVARCHAR (lunghezza)

BLOB

VARBINARY(max)

IMAGE

Per utilizzare questo tipo di dati con AWS DMS, è necessario abilitare l'utilizzo di BLOBs per un'attività specifica. AWS DMS supporta i tipi di dati BLOB solo nelle tabelle che includono una chiave primaria.

CLOB

VARCHAR(max)

Per utilizzare questo tipo di dati con AWS DMS, è necessario abilitare l'uso di CLOBs per un'attività specifica. Durante il Change Data Capture (CDC), AWS DMS supporta i tipi di dati CLOB solo nelle tabelle che includono una chiave primaria.

NCLOB

NVARCHAR(max)

Per utilizzare questo tipo di dati con AWS DMS, è necessario abilitare l'uso di NCLOBs per un'attività specifica. Durante CDC, AWS DMS supporta i tipi di dati NCLOB solo nelle tabelle che includono una chiave primaria.