Importare un file BACPAC in un nuovo database SQL di AzureImport a BACPAC file to a new Azure SQL Database

Quando è necessario importare un database da un archivio o eseguire la migrazione da un'altra piattaforma, è possibile importare lo schema e i dati del database da un file BACPAC.When you need to import a database from an archive or when migrating from another platform, you can import the database schema and data from a BACPAC file. Un file BACPAC è un file ZIP con un'estensione bacpac contenente i metadati e dati da un database di SQL Server.A BACPAC file is a ZIP file with an extension of BACPAC containing the metadata and data from a SQL Server database. È possibile importare un file BACPAC dall'archiviazione BLOB di Azure (solo archiviazione standard) o dall'archiviazione locale in un percorso locale.A BACPAC file can be imported from Azure blob storage (standard storage only) or from local storage in an on-premises location. Per ottimizzare la velocità di importazione, è consigliabile specificare un livello di servizio e prestazioni superiore, ad esempio un P6, e quindi applicare la scalabilità verso il basso in base alle esigenze dopo che l'importazione ha avuto esito positivo.To maximize the import speed, we recommend that you specify a higher service tier and performance level, such as a P6, and then scale to down as appropriate after the import is successful. Il livello di compatibilità del database dopo l'importazione si basa anche sul livello di compatibilità del database di origine.Also, the database compatibility level after the import is based on the compatibility level of the source database.

Importante

Dopo la migrazione del database al database SQL di Azure, è possibile scegliere per il funzionamento del database al livello di compatibilità corrente (livello 100 per il database AdventureWorks2008R2) o a un livello superiore.After you migrate your database to Azure SQL Database, you can choose to operate the database at its current compatibility level (level 100 for the AdventureWorks2008R2 database) or at a higher level. Per altre informazioni sulle implicazioni e le opzioni per il funzionamento di un database a un livello di compatibilità specifico, vedere ALTER DATABASE Compatibility Level (Livello di compatibilità ALTER DATABASE).For more information on the implications and options for operating a database at a specific compatibility level, see ALTER DATABASE Compatibility Level. Vedere anche ALTER DATABASE SCOPED CONFIGURATION per informazioni sulle impostazioni a livello di database aggiuntive relative ai livelli di compatibilità.See also ALTER DATABASE SCOPED CONFIGURATION for information about additional database-level settings related to compatibility levels. >

Nota

Per importare un file BACPAC in un nuovo database, è necessario prima creare un server logico di database SQL di Azure.To import a BACPAC to a new database, you must first create an Azure SQL Database logical server. Per un'esercitazione che spiega come eseguire la migrazione di un database SQL Server al database SQL di Azure tramite SQLPackage, vedere Migrate a SQL Server Database (Eseguire la migrazione di un database SQL Server)For a tutorial showing you how to migrate a SQL Server database to Azure SQL Database using SQLPackage, see Migrate a SQL Server Database

Importare da un file BACPAC tramite il portale di AzureImport from a BACPAC file using Azure portal

Questo articolo illustra come usare il portale di Azure per creare un database SQL di Azure a partire da un file BACPAC archiviato nell'archiviazione BLOB di Azure.This article provides directions for creating an Azure SQL database from a BACPAC file stored in Azure blob storage using the Azure portal. L'importazione tramite il portale di Azure supporta solo l'importazione di un file BACPAC dall'archiviazione BLOB di Azure.Import using the Azure portal only supports importing a BACPAC file from Azure blob storage.

Per importare un database tramite il portale di Azure, aprire la pagina per il server a cui associare il database e fare clic su Importa sulla barra degli strumenti.To import a database using the Azure portal, open the page for the server to associate the database to and then click Import on the toolbar. Specificare l'account di archiviazione e il contenitore e quindi selezionare il file BACPAC che si vuole importare.Specify the storage account and container, and select the BACPAC file you want to import. Selezionare la dimensione del nuovo database (in genere lo stesso dell'origine) e specificare le credenziali di SQL Server di destinazione.Select the size of the new database (usually the same as origin) and provide the destination SQL Server credentials.

Importazione di database

Per monitorare lo stato di avanzamento dell'operazione di importazione, aprire la pagina per il server logico contenente il database importato.To monitor the progress of the import operation, open the page for the logical server containing the database being imported. Scorrere fino a Operazioni e quindi fare clic sulla cronologia di Importazione/Esportazione.Scroll down to Operations and then click Import/Export history.

Monitorare lo stato di un'operazione di importazioneMonitor the progress of an import operation

Per monitorare lo stato di avanzamento dell'operazione di importazione, aprire la pagina per il server logico in cui viene importato il database.To monitor the progress of the import operation, open the page for the logical server into which the database is being imported imported. Scorrere fino a Operazioni e quindi fare clic sulla cronologia di Importazione/Esportazione.Scroll down to Operations and then click Import/Export history.

importazione stato importazioneimport import status

Per verificare che il database sia attivo nel server, fare clic su Database SQL e verificare che il nuovo database sia Online.To verify the database is live on the server, click SQL databases and verify the new database is Online.

Importare da un file BACPAC tramite SQLPackageImport from a BACPAC file using SQLPackage

Per importare un database SQL tramite l'utilità della riga di comando SqlPackage, vedere la sezione relativa ai parametri e proprietà dell'importazione.To import a SQL database using the SqlPackage command-line utility, see Import parameters and properties. L'utilità SQLPackage viene offerta con le versioni più recenti di SQL Server Management Studio e SQL Server Data Tools per Visual Studio, oppure è possibile scaricare la versione più recente di SqlPackage direttamente dall'area download Microsoft.The SQLPackage utility ships with the latest versions of SQL Server Management Studio and SQL Server Data Tools for Visual Studio, or you can download the latest version of SqlPackage directly from the Microsoft download center.

È consigliabile usare l'utilità SQLPackage per la scalabilità e le prestazioni nella maggior parte degli ambienti di produzione.We recommend the use of the SQLPackage utility for scale and performance in most production environments. Per informazioni sull'uso di file BACPAC per la migrazione, vedere l'articolo Migrating from SQL Server to Azure SQL Database using BACPAC Files (Migrazione da SQL Server al database SQL di Azure con file BACPAC) del blog del Customer Advisory Team di SQL Server.For a SQL Server Customer Advisory Team blog about migrating using BACPAC files, see Migrating from SQL Server to Azure SQL Database using BACPAC Files.

Vedere il comando SQLPackage seguente per uno script di esempio che illustra come importare il database AdventureWorks2008R2 dalla risorsa di archiviazione locale a un server logico del database SQL di Azure, chiamato mynewserver20170403 in questo esempio.See the following SQLPackage command for a script example for how to import the AdventureWorks2008R2 database from local storage to an Azure SQL Database logical server, called mynewserver20170403 in this example. Questo script illustra la creazione di un nuovo database denominato myMigratedDatabase, con un livello di servizio Premium e un obiettivo di servizio P6.This script shows the creation of a new database called myMigratedDatabase, with a service tier of Premium, and a Service Objective of P6. Sostituire i valori in base alle esigenze specifiche dell'ambiente.Change these values as appropriate to your environment.

SqlPackage.exe /a:import /tcs:"Data Source=mynewserver20170403.database.windows.net;Initial Catalog=myMigratedDatabase;User Id=ServerAdmin;Password=<change_to_your_password>" /sf:AdventureWorks2008R2.bacpac /p:DatabaseEdition=Premium /p:DatabaseServiceObjective=P6

Importante

Il server logico del database SQL di Azure è in ascolto sulla porta 1433.An Azure SQL Database logical server listens on port 1433. Se si sta tentando di connettersi a un server logico del database SQL di Azure dall'interno di un firewall aziendale, questa porta deve essere aperta.If you are attempting to connect to an Azure SQL Database logical server from within a corporate firewall, this port must be open in the corporate firewall for you to successfully connect.

Questo esempio illustra come importare un database usando SqlPackage.exe con l'autenticazione universale di Active Directory:This example shows how to import a database using SqlPackage.exe with Active Directory Universal Authentication:

SqlPackage.exe /a:Import /sf:testExport.bacpac /tdn:NewDacFX /tsn:apptestserver.database.windows.net /ua:True /tid:"apptest.onmicrosoft.com"

Importare da un file BACPAC tramite PowerShellImport from a BACPAC file using PowerShell

Usare il cmdlet AzureRmSqlDatabaseImport New per inviare una richiesta di importazione database al servizio database SQL di Azure.Use the New-AzureRmSqlDatabaseImport cmdlet to submit an import database request to the Azure SQL Database service. A seconda delle dimensioni del database, l'operazione di esportazione potrebbe richiedere diverso tempo.Depending on the size of your database, the import operation may take some time to complete.

$importRequest = New-AzureRmSqlDatabaseImport -ResourceGroupName "myResourceGroup" `
   -ServerName $servername `
   -DatabaseName "MyImportSample" `
   -DatabaseMaxSizeBytes "262144000" `
   -StorageKeyType "StorageAccessKey" `
   -StorageKey $(Get-AzureRmStorageAccountKey -ResourceGroupName "myResourceGroup" -StorageAccountName $storageaccountname).Value[0] `
   -StorageUri "http://$storageaccountname.blob.core.windows.net/importsample/sample.bacpac" `
   -Edition "Standard" `
   -ServiceObjectiveName "P6" `
   -AdministratorLogin "ServerAdmin" `
   -AdministratorLoginPassword $(ConvertTo-SecureString -String "ASecureP@assw0rd" -AsPlainText -Force)

Per verificare lo stato della richiesta di importazione, usare il cmdlet AzureRmSqlDatabaseImportExportStatus Get.To check the status of the import request, use the Get-AzureRmSqlDatabaseImportExportStatus cmdlet. L'esecuzione di questo cmdlet subito dopo la richiesta restituisce in genere Status: InProgress.Running this immediately after the request usually returns Status: InProgress. Al termine dell'esportazione, il messaggio restituito è Status: Succeeded.When you see Status: Succeeded the import is complete.

$importStatus = Get-AzureRmSqlDatabaseImportExportStatus -OperationStatusLink $importRequest.OperationStatusLink
[Console]::Write("Importing")
while ($importStatus.Status -eq "InProgress")
{
    $importStatus = Get-AzureRmSqlDatabaseImportExportStatus -OperationStatusLink $importRequest.OperationStatusLink
    [Console]::Write(".")
    Start-Sleep -s 10
}
[Console]::WriteLine("")
$importStatus

Suggerimento

Per un altro esempio di script, vedere Importare un database da un file BACPAC.For another script example, see Import a database from a BACPAC file.

Passaggi successiviNext steps