

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

# Importazione ed esportazione di dati SQL Server mediante altri metodi
<a name="SQLServer.Procedural.Importing.Snapshots"></a>

Di seguito, è possibile trovare informazioni relative all'utilizzo di snapshot per importare i dati Microsoft SQL Server in Amazon RDS. È anche possibile trovare informazioni relative all'utilizzo di snapshot per esportare i dati da un'istanza database RDS che esegue SQL Server. 

Se lo scenario lo consente, è più semplice spostare i dati da e in Amazon RDS utilizzando la funzionalità di backup e di ripristino nativa. Per ulteriori informazioni, consulta [Importazione ed esportazione di database SQL Server mediante backup e ripristino nativi](SQLServer.Procedural.Importing.md). 

**Nota**  
Amazon RDS per Microsoft SQL Server non supporta l'importazione di dati nel database `msdb`. 

## Importazione di dati in Amazon RDS per SQL Server utilizzando uno snapshot
<a name="SQLServer.Procedural.Importing.Procedure"></a>

**Per importare dati in un'istanza database SQL Server utilizzando uno snapshot**

1. Creare un'Istanza database. Per ulteriori informazioni, consulta [Creazione di un'istanza database Amazon RDS](USER_CreateDBInstance.md).

1. Negare alle applicazioni l'accesso all'istanza database di destinazione. 

   Se si impedisce l'accesso all'istanza database durante l'importazione di dati, il trasferimento di dati sarà più veloce. Inoltre, non ci si dovrà preoccupare di eventuali conflitti durante il caricamento dei dati se altre applicazioni non possono scrivere sull'istanza database nello stesso momento. Se si verificano dei problemi ed è necessario eseguire il rollback a uno snapshot di database precedente, le sole modifiche che si perderanno sono i dati importati. Sarà possibile importare nuovamente tali dati dopo la risoluzione del problema. 

   Per informazioni sul controllo accessi all'istanza database, consulta [Controllo dell'accesso con i gruppi di sicurezza](Overview.RDSSecurityGroups.md). 

1. Creare uno snapshot del database di destinazione. 

   Se il database di destinazione è già popolato con dati, è consigliabile creare uno snapshot del database prima di importare i dati. Se si verificano dei problemi nell'importazione dei dati o si desidera eliminare le modifiche, è possibile ripristinare lo stato precedente del database utilizzando lo snapshot. Per informazioni sugli snapshot di database, consulta [Creazione di uno snapshot del database per un’istanza database Single-AZ per Amazon RDS](USER_CreateSnapshot.md). 
**Nota**  
Quando si crea uno snapshot di database, le operazioni I/O per il database vengono sospese per un momento (millisecondi) durante l'esecuzione del backup. 

1. Disabilitare i backup automatici sul database di destinazione. 

   La disabilitazione dei backup automatici sull'istanza database di destinazione migliora le prestazioni durante l'importazione dei dati in quanto Amazon RDS non registra le transazioni se i backup automatici sono disabilitati. È tuttavia necessario considerare vari aspetti. I backup automatici sono necessari per eseguire un ripristino point-in-time. Pertanto, non è possibile ripristinare il database a uno specifico point-in-time durante l'importazione dei dati. Inoltre, qualsiasi backup automatico creato sull'istanza database viene eliminato, a meno che non si scelga di conservarlo. 

   La scelta di conservare i backup automatici può contribuire a proteggere dall'eliminazione accidentale dei dati. Amazon RDS insieme a ciascun backup automatico salva anche le proprietà dell'istanza database per facilitarne il recupero. L’utilizzo di questa opzione consente di ripristinare un’istanza database eliminata in un momento specifico del periodo di conservazione dei backup anche dopo averla eliminata. I backup automatici vengono automaticamente eliminati alla fine della finestra di backup specificata, così come accade per un'istanza database attiva. 

   È possibile anche utilizzare snapshot precedenti per ripristinare il database e tutti gli snapshot creati restano disponibili. Per informazioni sui backup automatici, consulta [Introduzione ai backup](USER_WorkingWithAutomatedBackups.md). 

1. Disabilitare i vincoli di chiave esterna, se applicabile. 

    Se è necessario disabilitare tali vincoli, è possibile farlo con lo script seguente. 

   ```
   --Disable foreign keys on all tables
       DECLARE @table_name SYSNAME;
       DECLARE @cmd NVARCHAR(MAX);
       DECLARE table_cursor CURSOR FOR SELECT name FROM sys.tables;
       
       OPEN table_cursor;
       FETCH NEXT FROM table_cursor INTO @table_name;
       
       WHILE @@FETCH_STATUS = 0 BEGIN
         SELECT @cmd = 'ALTER TABLE '+QUOTENAME(@table_name)+' NOCHECK CONSTRAINT ALL';
         EXEC (@cmd);
         FETCH NEXT FROM table_cursor INTO @table_name;
       END
       
       CLOSE table_cursor;
       DEALLOCATE table_cursor;
       
       GO
   ```

1. Eliminare gli indici, se applicabile. 

1. Disabilitare i trigger, se applicabile. 

    Se è necessario disabilitare i trigger, è possibile farlo con lo script seguente. 

   ```
   --Disable triggers on all tables
       DECLARE @enable BIT = 0;
       DECLARE @trigger SYSNAME;
       DECLARE @table SYSNAME;
       DECLARE @cmd NVARCHAR(MAX);
       DECLARE trigger_cursor CURSOR FOR SELECT trigger_object.name trigger_name,
        table_object.name table_name
       FROM sysobjects trigger_object
       JOIN sysobjects table_object ON trigger_object.parent_obj = table_object.id
       WHERE trigger_object.type = 'TR';
       
       OPEN trigger_cursor;
       FETCH NEXT FROM trigger_cursor INTO @trigger, @table;
       
       WHILE @@FETCH_STATUS = 0 BEGIN
         IF @enable = 1
            SET @cmd = 'ENABLE ';
         ELSE
            SET @cmd = 'DISABLE ';
       
         SET @cmd = @cmd + ' TRIGGER dbo.'+QUOTENAME(@trigger)+' ON dbo.'+QUOTENAME(@table)+' ';
         EXEC (@cmd);
         FETCH NEXT FROM trigger_cursor INTO @trigger, @table;
       END
       
       CLOSE trigger_cursor;
       DEALLOCATE trigger_cursor;
       
       GO
   ```

1. Eseguire una query sull'istanza SQL Server di origine per tutti gli account di accesso che si intende importare nell'istanza database di destinazione. 

   SQL Server archivia account di accesso e password nel database `master`. Poiché Amazon RDS non concede l'accesso al database `master`, non è possibile importare direttamente account di accesso e password nell'istanza database di destinazione. È necessario invece eseguire una query sul database `master` sull'istanza SQL Server di origine per generare un file DDL (Data Definition Language). Il file deve includere tutti gli accessi e le password che si desidera aggiungere all'istanza database di destinazione. Il file deve includere anche le appartenenze ai ruoli e le autorizzazioni che si desidera trasferire. 

   Per informazioni sull’esecuzione di query sul database `master`, consulta [Trasferire account di accesso e password tra istanze di SQL Server](https://learn.microsoft.com/en-us/troubleshoot/sql/database-engine/security/transfer-logins-passwords-between-instances) nella Knowledge Base di Microsoft.

   L'output dello script è un altro script che è possibile eseguire sull'istanza database di destinazione. Il codice dello script nell'articolo della Knowledge Base è il seguente: 

   ```
   p.type IN 
   ```

   Sostituire ogni occorrenza di `p.type` con il codice seguente: 

   ```
   p.type = 'S' 
   ```

1. Importare i dati utilizzando il metodo in [Importazione dei dati](#ImportData.SQLServer.Import). 

1. Concedere alle applicazioni l'accesso all'istanza database di destinazione. 

   Al termine dell'importazione dei dati, è possibile concedere l'accesso all'istanza database alle applicazioni bloccate durante l'importazione. Per informazioni sul controllo accessi all'istanza database, consulta [Controllo dell'accesso con i gruppi di sicurezza](Overview.RDSSecurityGroups.md). 

1. Abilitare i backup automatici sull'istanza database di destinazione. 

   Per informazioni sui backup automatici, consulta [Introduzione ai backup](USER_WorkingWithAutomatedBackups.md). 

1. Abilitare i vincoli di chiave esterna. 

    Se i vincoli di chiave esterna sono stati disabilitati in precedenza, è possibile abilitarli con lo script seguente. 

   ```
   --Enable foreign keys on all tables
       DECLARE @table_name SYSNAME;
       DECLARE @cmd NVARCHAR(MAX);
       DECLARE table_cursor CURSOR FOR SELECT name FROM sys.tables;
       
       OPEN table_cursor;
       FETCH NEXT FROM table_cursor INTO @table_name;
       
       WHILE @@FETCH_STATUS = 0 BEGIN
         SELECT @cmd = 'ALTER TABLE '+QUOTENAME(@table_name)+' CHECK CONSTRAINT ALL';
         EXEC (@cmd);
         FETCH NEXT FROM table_cursor INTO @table_name;
       END
       
       CLOSE table_cursor;
       DEALLOCATE table_cursor;
   ```

1. Abilitare gli indici, se applicabile.

1. Abilitare i trigger, se applicabile.

    Se i trigger sono stati disabilitati in precedenza, è possibile abilitarli con lo script seguente. 

   ```
   --Enable triggers on all tables
       DECLARE @enable BIT = 1;
       DECLARE @trigger SYSNAME;
       DECLARE @table SYSNAME;
       DECLARE @cmd NVARCHAR(MAX);
       DECLARE trigger_cursor CURSOR FOR SELECT trigger_object.name trigger_name,
        table_object.name table_name
       FROM sysobjects trigger_object
       JOIN sysobjects table_object ON trigger_object.parent_obj = table_object.id
       WHERE trigger_object.type = 'TR';
       
       OPEN trigger_cursor;
       FETCH NEXT FROM trigger_cursor INTO @trigger, @table;
       
       WHILE @@FETCH_STATUS = 0 BEGIN
         IF @enable = 1
            SET @cmd = 'ENABLE ';
         ELSE
            SET @cmd = 'DISABLE ';
       
         SET @cmd = @cmd + ' TRIGGER dbo.'+QUOTENAME(@trigger)+' ON dbo.'+QUOTENAME(@table)+' ';
         EXEC (@cmd);
         FETCH NEXT FROM trigger_cursor INTO @trigger, @table;
       END
       
       CLOSE trigger_cursor;
       DEALLOCATE trigger_cursor;
   ```

### Importazione dei dati
<a name="ImportData.SQLServer.Import"></a>

Microsoft SQL Server Management Studio è un client SQL Server grafico incluso in tutte le edizioni di Microsoft SQL Server ad eccezione di Express Edition. SQL Server Management Studio Express è fornito da Microsoft come download gratuito. Per trovare questo download, consulta [il sito Web di Microsoft](https://www.microsoft.com/en-us/download). 

**Nota**  
SQL Server Management Studio è disponibile solo come applicazione basata su Windows.

SQL Server Management Studio include i seguenti strumenti, utili nell'importazione di dati in un'istanza database SQL Server: 
+ Procedura guidata Genera e pubblica script
+ Importazione/Esportazione guidata
+ Copia bulk

#### Procedura guidata Genera e pubblica script
<a name="ImportData.SQLServer.MgmtStudio.ScriptWizard"></a>

La procedura guidata Genera e pubblica script crea uno script che contiene lo schema di un database, i dati o entrambi. È possibile generare uno script per un database nella distribuzione SQL Server locale. È quindi possibile eseguire lo script per trasferire le informazioni in esso contenute in un'istanza database Amazon RDS. 

**Nota**  
Per database di dimensioni di 1 GiB o superiori, è più efficace eseguire lo script del solo schema di database. Si utilizza quindi l'Importazione/Esportazione guidata della caratteristica copia bulk di SQL Server per il trasferimento dei dati.

Per informazioni dettagliate sulla procedura guidata Genera e pubblica script, consulta la [documentazione di Microsoft SQL Server](http://msdn.microsoft.com/en-us/library/ms178078%28v=sql.105%29.aspx). 

Nella procedura guidata, presta particolare attenzione alle opzioni avanzate nella pagina **Opzioni di creazione script** per assicurarti che tutti gli elementi da includere nello script siano selezionati. Ad esempio, per impostazione predefinita, i trigger di database non sono inclusi nello script.

Quando lo script viene generato e salvato, puoi utilizzare SQL Server Management Studio per la connessione all'istanza database e quindi eseguire lo script.

#### Importazione/Esportazione guidata
<a name="ImportData.SQLServer.MgmtStudio.ImportExportWizard"></a>

Importazione/Esportazione guidata crea un pacchetto Integration Services speciale, che puoi utilizzare per copiare i dati dal database SQL Server locale nell'istanza database di destinazione. La procedura guidata può filtrare le tabelle e persino le tuple in una tabella da copiare nell'istanza database di destinazione.

**Nota**  
Importazione/Esportazione guidata è una soluzione appropriata per i set di dati di grandi dimensioni, ma forse non la più rapida per esportare dati a distanza dalla distribuzione locale. Una soluzione più rapida è la funzionalità di copia bulk di SQL Server.

Per ulteriori informazioni su Importazione/Esportazione guidata, consulta la [documentazione di Microsoft SQL Server](http://msdn.microsoft.com/en-us/library/ms140052%28v=sql.105%29.aspx).

Nella pagina **Choose a Destination (Seleziona destinazione)** della procedura guidata, procedere come segue:
+ In **Nome server**, digitare il nome dell'endpoint per l'istanza database.
+ Per la modalità di autenticazione del server, scegliere **Usa autenticazione di SQL Server**.
+ Per **Nome utente** e **Password**, digitare le credenziali per l'utente master creato per l'istanza database.

#### Copia bulk
<a name="ImportData.SQLServer.MgmtStudio.BulkCopy"></a>

La funzionalità di copia bulk di SQL Server è una soluzione efficace per copiare dati da un database di origine all'istanza database. La copia bulk scrive i dati specificati in un file di dati, ad esempio un file ASCII. In seguito, puoi eseguire la copia bulk per scrivere il contenuto del file sull'istanza database di destinazione. 

Questa sezione utilizza l'utilità **bcp** inclusa in tutte le edizioni di SQL Server. Per informazioni dettagliate sulle operazioni di importazione ed esportazione bulk, consulta la [documentazione di Microsoft SQL Server](http://msdn.microsoft.com/en-us/library/ms187042%28v=sql.105%29.aspx). 

**Nota**  
Prima di utilizzare la funzionalità di copia bulk, devi dapprima importare lo schema del database nell'istanza database di destinazione. La procedura guidata Genera e pubblica script, descritta precedentemente in questo argomento, è uno strumento eccellente per questo scopo. 

Il comando seguente esegue la connessione all'istanza SQL Server locale. Genera un file delimitato da tabulazioni di una tabella specificata nella directory principale C:\$1 della distribuzione SQL Server esistente. La tabella è specificata dal relativo nome completo e il file di testo ha lo stesso nome della tabella che viene copiata. 

```
bcp dbname.schema_name.table_name out C:\table_name.txt -n -S localhost -U username -P password -b 10000 
```

Il codice precedente include le seguenti opzioni:
+ `-n` specifica che la copia bulk utilizza i tipi di dati nativi dei dati da copiare.
+ `-S` specifica l'istanza SQL Server a si collega l'utilità *bcp*.
+ `-U` specifica il nome utente dell'account utilizzato per il login all'istanza SQL Server.
+ `-P` specifica la password per l'utente specificato da `-U`.
+ `-b` specifica il numero di righe per batch di dati importati.

**Nota**  
Potrebbero esserci altri parametri importanti per la tua operazione di importazione. Ad esempio, potresti avere bisogno del parametro `-E` relativo ai valori di identità. Per ulteriori informazioni, consulta la descrizione completa della sintassi della riga di comando per l'utilità **bcp** nella [documentazione di Microsoft SQL Server](http://msdn.microsoft.com/en-us/library/ms162802%28v=sql.105%29.aspx). 

Ad esempio, supponiamo che un database denominato `store` che utilizza lo schema predefinito `dbo` contenga una tabella denominata `customers`. L'account utente `admin`, con la password `insecure`, copia 10.000 righe della tabella `customers` in un file denominato `customers.txt`. 

```
bcp store.dbo.customers out C:\customers.txt -n -S localhost -U admin -P insecure -b 10000 
```

Dopo aver generato il file di dati, è possibile caricare i dati nell'istanza database utilizzando un comando simile. Prima di procedere, crea il database e lo schema nell'istanza database di destinazione. Utilizza quindi l'argomento `in` per specificare un file di input anziché `out` per specificare un file di output. Invece di utilizzare localhost per specificare l'istanza SQL Server locale, specifica l'endpoint dell'istanza database. Se utilizzi una porta differente dalla porta 1433, specifica anche quella. Il nome utente e la password sono la password e l'utente master dell'istanza database. La sintassi è esposta di seguito. 

```
bcp dbname.schema_name.table_name 
					in C:\table_name.txt -n -S endpoint,port -U master_user_name -P master_user_password -b 10000
```

Per continuare l'esempio precedente, supponiamo che il nome utente master sia `admin` e che la password sia `insecure`. L'endpoint per l'istanza database è `rds.ckz2kqd4qsn1.us-east-1.rds.amazonaws.com` e si utilizza la porta 4080. Il comando è il seguente. 

```
bcp store.dbo.customers in C:\customers.txt -n -S rds.ckz2kqd4qsn1.us-east-1.rds.amazonaws.com,4080 -U admin -P insecure -b 10000 
```

**Nota**  
Specifica una password diversa dal prompt mostrato qui come best practice per la sicurezza.

## Esportazione di dati da Amazon RDS per SQL Server
<a name="SQLServer.Procedural.Exporting"></a>

Puoi scegliere una delle seguenti opzioni per esportare dati da un'istanza database RDS for SQL Server:
+ **Backup di database nativo con file di backup completo (.bak)** – L'utilizzo di file .bak per il backup di database è estremamente ottimizzato ed è in genere il modo più rapido per esportare dati. Per ulteriori informazioni, consulta [Importazione ed esportazione di database SQL Server mediante backup e ripristino nativi](SQLServer.Procedural.Importing.md). 
+ **Procedura guidata di importazione ed esportazione di SQL Server** – Per ulteriori informazioni, consulta [Importazione/Esportazione guidata di SQL Server](#SQLServer.Procedural.Exporting.SSIEW). 
+ **Procedura guidata di generazione e pubblicazione di script di SQL Server e utilità bcp** – Per ulteriori informazioni, consulta [Procedura guidata Genera e pubblica script e utilità bcp di SQL Server](#SQLServer.Procedural.Exporting.SSGPSW). 

### Importazione/Esportazione guidata di SQL Server
<a name="SQLServer.Procedural.Exporting.SSIEW"></a>

Puoi utilizzare Importazione/Esportazione guidata di SQL Server per copiare una o più tabelle, viste o query dall'istanza database RDS for SQL Server in un altro datastore. Questa scelta è la migliore se il datastore di destinazione non è SQL Server. Per ulteriori informazioni, consulta [Importazione ed esportazione guidata di SQL Server](http://msdn.microsoft.com/en-us/library/ms141209%28v=sql.110%29.aspx) nella documentazione di SQL Server. 

L'Importazione/Esportazione guidata di SQL Server è disponibile come parte di Microsoft SQL Server Management Studio. Il client SQL Server grafico è incluso in tutte le edizioni di Microsoft SQL Server ad eccezione di Express Edition. SQL Server Management Studio è disponibile solo come applicazione basata su Windows. SQL Server Management Studio Express è fornito da Microsoft come download gratuito. Per trovare questo download, consulta [il sito Web di Microsoft](http://www.microsoft.com/en-us/search/Results.aspx?q=sql%20server%20management%20studio). 

**Per esportare dati con Importazione/Esportazione guidata di SQL Server**

1. In SQL Server Management Studio, connettersi all'istanza database RDS for SQL Server. Per informazioni dettagliate su come eseguire questa operazione, consulta [Connessione all’istanza database Microsoft SQL Server](USER_ConnectToMicrosoftSQLServerInstance.md). 

1. In **Esplora oggetti**, espandere **Database**, aprire il menu contestuale (fare clic con il pulsante destro del mouse) del database di origine, scegliere **Attività**, quindi scegliere **Esporta dati**. Viene visualizzata la procedura guidata. 

1. Nella pagina **Seleziona origine dati**, procedere come segue:

   1. Per **Origine dati** scegliere **SQL Server Native Client 11.0**. 

   1. Verifica che la casella **Nome server** riporti l'endpoint dell'istanza database RDS for SQL Server.

   1. Selezionare **Usa autenticazione di SQL Server**. In **Nome utente** e **Password** specifica il nome utente master e la password dell'istanza database.

   1. Verificare che nella casella **Database** sia visualizzato il database da cui esportare i dati.

   1. Scegli **Next (Successivo)**.

1. Nella pagina **Seleziona destinazione**, procedere come segue:

   1. Per **Destinazione** scegliere **SQL Server Native Client 11.0**. 
**Nota**  
Sono disponibili altre origini dati di destinazione. Queste includono i provider di dati .NET Framework, i provider OLE DB, SQL Server Native Client e ADO.NET, Microsoft Office Excel, Microsoft Office Access e l'origine del file flat. Se si sceglie come destinazione una di queste origini dati, ignorare la parte restante della fase 4. Per i dettagli delle informazioni di connessione da fornire successivamente, consultare l'argomento relativo alla [scelta di una destinazione](http://msdn.microsoft.com/en-us/library/ms178430%28v=sql.110%29.aspx) nella documentazione di SQL Server. 

   1. In **Nome server**, digitare il nome di server dell'istanza database SQL Server di destinazione. 

   1. Scegliere il tipo di autenticazione appropriato. Digitare un nome utente e una password, se necessario. 

   1. Per **Database**, scegliere il nome del database di destinazione, oppure scegliere **Nuovo** per creare un nuovo database per i dati esportati. 

      Se si sceglie **Nuovo**, consultare [Crea database](http://msdn.microsoft.com/en-us/library/ms183323%28v=sql.110%29.aspx) nella documentazione di SQL Server per dettagli sulle informazioni di database da fornire.

   1. Scegli **Next (Successivo)**.

1. Nella pagina **Copia tabella o query**, scegliere **Copia i dati da una o più tabelle o viste** oppure **Scrivi una query per specificare i dati da trasferire**. Scegli **Next (Successivo)**. 

1. Se si sceglie **Scrivi una query per specificare i dati da trasferire**, viene visualizzata la pagina **Impostazione query di origine**. Digitare o incollare una query SQL, quindi scegliere **Analizza** per verificarla. Dopo la convalida della query, scegliere **Avanti**. 

1. Nella pagina **Seleziona tabelle e viste di origine**, procedere come segue:

   1. Selezionare le tabelle e le viste da esportare oppure verificare che la query fornita sia selezionata.

   1. Scegliere **Modifica mapping** e specificare le informazioni di mapping delle colonne e di database. Per ulteriori informazioni, consulta [Mapping colonne](http://msdn.microsoft.com/en-us/library/ms189660%28v=sql.110%29.aspx) nella documentazione di SQL Server. 

   1. (Facoltativo) Per visualizzare un'anteprima dei dati da esportare, selezionare la tabella, la vista o la query, quindi scegliere **Anteprima**.

   1. Scegli **Next (Successivo)**.

1. Nella pagina **Esegui pacchetto**, verificare che **Esegui immediatamente** sia selezionato. Scegli **Next (Successivo)**. 

1. Nella pagina **Completamento della procedura guidata**, verificare che le informazioni di esportazione dei dati siano quelle previste. Scegli **Fine**. 

1. Nella pagina **Esecuzione completata**, scegliere **Chiudi**. 

### Procedura guidata Genera e pubblica script e utilità bcp di SQL Server
<a name="SQLServer.Procedural.Exporting.SSGPSW"></a>

Puoi utilizzare la procedura guidata Genera e pubblica script di SQL Server per creare script per un intero database o per soltanto alcuni oggetti selezionati. Puoi eseguire questi script su un'istanza database SQL Server di destinazione per ricreare gli oggetti con script. Successivamente, puoi utilizzare l'utilità bcp per esportare in bulk i dati degli oggetti selezionati nell'istanza database di destinazione. Questa scelta è preferibile se intendi spostare un intero database (con oggetti che non siano tabelle) o grandi quantità di dati tra due istanze database SQL Server. Per una descrizione completa della sintassi della riga di comando di bcp, consulta [Utilità bcp](http://msdn.microsoft.com/en-us/library/ms162802%28v=sql.110%29.aspx) nella documentazione di Microsoft SQL Server. 

La procedura guidata Genera e pubblica script di SQL Server è disponibile come parte di Microsoft SQL Server Management Studio. Il client SQL Server grafico è incluso in tutte le edizioni di Microsoft SQL Server ad eccezione di Express Edition. SQL Server Management Studio è disponibile solo come applicazione basata su Windows. SQL Server Management Studio Express è fornito da Microsoft come [download gratuito](http://www.microsoft.com/en-us/search/Results.aspx?q=sql%20server%20management%20studio). 

**Per esportare dati mediante la procedura guidata Genera e pubblica script e l'utilità bcp di SQL Server**

1. In SQL Server Management Studio, connettersi all'istanza database RDS for SQL Server. Per informazioni dettagliate su come eseguire questa operazione, consulta [Connessione all’istanza database Microsoft SQL Server](USER_ConnectToMicrosoftSQLServerInstance.md). 

1. In **Esplora oggetti**, espandere il nodo **Database** e selezionare il database di cui si intende creare lo script. 

1. Seguire le istruzioni in [Procedura guidata Genera e pubblica script](http://msdn.microsoft.com/en-us/library/bb895179%28v=sql.110%29.aspx) nella documentazione di SQL Server per creare un file di script.

1. In SQL Server Management Studio, connettersi all'istanza database SQL Server di destinazione.

1. Con l'istanza database SQL Server di destinazione selezionata in **Object Explorer** (Esplora oggetti), seleziona **Open** (Apri) dal menu **File**, quindi seleziona **File** e apri il file di script. 

1. Se si è eseguito lo script dell'intero database, esaminare l'istruzione CREATE DATABASE nello script. Assicurarsi che il database venga creato nella posizione e con i parametri desiderati. Per ulteriori informazioni, consulta [CREATE DATABASE](http://msdn.microsoft.com/en-us/library/ms176061%28v=sql.110%29.aspx) nella documentazione di SQL Server. 

1. Se si creano utenti di database nello script, verificare se esistono account di accesso server sull'istanza database di destinazione per quegli utenti. In caso contrario, creare degli account di accesso per tali utenti, altrimenti i comandi con script per la creazione di utenti di database non riescono. Per ulteriori informazioni, consulta [Creazione di un account di accesso](http://msdn.microsoft.com/en-us/library/aa337562%28v=sql.110%29.aspx) nella documentazione di SQL Server.

1. Scegliere **\$1Execute** nel menu Editor SQL per eseguire il file di script e creare oggetti di database. Al termine dello script, verificare che tutti gli oggetti di database esistano come previsto.

1. Utilizza l'utilità bcp per esportare i dati dall'istanza database RDS for SQL Server in file. Aprire un prompt dei comandi e digitare il comando seguente.

   ```
   bcp database_name.schema_name.table_name out data_file -n -S aws_rds_sql_endpoint -U username -P password
   ```

   Il codice precedente include le seguenti opzioni:
   + *table\$1name* è il nome di una delle tabelle che è stata ricreata nel database di destinazione e che ora si intende popolare con dati. 
   + *data\$1file* è il percorso completo e il nome del file di dati da creare.
   + `-n` specifica che la copia bulk utilizza i tipi di dati nativi dei dati da copiare.
   + `-S` specifica l'istanza database SQL Server da cui eseguire l'esportazione.
   + `-U` specifica il nome utente da utilizzare durante la connessione all'istanza database SQL Server.
   + `-P` specifica la password per l'utente specificato da `-U`.

   Di seguito viene illustrato un esempio del comando . 

   ```
   bcp world.dbo.city out C:\Users\JohnDoe\city.dat -n -S sql-jdoe.1234abcd.us-west-2.rds.amazonaws.com,1433 -U JohnDoe -P ClearTextPassword
   ```

   Ripetere questo passaggio fino ad avere file di dati per tutte le tabelle da esportare. 

1. Preparare l'istanza database di destinazione per l'importazione bulk dei dati seguendo le istruzioni contenute in [Prepararsi all'importazione bulk dei dati](http://msdn.microsoft.com/en-us/library/ms189989%28v=sql.110%29.aspx) nella documentazione di SQL Server. 

1. Decidere il metodo di importazione bulk da utilizzare dopo aver preso in considerazione le prestazioni e altri problemi descritti in [Informazioni sulle operazioni di importazione ed esportazione bulk](http://msdn.microsoft.com/en-us/library/ms187042%28v=sql.105%29.aspx) nella documentazione di SQL Server. 

1. Importare in blocco i dati dai file di dati creati utilizzando l'utilità bcp. Per fare ciò, seguire le istruzioni contenute in [Importare ed esportare dati bulk con bcp](http://msdn.microsoft.com/en-us/library/aa337544%28v=sql.110%29.aspx) oppure nella sezione relativa all'[importazione di dati bulk utilizzando BULK INSERT o OPENROWSET(BULK...)](http://msdn.microsoft.com/en-us/library/ms175915%28v=sql.110%29.aspx) nella documentazione di SQL Server, a seconda del metodo di importazione scelto nella fase 11. 