Sintomi
L'istanza di SQL Server potrebbe smettere di rispondere se si esegue un'operazione di backup o di ripristino del database nell'archiviazione Azure o si usa Extensible Key Management (EKM) con Azure Key Vault (AKV) usando credenziali a livello di server con identità gestite. Anche se questa operazione non è supportata per SQL Server 2022, la sintassi T-SQL corrente la consente.
Risoluzione
Questo problema è stato risolto nell'aggiornamento cumulativo seguente per SQL Server nelle macchine virtuali di Azure:
Aggiornamento cumulativo 17 per SQL Server 2022
In SQL Server 2022 CU17 e versioni successive, l'autenticazione dell'identità gestita di Microsoft Entra con SQL Server nelle macchine virtuali Windows di Azure supporta le credenziali a livello di server per le operazioni di backup e ripristino del database in Archiviazione di Azure e per EKM con AKV.
Per abilitare il supporto delle identità gestite per le operazioni di backup o ripristino del database per SQL Server nelle macchine virtuali Windows di Azure, sono necessari i passaggi seguenti:
- Assegnare l'identità gestita primaria per SQL Server nelle macchine virtuali Windows di Azure.
- Creare o usare Archiviazione di Azure con un contenitore BLOB.
- Assegnare ruoli di controllo degli accessi in base ai ruoli per l'identità gestita primaria per accedere ad Archiviazione di Azure.
- Eseguire il comando
CREATE CREDENTIALT-SQL con laWITH IDENTITY = 'Managed Identity'clausola usando l'URL di archiviazione di Azure come nome delle credenziali. - Eseguire il comando
BACKUP DATABASET-SQL oRESTORE DATABASEusare l'URL di archiviazione di Azure.
-- Create credential with managed identity and credential name set to
-- URL= https://<storageaccountname>.blob.core.windows.net/<container>
CREATE CREDENTIAL [https://<storageaccountname>.blob.core.windows.net/<container>]
WITH IDENTITY = 'Managed Identity'
-- Backup the database mydb to URL
BACKUP DATABASE mydb
TO URL = 'https://<storageaccount>.blob.core.windows.net/<container>/mydb.bak'
-- Restore the database mydb1 from URL
RESTORE DATABASE mydb1
FROM URL ='https://<storageaccount>.blob.core.windows.net/<container>/mydb.bak'
Per altre informazioni, vedere Backup e ripristino nell'URL usando le identità gestite.
Per abilitare il supporto delle identità gestite per EKM con AKV per SQL Server nelle macchine virtuali Windows di Azure, sono necessari i passaggi seguenti:
- Assegnare l'identità gestita primaria per SQL Server nelle macchine virtuali Windows di Azure.
- Creare o usare un insieme di credenziali delle chiavi.
- Assegnare ruoli di controllo degli accessi in base ai ruoli per l'identità gestita primaria per accedere al ricevitore AKV.
- Scarica l'ultima Connettore SQL Server per Microsoft Azure Key Vault (1.0.5.0 (novembre 2024) o versioni successive). Per supportare l'identità gestita è necessaria la versione più recente di SQL Server Connector.
- Eseguire il comando
CREATE CREDENTIALT-SQL con laWITH IDENTITY = 'Managed Identity'clausola usando il percorso AKV come nome delle credenziali.
-- Create credential with managed identity and the credential name for the AKV called 'contoso'
-- with the AKV path = 'contoso.vault.azure.net'
CREATE CREDENTIAL [contoso.vault.azure.net]
WITH IDENTITY = 'Managed Identity'
FOR CRYPTOGRAPHIC PROVIDER AzureKeyVault_EKM_Prov
- Eseguire il resto della configurazione T-SQL di EKM con AKV.
Per altre informazioni, vedere Supporto delle identità gestite per la gestione delle chiavi estendibili con Azure Key Vault.
Nota
- Il flag di traccia 4675, disabilitato per impostazione predefinita, consente la risoluzione dei problemi relativi alle credenziali a livello di server e può essere usato per confermare l'identità gestita primaria assegnata all'istanza di SQL Server.
- Il supporto dell'identità gestita non introduce alcuna modifica alla sintassi T-SQL o alla visualizzazione del sistema, poiché questa funzionalità esiste già per l'istanza gestita di SQL di Azure.
- Le identità gestite non sono supportate per le credenziali a livello di server in SQL Server locale. Se usato accidentalmente con il backup o il ripristino in Archiviazione di Azure o EKM con AKV, viene visualizzato il messaggio di errore "L'identità gestita primaria non è impostata per il server..." e sono rinviate alla documentazione pubblica.
Informazioni sugli aggiornamenti cumulativi per SQL Server
Ogni nuovo aggiornamento cumulativo per SQL Server contiene tutte le correzioni a caldo e di sicurezza presenti nella build precedente. È consigliabile installare la build più recente per la versione di SQL Server:
Aggiornamento cumulativo più recente per SQL Server 2022
Stato
Microsoft ha confermato che si tratta di un problema relativo ai prodotti elencati nella sezione "Si applica a".
Riferimenti
- Configurare le identità gestite nelle macchine virtuali di Azure
- Abilitare l'autenticazione di Microsoft Entra per SQL Server nelle macchine virtuali di Azure
- CREA CREDENZIALI (Transact-SQL)
- Backup e ripristino nell'URL tramite identità gestite
- Supporto dell'identità gestita per la gestione di chiavi estendibili con Azure Key Vault
- DBCC TRACEON - Flag di traccia (Transact-SQL)