Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de changer d’annuaire.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer d’annuaire.
S’applique à : SQL Server 2025 (17.x) et versions ultérieures
À compter de SQL Server 2025 (17.x), vous pouvez utiliser l’identité managée pour accéder aux ressources Azure suivantes :
- Stockage Blob Azure
- Azure Data Lake
Prerequisites
- SQL Server 2025 (17.x)
- SQL Server activé par Azure Arc
- Activer l’option de configuration du
allow server scoped db credentialsserveur - Donnez à l’identité managée l’accès à la ressource Stockage Blob Azure.
Créer des informations d’identification délimitées à la base de données
Ajoutez des informations d’identification délimitées à la base de données pour l’identité managée.
Autorisez les informations d’identification de base de données limitées au serveur. Exécutez la requête Transact-SQL suivante :
EXECUTE sp_configure 'allow server scoped db credentials', 1; GO RECONFIGURE;Créez des informations d’identification délimitées à la base de données. Cet exemple utilise le nom
managed_id:CREATE DATABASE SCOPED CREDENTIAL [managed_id] WITH IDENTITY = 'Managed Identity';
Créer une source de données externe
Créez la source de données externe avec les paramètres suivants.
Préfixe d’emplacement du connecteur
abs
Chemin d’accès à l’emplacement
-
abs://<container_name>@<storage_account_name>.blob.core.windows.net/ou abs://<storage_account_name>.blob.core.windows.net/<container_name>
-
Emplacements pris en charge par produit/service
- SQL Server 2025 (17.x) activé par Azure Arc
- SQL Server 2022 (16.x) : espace de noms hiérarchique pris en charge
Authentification
- Signature d’accès partagé (SAP) ou
- Identité managée
Interroger un fichier Parquet dans le Stockage Blob Azure
SQL Server 2025 (17.x) prend en charge l’identité managée via Azure Arc. Pour obtenir des instructions, consultez l’identité managée pour SQL Server activée par Azure Arc.
L’exemple suivant interroge un fichier Parquet dans stockage Blob 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
);
Erreurs et solutions
La table externe n’est pas accessible (Erreur 16562)
Vous pouvez rencontrer l’erreur 16562 lors de la tentative d’accès au Stockage Blob Azure ou à Azure Data Lake si vous ne disposez pas des prérequis :
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.
Vérifiez les éléments suivants :
L’instance SQL Server est correctement configurée pour Azure Arc. Pour plus d’informations, consultez l’identité managée pour SQL Server activée par Azure Arc.
Les entrées de Registre requises existent.
Vérifiez que l’option de configuration du
allow server scoped db credentialsserveur est activée.
Impossible d’ouvrir le fichier (Erreur 13822)
Vous pouvez rencontrer l’erreur 13822 lorsque vous accédez au Stockage Blob Azure ou à Azure Data Lake si l’identité managée ne dispose pas d’autorisations sur le compte de stockage, ou que l’accès réseau au stockage est bloqué.
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.
Vérifiez les éléments suivants :
- L’identité managée dispose-t-elle des autorisations pour le conteneur de stockage ?
- L’identité managée peut-elle accéder au conteneur de stockage en dehors de SQL Server ?
- Le fichier est-il verrouillé exclusivement ?