Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
van toepassing op:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
SQL-database in Microsoft Fabric
Het bulk copy-programma (bcp) ondersteunt verschillende verificatiemodellen voor Microsoft Entra ID wanneer u verbinding maakt met Azure SQL Database, Azure SQL Managed Instance, SQL Database in Microsoft Fabric, Azure Synapse Analytics of SQL Server 2022 (16.x) en latere versies.
Als u wilt controleren of uw geïnstalleerde bcp Microsoft Entra-verificatie ondersteunt, voert u deze uit bcp --help en controleert u of deze -G wordt weergegeven in de lijst met beschikbare argumenten.
Platformbeperkingen
Niet alle verificatiemodi zijn beschikbaar op elk platform:
Interactieve Microsoft Entra-verificatie wordt alleen ondersteund in Windows.
Geïntegreerde Microsoft Entra-verificatie in Linux en macOS vereist Microsoft ODBC-stuurprogramma 18 voor SQL Server (stuurprogramma 17.6.1 of hoger als u niet naar stuurprogramma 18 kunt gaan) en een correct geconfigureerde Kerberos-omgeving.
Verificatie met een toegangstokenbestand (
-P <token_file>) wordt alleen ondersteund in Linux en macOS.
Gebruikersnaam en wachtwoord voor Microsoft Entra
Geef -G samen met -U (gebruikersnaam) en -P (wachtwoord) op.
In het volgende voorbeeld wordt een tabel bcptest geëxporteerd van de database testdb naar contoso.database.windows.net het bestand c:\last\data1.dat. Vervang <password> door een geldig wachtwoord.
bcp bcptest out "c:\last\data1.dat" -c -S contoso.database.windows.net -d testdb -G -U alice@contoso.onmicrosoft.com -P <password>
In het volgende voorbeeld worden dezelfde gegevens geïmporteerd:
bcp bcptest in "c:\last\data1.dat" -c -S contoso.database.windows.net -d testdb -G -U alice@contoso.onmicrosoft.com -P <password>
Microsoft Entra geïntegreerd
Geef -G zonder -U of -P. Het huidige Windows-account (of kerberos-identiteit in Linux/macOS) moet worden gefedereerd met Microsoft Entra-id. Vervang in de volgende voorbeelden <server> door je servernaam.
Exporteren:
bcp bcptest out "c:\last\data2.dat" -S <server>.database.windows.net -d testdb -G -c
Importeren:
bcp bcptest in "c:\last\data2.dat" -S <server>.database.windows.net -d testdb -G -c
Microsoft Entra Managed Service Identity
Verifiëren als een door het systeem toegewezen of door de gebruiker toegewezen beheerde identiteit via een geconfigureerde DSN. Dezelfde benadering werkt voor zowel bcp in als bcp out.
Important
bcp is nauw gekoppeld aan zijn chauffeur. De primaire versie van bcp moet overeenkomen met de primaire versie van het stuurprogramma waarmee de DSN wordt gemaakt. Voer bcp uit om uw bcp-versie te bepalen.
Configureer een DSN via de ODBC-gegevensbronbeheerder:
- Druk op de Windows-toets op het toetsenbord.
- Typ
ODBCen selecteer de juiste versie van de ODBC-gegevensbronbeheerder. - Selecteer het tabblad User DSN of System DSN .
- Selecteer Toevoegen en volg de aanwijzingen.
- Wanneer u wordt gevraagd om een verificatietype, selecteert u Azure Managed Service Identity-verificatie.
- Plak voor een door de gebruiker toegewezen beheerde identiteit de
Object (principal) IDidentiteit in het vak Aanmeldings-id op het tabblad Verificatie. - Ga door met het volgen van de aanwijzingen om het configureren van de DSN te voltooien.
Zie DSN's maken en bewerken in de gebruikersinterfacevoor een volledig overzicht, inclusief schermopnamen.
Gebruik de -D vlag om aan te geven dat de doorgegeven -S waarde een DSN is. De -D en -S schakelaars kunnen in elke volgorde op de opdrachtregel voorkomen.
bcp bcptest out "c:\last\data1.dat" -c -D -S myDSN -d testdb
Microsoft Entra ID-toegangstoken
Van toepassing op: alleen Linux en macOS. Windows wordt niet ondersteund.
bcp 17.8 en latere versies in Linux en macOS kunnen worden geverifieerd met een toegangstoken. In de volgende voorbeelden wordt de Azure CLI gebruikt om het token op te halen en naar een veilig tijdelijk bestand te schrijven.
Important
Het tokenbestand moet UTF-16LE zonder BOM zijn. Beperk bestandsmachtigingen en verwijder het bestand wanneer het niet meer nodig is, zoals wordt weergegeven in de volgende voorbeelden.
Door het systeem toegewezen beheerde identiteit
Vervang door <server> de servernaam.
Meld u aan met uw beheerde identiteit:
az login --identityHaal het token op, schrijf het naar een beveiligd tijdelijk bestand en voer bcp uit:
# 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"
Door de gebruiker toegewezen beheerde identiteit
Meld u aan met uw door de gebruiker toegewezen beheerde identiteit. Vervang
<client_id>door een geldige waarde voor uw omgeving.az login --identity --username <client_id>Haal het token op, schrijf het naar een veilig tijdelijk bestand en voer bcp uit. Vervang
<server>door een geldige waarde in uw omgeving.# 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
Van toepassing op: alleen Windows. Linux en macOS worden niet ondersteund.
Interactieve Microsoft Entra-verificatie maakt gebruik van een dialoogvenster voor verificatie en ondersteunt meervoudige verificatie (MFA). Interactieve verificatie vereist bcpversie 15.0.1000.34 of hoger en ODBC-stuurprogramma 18 voor SQL Server (of stuurprogramma 17.2 of hoger).
-G Geef alleen -U (gebruikersnaam) op. Neem niet op -P.
bcp vraagt om het wachtwoord (of voor accounts waarvoor MFA is ingeschakeld, voltooit de geconfigureerde MFA-stroom).
bcp bcptest out "c:\last\data1.dat" -c -S contoso.database.windows.net -d testdb -G -U alice@contoso.onmicrosoft.com
Voor een Microsoft Entra-gebruiker die een Windows-account is van een federatief domein, neemt u het domein op in de gebruikersnaam (bijvoorbeeld joe@contoso.com):
bcp bcptest out "c:\last\data1.dat" -c -S contoso.database.windows.net -d testdb -G -U joe@contoso.com
Als gastgebruikers in een Microsoft Entra-tenant deel uitmaken van een groep met databasemachtigingen in Azure SQL Database, gebruikt u de alias van de gastgebruiker (bijvoorbeeld keith0@adventure-works.com).
Verwante inhoud
- bcp-hulpprogramma
- Het bcp-hulpprogramma downloaden en installeren
- Het bcp-hulpprogramma gebruiken
- Microsoft Entra-verificatie voor Azure SQL
- Authenticatie in SQL-database binnen Microsoft Fabric
Hulp krijgen
- Ideeën voor SQL: Hebt u suggesties voor het verbeteren van SQL Server?
- Microsoft Q & A (SQL Server)
- DBA Stack-Exchange (tag sql-server): Stel SQL Server vragen
- Stack Overflow (tag sql-server): antwoorden op vragen over SQL-ontwikkeling
- Licentievoorwaarden en -informatie voor Microsoft SQL Server
- Ondersteuningsopties voor zakelijke gebruikers
- Aanvullende hulp en feedback voor SQL Server
Bijdragen aan SQL-documentatie
Wist u dat u zelf SQL-inhoud kunt bewerken? Door dit te doen helpt u niet alleen onze documentatie te verbeteren, maar krijgt u ook erkenning als bijdrager aan de pagina.
Zie Microsoft Learn-documentatie bewerken voor meer informatie.