

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
<a name="CHAP_Target.SQLServer"></a>

È 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, vedere[Obiettivi per AWS DMS](CHAP_Introduction.Targets.md). 

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.

**Topics**
+ [Limitazioni all'utilizzo di SQL Server come destinazione per AWS Database Migration Service](#CHAP_Target.SQLServer.Limitations)
+ [Requisiti di sicurezza quando si utilizza SQL Server come destinazione per AWS Database Migration Service](#CHAP_Target.SQLServer.Security)
+ [Impostazioni degli endpoint quando si utilizza SQL Server come destinazione per AWS DMS](#CHAP_Target.SQLServer.ConnectionAttrib)
+ [Tipi di dati di destinazione per Microsoft SQL Server](#CHAP_Target.SQLServer.DataTypes)

## Limitazioni all'utilizzo di SQL Server come destinazione per AWS Database Migration Service
<a name="CHAP_Target.SQLServer.Limitations"></a>

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, vedere[Creazione di endpoint di origine e destinazione](CHAP_Endpoints.Creating.md). Per ulteriori informazioni sull'utilizzo di BCP, consulta la [documentazione di Microsoft SQL Server](https://docs.microsoft.com/en-us/sql/relational-databases/import-export/import-and-export-bulk-data-by-using-the-bcp-utility-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
<a name="CHAP_Target.SQLServer.Security"></a>

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
<a name="CHAP_Target.SQLServer.ConnectionAttrib"></a>

È 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](https://docs.aws.amazon.com/cli/latest/reference/dms/index.html), 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 | Description | 
| --- | --- | 
| `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. <br />Valore predefinito: n/a <br />Valori validi: stringa <br />Ad esempio: `--microsoft-sql-server-settings '{"ControlTablesFileGroup": "filegroup1"}'`<br />Di seguito è riportato un esempio di un comando per la creazione di un gruppo di file.<pre>ALTER DATABASE replicate ADD FILEGROUP Test1FG1; <br />GO ALTER DATABASE replicate <br />  ADD FILE (        <br />    NAME = test1dat5,        <br />    FILENAME = 'C:\temp\DATA\t1dat5.ndf',        <br />    SIZE = 5MB,        <br />    MAXSIZE = 100MB,        <br />    FILEGROWTH = 5MB    <br />  )    <br />TO FILEGROUP Test1FG1;    <br />GO<br />                                </pre> | 
| `ConnectionTimeout` | Utilizza questo attributo di connessione aggiuntivo (ECA) per impostare il timeout di connessione all'endpoint per l'istanza di SQL Server, in secondi. Il valore predefinito è 10 secondi. Esempio ECA:. `ConnectionTimeout=30` | 
| `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. <br />Ad 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**. <br />Valore predefinito: true <br />Valori validi: true/false <br />Ad esempio: `--microsoft-sql-server-settings '{"UseBCPFullLoad": false}'` | 

## Tipi di dati di destinazione per Microsoft SQL Server
<a name="CHAP_Target.SQLServer.DataTypes"></a>

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, vedere[Tipi di dati per AWS Database Migration Service](CHAP_Reference.DataTypes.md).


|  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.<br />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).<br />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). <br />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: [See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/dms/latest/userguide/CHAP_Target.SQLServer.html)<br />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)<br />IMAGE<br />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)<br />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)<br />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. | 