Condividi tramite


Importare o esportare database SQL di Azure usando il collegamento privato

Si applica a: Database SQL di Azure

Questo articolo illustra come importare o esportare un database SQL di Azure usando un collegamento privato usando il portale di Azure o Azure PowerShell con l'opzione Consenti l'accesso ai servizi di Azure impostata su OFF nel server logico di Azure SQL.

Per eseguire l'importazione o l'esportazione è necessario impostare Consenti l'accesso ai servizi di Azure su ON; in caso contrario, l'operazione di importazione o esportazione non riesce e compare un errore. Spesso gli utenti vogliono eseguire l'importazione o l'esportazione usando un endpoint privato senza richiedere accesso a tutti i servizi di Azure.

Nota

L'importazione/l’esportazione tramite collegamento privato per database SQL di Azure è attualmente in anteprima.

Il collegamento privato di importazione/esportazione del database è un endpoint privato gestito dal servizio creato da Microsoft e usato esclusivamente per tutte le comunicazioni da parte del processo di importazione/esportazione del database, del Database SQL di Azure e dei servizi di Archiviazione di Azure correlati. Un endpoint privato gestito dal servizio è un indirizzo IP privato all'interno di una rete virtuale e di una subnet specifiche.

L'endpoint privato deve essere approvato manualmente sia per il server logico Azure SQL che per l'archiviazione BLOB di Azure, in passaggi separati, con i dettagli inclusi in questa esercitazione.

Diagramma dell'architettura del collegamento privato di Importazione esportazione.

Il collegamento privato di importazione/esportazione può essere configurato tramite portale di Azure, PowerShell o l'API REST.

  1. Passare alla pagina Panoramica del server logico SQL di Azure in cui si vuole importare il database. Scegliere Importa database dalla barra degli strumenti.
  2. Nella pagina Importa database, selezionare la casella di controllo Usa collegamento privato. Screenshot del portale di Azure che mostra come abilitare il collegamento privato Importa.
  3. Immettere l'account di archiviazione, le credenziali di autenticazione e i dettagli del database, quindi selezionare OK.
  1. Passare alla pagina Panoramica del database SQL di Azure da esportare. Dalla barra degli strumenti, selezionare Esporta.
  2. Nella pagina Esporta database, selezionare la casella di controllo Usa collegamento privato. Screenshot del portale di Azure che mostra come abilitare il collegamento privato Esporta.
  3. Immettere l'account di archiviazione, le credenziali di autenticazione e i dettagli del database, quindi selezionare OK.

Il nuovo endpoint privato deve essere approvato dall'utente nel Centro collegamento privato o nel database SQL di Azure.

  1. Accedere a Centro collegamento privato nel portale di Azure. Nella casella di ricerca di Azure, cercare "Collegamento privato".
  2. Passare alla pagina Endpoint privati del Centro collegamento privato.
  3. Approvare gli endpoint privati creati usando il servizio di importazione/esportazione.

Opzione 2: Approvare la connessione all'endpoint privato nel database SQL di Azure nel portale di Azure

  1. Accedere al server SQL logico di Azure che ospita il database.

  2. Passare alla pagina Rete in Sicurezza

  3. Selezionare la scheda Accesso privato.

  4. Selezionare l'endpoint privato da approvare.

  5. Selezionare Approva per confermare l'approvazione del collegamento.

    Screenshot del portale di Azure che mostra come approvare kl collegamento privato database SQL di Azure.

3. Approvare la connessione all'endpoint privato su Archiviazione di Azure

Approvare la nuova connessione all'endpoint privato per il file BACPAC di importazione del database in Archiviazione di Azure.

  1. Passare all'account di archiviazione che ospita il contenitore BLOB in cui è presente il file BACPAC (.bacpac).
  2. Aprire la pagina Connessioni all’endpoint privato nel menu Sicurezza.
  3. Selezionare un endpoint privato per il servizio di importazione/esportazione.
  4. Selezionare Approva per confermare l'approvazione del collegamento.

Screenshot del portale di Azure che mostra come approvare il collegamento privato Archiviazione di Azure in Archiviazione di Azure.

4. Controllare lo stato di importazione/esportazione

  1. Dopo l'approvazione degli endpoint privati, sia nel server SQL di Azure sia nell'account di Azure Storage, verrà avviata l'importazione o l'esportazione del database. Fino ad allora, i processi resteranno in attesa.
  2. È possibile controllare lo stato dei processi di importazione o esportazione del database nella pagina Cronologia di importazione/esportazione nella sezione Gestione dati della pagina SQL Server di Azure. Screenshot del portale di Azure che mostra come controllare lo stato dei processi di importazione/esportazione.

Usare il cmdlet New-AzSqlDatabaseImport per inviare una richiesta di importazione database ad Azure. A seconda delle dimensioni del database, l'importazione può richiedere del tempo. Il modello di provisioning basato su unità di elaborazione di database supporta valori per le dimensioni massime del database specifici per ogni livello. Quando si importa un database usare uno di questi valori supportati.

$importRequest = New-AzSqlDatabaseImport -ResourceGroupName "<resourceGroupName>" `
        -ServerName "<serverName>" -DatabaseName "<databaseName>" `
        -DatabaseMaxSizeBytes "<databaseSizeInBytes>" -StorageKeyType "StorageAccessKey" `
        -StorageKey $(Get-AzStorageAccountKey -ResourceGroupName $resourceGroupName `
                        -StorageAccountName "<storageAccountName>").Value[0]
        -StorageUri "https://myStorageAccount.blob.core.windows.net/importsample/sample.bacpac" `
        -Edition "Standard" -ServiceObjectiveName "P6" ` -UseNetworkIsolation $true `
        -StorageAccountResourceIdForPrivateLink "/subscriptions/<subscriptionId>/resourcegroups/<resource_group_name>/providers/Microsoft.Storage/storageAccounts/<storage_account_name>" `
         -SqlServerResourceIdForPrivateLink "/subscriptions/<subscriptionId>/resourceGroups/<resource_group_name>/providers/Microsoft.Sql/servers/<server_name>" `
        -AdministratorLogin "<userID>" `
        -AdministratorLoginPassword $(ConvertTo-SecureString -String "<password>" -AsPlainText -Force)

Usare il cmdlet New-AzSqlDatabaseExport per inviare una richiesta di esportazione database al servizio database SQL di Azure. A seconda delle dimensioni del database, l'operazione di esportazione potrebbe richiedere del tempo.

$exportRequest = New-AzSqlDatabaseExport -ResourceGroupName "<resourceGroupName>" `
        -ServerName "<serverName>" -DatabaseName "<databaseName>" `
        -StorageKeyType "StorageAccessKey" `
        -StorageKey $(Get-AzStorageAccountKey -ResourceGroupName $resourceGroupName `
                        -StorageAccountName "<storageAccountName>").Value[0]
        -StorageUri "https://myStorageAccount.blob.core.windows.net/importsample/sample.bacpac" `
        -UseNetworkIsolation $true `
        -StorageAccountResourceIdForPrivateLink "/subscriptions/<subscriptionId>/resourcegroups/<resource_group_name>/providers/Microsoft.Storage/storageAccounts/<storage_account_name>" `
         -SqlServerResourceIdForPrivateLink "/subscriptions/<subscriptionId>/resourceGroups/<resource_group_name>/providers/Microsoft.Sql/servers/<server_name>" `
        -AdministratorLogin "<userID>" `
        -AdministratorLoginPassword $(ConvertTo-SecureString -String "<password>" -AsPlainText -Force)

Le API esistenti per eseguire processi di importazione ed esportazione sono state migliorate per supportare il collegamento privato. Fare riferimento all'API Importa database.

Limiti

Attualmente, il collegamento privato per l'importazione/esportazione presenta le seguenti limitazioni:

  • Per usare collegamento privato con Importazione/Esportazione, il database utente e il contenitore BLOB Archiviazione di Azure devono essere ospitati nello stesso tipo di Azure Cloud, ad esempio sia in Azure Commercial sia in Azure Gov. L'hosting tra vari tipi di cloud non è supportato.

  • L'importazione o l'esportazione di un database da Istanza gestita di SQL Azure utilizzando PowerShell attualmente non è supportata.

  • Importazione/Esportazione collegamento privato non deve essere usato quando il database utente o l'account Archiviazione di Azure sono protetti da blocchi delle risorse.

  • Per completare l'operazione di esportazione, è necessaria l'approvazione manuale della nuova connessione endpoint privato. Dopo aver avviato l'esportazione, passare a "Connessioni in sospeso" nel centro collegamento privato e approvare le connessioni, che possono richiedere alcuni minuti per essere visualizzate.

  • L'importazione tramite collegamento privato non supporta la specifica di una ridondanza di archiviazione di backup durante la creazione di un nuovo database, quindi viene usata la ridondanza geografica predefinita. Per aggirare il problema, creare prima di tutto un database vuoto con la ridondanza dell'archiviazione di backup desiderata usando il portale di Azure o PowerShell, quindi importare il file BACPAC nel database vuoto.

  • L'importazione tramite l'API REST con collegamento privato può essere completata solo per un database esistente perché l'API usa estensioni di database. Come soluzione alternativa, creare un database vuoto con il nome desiderato, quindi chiamare l'API REST di importazione con il collegamento privato.