Eseguire la migrazione al summit per l'innovazione:
Informazioni su come la migrazione e la modernizzazione in Azure possono migliorare le prestazioni, la resilienza e la sicurezza dell'azienda, consentendo di adottare completamente l'intelligenza artificiale.Iscriviti subito
Questo browser non è più supportato.
Esegui l'aggiornamento a Microsoft Edge per sfruttare i vantaggi di funzionalità più recenti, aggiornamenti della sicurezza e supporto tecnico.
A partire dall'aggiornamento cumulativo 17 (CU17) di SQL Server 2022, è possibile usare le identità gestite con credenziali di SQL Server per eseguire il backup e il ripristino dei database di SQL Server su macchine virtuali Azure dall'archiviazione di Azure Blob.
Identità Gestite fornisce un'identità per le applicazioni da usare per la connessione alle risorse che supportano l'autenticazione di Microsoft Entra.
L'uso di identità gestite nelle credenziali per le operazioni BACKUP TO URL e RESTORE FROM URL T-SQL è supportato solo da SQL Server nelle macchine virtuali di Azure. L'uso di identità gestite con SQL Server locale per BACKUP TO URL e RESTORE FROM URL non è supportato.
Accesso di rete valido all'archiviazione Blob di Azure, autorizzazioni del Windows Firewall sull'host per consentire la connessione esterna e validi endpoint di servizio dell'account di archiviazione.
L'identità gestita primaria per SQL Server nella macchina virtuale di Azure richiede:
Per avere il ruolo Storage Blob Data Contributor per l'identità gestita primaria assegnata all'account di archiviazione.
Creare una credenziale del server usando identità gestite
Per usare i comandi T-SQL BACKUP DATABASE <database name> TO URL e RESTORE <database name> FROM URL con identità gestite, è necessario creare credenziali del server che usano l'identità gestita. Il nome delle credenziali rappresenta l'URL di archiviazione di Azure e indica dove verrà archiviato il backup del database.
L'esempio seguente illustra come creare credenziali per un'identità gestita:
La clausola WITH IDENTITY = 'Managed Identity' richiede un'identità gestita primaria assegnata a SQL Server nella macchina virtuale di Azure.
Per ulteriori informazioni sui messaggi di errore che possono verificarsi se l'identità gestita primaria non è assegnata o se non le sono state concesse le autorizzazioni appropriate, vedere la sezione Messaggi di errore.
BACKUP verso l'URL con un'identità gestita
Dopo aver creato le credenziali, è possibile usarla per eseguire il backup e il ripristino dei database nell'archivio BLOB di Azure. Assicurarsi che l'identità gestita primaria per SQL Server nella macchina virtuale di Azure abbia il ruolo Storage Blob Data Contributor assegnato all'account di archiviazione.
L'esempio seguente illustra come eseguire il backup di un database nell'archivio BLOB di Azure usando le credenziali dell'identità gestita:
flag di traccia 4675 può essere usato per controllare le credenziali create con un'identità gestita. Se l'istruzione CREATE CREDENTIAL è stata eseguita senza il flag di tracciamento 4675 abilitato, non viene generato alcun messaggio di errore se l'identità gestita primaria non è impostata per il server. Per risolvere questo scenario, le credenziali devono essere eliminate e ricreate nuovamente dopo l'abilitazione del flag di traccia.
Nessuna identità gestita primaria assegnata
Se un'identità gestita primaria non è assegnata a SQL Server nella macchina virtuale di Azure, le operazioni di backup e ripristino avranno esito negativo con un messaggio di errore che indica che l'identità gestita non è selezionata.
SQL
Msg 37563, Level 16, State 2, Line 14
The primary managed identity is not selected for this server. Enable the primary managed identity for Microsoft Entra authentication for this server. For more information see (https://aka.ms/sql-server-managed-identity-doc).`
Nessun ruolo Storage Blob Data Contributor assegnato
Se all'account di archiviazione non viene assegnato il ruolo di per l'identità gestita primaria per SQL Server in una macchina virtuale di Azure, l'operazione di BACKUP avrà esito negativo con un messaggio di errore che indica che l'accesso viene negato.
SQL
Msg 3201, Level 16, State 1, Line 31
Cannot open backup device 'https://<storage-account-name>.blob.core.windows.net/<container-name>/AdventureWorks.bak'. Operating systemerror5(Accessis denied.).
Msg 3013, Level16, State 1, Line 31BACKUPDATABASEis terminating abnormally.
Se all'account di archiviazione non viene assegnato il ruolo di Storage Blob Data Contributor per l'identità gestita per SQL Server in una macchina virtuale di Azure, l'operazione RESTORE avrà esito negativo con un messaggio di errore che indica che l'accesso viene negato.
SQL
Msg 3201, Level 16, State 1, Line 31
Cannot open backup device 'https://<storage-account-name>.blob.core.windows.net/<container-name>/AdventureWorks.bak'. Operating systemerror5(Accessis denied.).
Msg 3013, Level16, State 1, Line 31RESTOREDATABASEis terminating abnormally.
Nome database duplicato
Quando il database originale con lo stesso nome esiste nella risorsa di archiviazione, il backup di un nuovo database nello stesso percorso di archiviazione avrà esito negativo con l'errore seguente:
SQL
Msg 1834, Level 16, State 1, Line 35
RESTOREDATABASE AdventureWorks
fromURL = 'https://<storage-account-name>.blob.core.windows.net/<container-name>/AdventureWorks.bak'
Msg 1834, Level16, State 1, Line 35
The file'C:\Server\sqlservr\data\AdventureWorks.mdf' cannot be overwritten. It is being used by the database'AdventureWorks'.
Msg 3156, Level16, State 4, Line 35File'AdventureWorks' cannot be restored to'C:\Server\sqlservr\data\AdventureWorks.mdf'. UseWITHMOVEto identify a valid location for the file.
Per risolvere questo problema, eliminare il database originale o spostare i file usati in un percorso diverso prima di ripristinare il database. Per ulteriori informazioni, consultare Ripristinare un database in un nuovo percorso (SQL Server).
Limitazioni
L'identità gestita a livello di server è supportata solo per SQL Server nella macchina virtuale di Azure e non in SQL Server locale. L'identità gestita a livello di server non è supportata per Linux.
BACKUP TO URL o RESTORE FROM URL con un'identità gestita è supportato solo per SQL Server nella macchina virtuale di Azure.
BACKUP TO URL o RESTORE FROM URL non è supportato da SQL Server in locale.
Le identità gestite non sono supportate nell'istanza del cluster di failover (FCI).
BACKUP TO URL può essere eseguito solo con la stessa identità gestita usata per SQL Server nella macchina virtuale di Azure, indipendentemente dal fatto che il server disponga di una o più istanze di SQL Server nella macchina virtuale.
Amministrare un'infrastruttura di database SQL Server per database relazionali, ibridi, locali e cloud con le offerte di database relazionali Microsoft PaaS.
Informazioni sui concetti, i requisiti e i componenti necessari per consentire a SQL Server di usare Archiviazione BLOB di Microsoft Azure come destinazione di backup.
Avvio rapido: Informazioni su come scrivere backup nel servizio di archiviazione BLOB di Azure e su come eseguire il ripristino. Creare un contenitore di archiviazione BLOB di Azure, scrivere un backup e quindi eseguire il ripristino.
In SQL Server usare la pagina Crea credenziali della finestra di dialogo Backup database per fornire un certificato di gestione di Azure per convalidare la connessione.
Il backup di snapshot di file di SQL Server usa gli snapshot di Azure per offrire backup rapidi e ripristini più veloci per i file di database archiviati mediante Archiviazione BLOB di Azure.