Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’applique à :SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Base de données SQL dans Microsoft Fabric
L’utilitaire de programme de copie en bloc (bcp) prend en charge plusieurs modèles d’authentification Microsoft Entra ID lorsque vous vous connectez à Azure SQL Database, Azure SQL Managed Instance, SQL Database dans Microsoft Fabric, Azure Synapse Analytics ou SQL Server 2022 (16.x) et versions ultérieures.
Pour vérifier si votre bcp installé prend en charge l’authentification Microsoft Entra, exécutez bcp --help et vérifiez qu’il -G apparaît dans la liste des arguments disponibles.
Restrictions de plateforme
Tous les modes d’authentification ne sont pas disponibles sur chaque plateforme :
L’authentification interactive Microsoft Entra est prise en charge uniquement sur Windows.
L’authentification intégrée Microsoft Entra sur Linux et macOS nécessite Microsoft ODBC Driver 18 pour SQL Server (pilote 17.6.1 ou version ultérieure si vous ne pouvez pas passer au pilote 18) et un environnement Kerberos correctement configuré.
L’authentification avec un fichier de jeton d’accès (
-P <token_file>) est prise en charge uniquement sur Linux et macOS.
Nom d'utilisateur et mot de passe Microsoft Entra
Fournissez -G ensemble -U (nom d’utilisateur) et -P (mot de passe).
L’exemple suivant exporte la table bcptest de la base de données testdb sur contoso.database.windows.net le fichier c:\last\data1.dat. Remplacez <password> par un mot de passe valide.
bcp bcptest out "c:\last\data1.dat" -c -S contoso.database.windows.net -d testdb -G -U alice@contoso.onmicrosoft.com -P <password>
L’exemple suivant importe les mêmes données :
bcp bcptest in "c:\last\data1.dat" -c -S contoso.database.windows.net -d testdb -G -U alice@contoso.onmicrosoft.com -P <password>
Authentification intégrée Microsoft Entra
Fournir -G sans -U ou -P. Le compte Windows actuel (ou l’identité Kerberos sur Linux/macOS) doit être fédéré avec l’ID Microsoft Entra. Dans les exemples suivants, remplacez <server> par le nom de votre serveur.
Exportation:
bcp bcptest out "c:\last\data2.dat" -S <server>.database.windows.net -d testdb -G -c
Importation:
bcp bcptest in "c:\last\data2.dat" -S <server>.database.windows.net -d testdb -G -c
Microsoft Entra Managed Service Identity (Identité de Service Géré Microsoft Entra)
Authentifiez-vous en tant qu’identité managée affectée par le système ou affectée par l’utilisateur via un DSN configuré. La même approche fonctionne pour les deux bcp in et bcp out.
Important
bcp est étroitement couplé à son pilote. La version principale de bcp doit correspondre à la version principale du pilote avec qui le DSN est créé. Pour déterminer votre version bcp , exécutez bcp -v.
Configurez un DSN via l’administrateur de source de données ODBC :
- Appuyez sur la touche Windows sur votre clavier.
- Tapez
ODBCet sélectionnez la version appropriée de l’administrateur de source de données ODBC. - Sélectionnez l’onglet DSN utilisateur ou Système DSN .
- Sélectionner Ajouter et suivre les invites.
- Lorsque vous êtes invité à entrer un type d’authentification, sélectionnez l’authentification Azure Managed Service Identity.
- Pour une identité managée affectée par l’utilisateur, collez l’identité
Object (principal) IDdans la zone ID de connexion sous l’onglet Authentification. - Continuez à suivre les instructions pour terminer la configuration du DSN.
Pour une procédure pas à pas complète incluant des captures d’écran, consultez Création et modification de DSN dans l’IU.
Utilisez l’indicateur -D pour indiquer que la valeur passée -S est un DSN. Les commutateurs -D et -S peuvent apparaître dans n’importe quel ordre sur la ligne de commande.
bcp bcptest out "c:\last\data1.dat" -c -D -S myDSN -d testdb
Jeton d’accès Microsoft Entra ID
S’applique uniquement à : Linux et macOS. Windows n’est pas pris en charge.
bcp 17.8 et versions ultérieures sur Linux et macOS peuvent s’authentifier avec un jeton d’accès. Les exemples suivants utilisent Azure CLI pour récupérer le jeton et l’écrire dans un fichier temporaire sécurisé.
Important
Le fichier de jeton doit être UTF-16LE sans BOM. Limitez les autorisations de fichier et supprimez le fichier lorsqu’il n’est plus nécessaire, comme illustré dans les exemples suivants.
Identité gérée attribuée par le système
Remplacez par <server> le nom de votre serveur.
Connectez-vous avec votre identité managée :
az login --identityRécupérez le jeton, écrivez-le dans un fichier temporaire sécurisé et exécutez bcp :
# Create a secure temporary file for the token tokenFile=$(mktemp) chmod 600 "$tokenFile" # Retrieve the access token and write it as UTF-16LE without BOM az account get-access-token --resource https://database.windows.net --output tsv | cut -f 1 | tr -d '\n' | iconv -f ascii -t UTF-16LE > "$tokenFile" # Run bcp with the token file bcp bcptest out data2.dat -S <server>.database.windows.net -d testdb -G -P "$tokenFile" -c # Clean up token file rm -f "$tokenFile"
Identité gérée assignée par l’utilisateur
Connectez-vous avec votre identité gérée attribuée par l'utilisateur. Remplacez par
<client_id>une valeur valide pour votre environnement.az login --identity --username <client_id>Récupérez le jeton, écrivez-le dans un fichier temporaire sécurisé et exécutez bcp. Remplacez par
<server>une valeur valide pour votre environnement.# Create a secure temporary file for the token tokenFile=$(mktemp) chmod 600 "$tokenFile" # Retrieve the access token and write it as UTF-16LE without BOM az account get-access-token --resource https://database.windows.net --output tsv | cut -f 1 | tr -d '\n' | iconv -f ascii -t UTF-16LE > "$tokenFile" # Run bcp with the token file bcp bcptest out data2.dat -S <server>.database.windows.net -d testdb -G -P "$tokenFile" -c # Clean up token file rm -f "$tokenFile"
Microsoft Entra interactive
S’applique à : Windows uniquement. Linux et macOS ne sont pas pris en charge.
L’authentification interactive Microsoft Entra utilise une boîte de dialogue pour s’authentifier et prend en charge l’authentification multifacteur (MFA). L’authentification interactive nécessite bcpversion 15.0.1000.34 ou ultérieure, et ODBC Driver 18 pour SQL Server (ou pilote 17.2 ou version ultérieure).
Fournissez uniquement -G avec -U (nom d'utilisateur). N’incluez pas -P.
bcp demande le mot de passe (ou pour les comptes avec MFA activé, termine le flux MFA configuré).
bcp bcptest out "c:\last\data1.dat" -c -S contoso.database.windows.net -d testdb -G -U alice@contoso.onmicrosoft.com
Pour un utilisateur Microsoft Entra qui est un compte Windows à partir d’un domaine fédéré, incluez le domaine dans le nom d’utilisateur (par exemple : joe@contoso.com)
bcp bcptest out "c:\last\data1.dat" -c -S contoso.database.windows.net -d testdb -G -U joe@contoso.com
Si les utilisateurs invités d’un locataire Microsoft Entra font partie d’un groupe disposant d’autorisations de base de données dans Azure SQL Database, utilisez l’alias d’utilisateur invité (par exemple). keith0@adventure-works.com
Contenu connexe
- utilitaire bcp
- Télécharger et installer l’utilitaire bcp
- Comment utiliser l’utilitaire bcp
- Authentification Microsoft Entra pour Azure SQL
- Authentification dans une base de données SQL dans Microsoft Fabric
Obtenir de l’aide
- Idées pour SQL : avez-vous des suggestions pour améliorer SQL Server ?
- Questions et réponses Microsoft (SQL Server)
- DBA Stack Exchange (tag sql-server) : posez vos questions sur SQL Server
- Stack Overflow (tag sql-server) : réponses aux questions sur le développement SQL
- Conditions et informations sur la licence de Microsoft SQL Server
- Options de support pour les utilisateurs professionnels
- Aide et commentaires supplémentaires pour SQL Server
Contribuer à la documentation SQL
Saviez-vous que vous pouvez modifier le contenu SQL vous-même ? Si vous le faites, non seulement vous aidez à améliorer notre documentation, mais vous obtenez également un crédit en tant que contributeur à la page.
Pour plus d’informations, consultez Modifier la documentation Microsoft Learn.