Nota
L'accesso a questa pagina richiede l'autorizzazione. Puoi provare ad accedere o a cambiare directory.
L'accesso a questa pagina richiede l'autorizzazione. Puoi provare a cambiare directory.
Si applica a: SQL Server 2025 (17.x) e versioni successive
A partire da SQL Server 2025 (17.x), è possibile usare l'identità gestita per accedere alle risorse di Azure seguenti:
- Blob Storage di Azure
- Azure Data Lake
Prerequisiti
- SQL Server 2025 (17.x)
- SQL Server abilitato da Azure Arc.
- Abilitare l'opzione di configurazione del
allow server scoped db credentialsserver - Concedere all'identità gestita l'accesso alla risorsa di archiviazione BLOB di Azure.
Creare credenziali con ambito database
Aggiungere credenziali con ambito database per l'identità gestita.
Consentire le credenziali del database con ambito server. Eseguire la query di Transact-SQL seguente:
EXECUTE sp_configure 'allow server scoped db credentials', 1; GO RECONFIGURE;Creare credenziali con ambito database. In questo esempio viene usato il nome
managed_id:CREATE DATABASE SCOPED CREDENTIAL [managed_id] WITH IDENTITY = 'Managed Identity';
Creare un'origine dati esterna
Creare l'origine dati esterna con le impostazioni seguenti.
Prefisso della posizione del connettore
abs
Percorso percorso
-
abs://<container_name>@<storage_account_name>.blob.core.windows.net/o abs://<storage_account_name>.blob.core.windows.net/<container_name>
-
Località supportate per prodotto/servizio
- SQL Server 2025 (17.x) abilitato da Azure Arc
- SQL Server 2022 (16.x): spazio dei nomi gerarchico supportato
Autenticazione
- Firma di accesso condiviso o
- Identità gestita
Eseguire query su un file Parquet in Archiviazione BLOB di Azure
SQL Server 2025 (17.x) supporta l'identità gestita tramite Azure Arc. Per istruzioni, vedere Identità gestita per SQL Server abilitata da Azure Arc.
L'esempio seguente esegue una query su un file Parquet nell'archiviazione blob di Azure.
EXECUTE sp_configure 'allow server scoped db credentials', 1;
RECONFIGURE;
GO
CREATE DATABASE SCOPED CREDENTIAL [managed_id]
WITH IDENTITY = 'Managed Identity';
CREATE EXTERNAL DATA SOURCE [my_external_data_source]
WITH (
LOCATION = 'abs://<container>@<storage_account_name>.blob.core.windows.net/',
CREDENTIAL = managed_id
);
Errori e soluzioni
Tabella esterna non accessibile (Errore 16562)
È possibile che si verifichi l'errore 16562 quando si tenta di accedere ad Archiviazione BLOB di Azure o Azure Data Lake se mancano i prerequisiti:
Msg 16562, Level 16, State 1, Line 79
External table <name> is not accessible because location does not exist or it is used by another process.
Controllare gli elementi seguenti:
L'istanza di SQL Server è configurata correttamente per Azure Arc. Per altre informazioni, vedere Identità gestita per SQL Server abilitata da Azure Arc.
Le voci del Registro di sistema necessarie esistono.
Verificare che l'opzione di configurazione del
allow server scoped db credentialsserver sia abilitata.
Impossibile aprire il file (Errore 13822)
È possibile che si verifichi l'errore 13822 quando si accede ad Azure Blob Storage o Azure Data Lake se l'identità gestita non dispone delle autorizzazioni per l'account di archiviazione oppure l'accesso alla rete per lo storage è bloccato.
Msg 13822, Level 16, State 1, Line 9
File <file> cannot be opened because it does not exist or it is used by another process.
Controllare gli elementi seguenti:
- L'identità gestita dispone delle autorizzazioni per il contenitore di archiviazione?
- L'identità gestita può accedere al contenitore di archiviazione all'esterno di SQL Server?
- Il file è bloccato esclusivamente?