Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
SQL-databas i Microsoft Fabric
Verktyget för masskopieringsprogram (bcp) stöder flera Microsoft Entra ID-autentiseringsmodeller när du ansluter till Azure SQL Database, Azure SQL Managed Instance, SQL Database i Microsoft Fabric, Azure Synapse Analytics eller SQL Server 2022 (16.x) och senare versioner.
Om du vill kontrollera om din installerade bcp stöder Microsoft Entra-autentisering kör bcp --help du och kontrollerar att det -G visas i listan över tillgängliga argument.
Plattformsbegränsningar
Alla autentiseringslägen är inte tillgängliga på alla plattformar:
Interaktiv Microsoft Entra-autentisering stöds endast i Windows.
Microsoft Entra-integrerad autentisering på Linux och macOS kräver Microsoft ODBC Driver 18 för SQL Server (drivrutin 17.6.1 eller senare om du inte kan flytta till drivrutin 18) och en korrekt konfigurerad Kerberos-miljö.
Autentisering med en åtkomsttokenfil (
-P <token_file>) stöds endast på Linux och macOS.
Användarnamn och lösenord för Microsoft Entra
Ange -G tillsammans med -U (användarnamn) och -P (lösenord).
I följande exempel exporteras tabellen bcptest från databasen testdbcontoso.database.windows.net till filen c:\last\data1.dat. Ersätt <password> med ett giltigt lösenord.
bcp bcptest out "c:\last\data1.dat" -c -S contoso.database.windows.net -d testdb -G -U alice@contoso.onmicrosoft.com -P <password>
I följande exempel importeras samma data:
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 integrerat
Ange -G utan -U eller -P. Det aktuella Windows-kontot (eller Kerberos-identiteten på Linux/macOS) måste federeras med Microsoft Entra-ID. I följande exempel ersätter du <server> med servernamnet.
Exportera:
bcp bcptest out "c:\last\data2.dat" -S <server>.database.windows.net -d testdb -G -c
Importera:
bcp bcptest in "c:\last\data2.dat" -S <server>.database.windows.net -d testdb -G -c
Microsoft Entra Managed Service Identity
Autentisera som antingen en systemtilldelad eller användartilldelad hanterad identitet via ett konfigurerat DSN. Samma metod fungerar för både bcp in och bcp out.
Important
bcp är nära kopplad till sin drivrutin. Huvudversionen av bcp måste matcha huvudversionen av drivrutinen som DSN skapas med. För att fastställa din bcp-version kör du bcp -v.
Konfigurera ett DSN via ODBC-datakälladministratören:
- Tryck på Windows-tangenten på tangentbordet.
- Skriv
ODBCoch välj lämplig version av ODBC-datakälladministratören. - Välj antingen fliken Användar-DSN eller System-DSN .
- Välj Lägg till och följ anvisningarna.
- När du tillfrågas om en autentiseringstyp väljer du Azure Managed Service Identity-autentisering.
- För en användartilldelad hanterad identitet klistrar du in identiteten
Object (principal) IDi rutan Inloggnings-ID på fliken autentisering. - Fortsätt att följa anvisningarna för att slutföra konfigurationen av DSN.
En fullständig genomgång, inklusive skärmbilder, finns i Skapa och redigera DSN i användargränssnittet.
-D Använd flaggan för att ange att värdet som skickas till -S är ett DSN. Omkopplarna -D och -S kan förekomma i valfri ordning på kommandoraden.
bcp bcptest out "c:\last\data1.dat" -c -D -S myDSN -d testdb
Åtkomsttoken för Microsoft Entra-ID
Gäller endast för: Linux och macOS. Windows stöds inte.
bcp 17.8 och senare versioner på Linux och macOS kan autentisera med en åtkomsttoken. I följande exempel används Azure CLI för att hämta token och skriva den till en säker temporär fil.
Important
Tokenfilen måste vara UTF-16LE utan bom. Begränsa filbehörigheter och ta bort filen när den inte längre behövs, som du ser i följande exempel.
Systemtilldelad hanterad identitet
Ersätt <server> med servernamnet.
Logga in med din hanterade identitet:
az login --identityHämta token, skriv den till en säker temporär fil och kör 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"
Användartilldelad hanterad identitet
Logga in med din användartilldelade hanterade identitet. Ersätt
<client_id>med ett giltigt värde för din miljö.az login --identity --username <client_id>Hämta token, skriv den till en säker temporär fil och kör bcp. Ersätt
<server>med ett giltigt värde för din miljö.# 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 interaktiv
Gäller endast för: Windows. Linux och macOS stöds inte.
Interaktiv Microsoft Entra-autentisering använder en dialogruta för att autentisera och stöder multifaktorautentisering (MFA). Interaktiv autentisering kräver bcpversion 15.0.1000.34 eller senare och ODBC Driver 18 för SQL Server (eller drivrutin 17.2 eller senare).
Ange endast -G med -U (användarnamn). Inkludera inte -P.
bcp frågar efter lösenordet (eller för konton med MFA aktiverat slutför det konfigurerade MFA-flödet).
bcp bcptest out "c:\last\data1.dat" -c -S contoso.database.windows.net -d testdb -G -U alice@contoso.onmicrosoft.com
För en Microsoft Entra-användare som är ett Windows-konto från en federerad domän inkluderar du domänen i användarnamnet (till exempel joe@contoso.com):
bcp bcptest out "c:\last\data1.dat" -c -S contoso.database.windows.net -d testdb -G -U joe@contoso.com
Om gästanvändare i en Microsoft Entra-klientorganisation ingår i en grupp som har databasbehörigheter i Azure SQL Database använder du gästanvändaraliaset (till exempel keith0@adventure-works.com).
Relaterat innehåll
- bcp-verktyg
- Ladda ned och installera bcp-verktyget
- Så här använder du bcp-verktyget
- Microsoft Entra-autentisering för Azure SQL
- Autentisering i SQL-databasen i Microsoft Fabric
Få hjälp
- Idéer för SQL: Har du förslag på hur du kan förbättra SQL Server?
- Microsoft Q &A (SQL Server)
- DBA Stack Exchange (tagg sql-server): Ställ frågor till SQL Server
- Stack Overflow (tagg sql-server): Svar på frågor om SQL-utveckling
- Licensvillkor och information för Microsoft SQL Server
- Supportalternativ för företagsanvändare
- Ytterligare hjälp och feedback om SQL Server
Bidra till SQL-dokumentation
Visste du att du kan redigera SQL-innehåll själv? Om du gör det hjälper du inte bara till att förbättra vår dokumentation, utan du får även kredit som deltagare på sidan.
Mer information finns i Redigera Microsoft Learn-dokumentation.