Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:SQL Server
Azure SQL-Datenbank
Azure SQL Managed Instance
Azure Synapse Analytics
SQL-Datenbank in Microsoft Fabric
Das Massenkopierprogramm (bcp) unterstützt mehrere Authentifizierungsmodelle von Microsoft Entra ID, wenn Sie eine Verbindung mit Azure SQL-Datenbank, Azure SQL Managed Instance, SQL-Datenbank in Microsoft Fabric, Azure Synapse Analytics oder SQL Server 2022 (16.x) sowie spätere Versionen herstellen.
Um zu überprüfen, ob Ihr installierter bcp die Microsoft Entra-Authentifizierung unterstützt, führen Sie bcp --help aus und überprüfen Sie, ob -G in der Liste der verfügbaren Argumente erscheint.
Plattformeinschränkungen
Nicht alle Authentifizierungsmodi sind auf jeder Plattform verfügbar:
Die interaktive Microsoft Entra-Authentifizierung wird nur unter Windows unterstützt.
Die integrierte Microsoft Entra-Authentifizierung unter Linux und macOS erfordert Microsoft ODBC-Treiber 18 für SQL Server (Treiber 17.6.1 oder höher, wenn Sie nicht zu Treiber 18 wechseln können) und eine ordnungsgemäß konfigurierte Kerberos-Umgebung.
Die Authentifizierung mit einer Zugriffstokendatei (
-P <token_file>) wird nur unter Linux und macOS unterstützt.
Microsoft Entra-Authentifizierung mit Benutzername und Kennwort
Geben Sie -G zusammen mit -U (Benutzername) und -P (Kennwort) an.
Im folgenden Beispiel wird die Tabelle aus der Datenbank bcptesttestdbcontoso.database.windows.net in die Datei c:\last\data1.datexportiert. Ersetzen Sie <password> durch ein gültiges Kennwort.
bcp bcptest out "c:\last\data1.dat" -c -S contoso.database.windows.net -d testdb -G -U alice@contoso.onmicrosoft.com -P <password>
Im folgenden Beispiel werden dieselben Daten importiert:
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 integriert
Bereitstellen -G ohne -U oder -P. Das aktuelle Windows-Konto (oder die Kerberos-Identität unter Linux/macOS) muss mit der Microsoft Entra-ID verbunden sein. Ersetzen Sie in den folgenden Beispielen <server> durch Ihren Servernamen.
Exportieren:
bcp bcptest out "c:\last\data2.dat" -S <server>.database.windows.net -d testdb -G -c
Importieren:
bcp bcptest in "c:\last\data2.dat" -S <server>.database.windows.net -d testdb -G -c
Microsoft Entra Managed Service Identity
Authentifizieren Sie sich über einen konfigurierten DSN entweder als eine vom System zugewiesene oder eine vom Benutzer zugewiesene verwaltete Identität. Derselbe Ansatz funktioniert sowohl für bcp in als auch für bcp out.
Important
bcp ist eng mit seinem Treiber gekoppelt. Die Hauptversion von bcp muss mit der Hauptversion des Treibers übereinstimmen, mit dem der DSN erstellt wird. Um Ihre Version von bcp zu ermitteln, führen Sie bcp -v aus.
Konfigurieren Sie einen DSN über den ODBC-Datenquellenadministrator:
- Drücken Sie die Windows-TASTE auf der Tastatur.
- Geben Sie
ODBCdie entsprechende Version des ODBC-Datenquellenadministrators ein, und wählen Sie sie aus. - Wählen Sie entweder die Registerkarte "Benutzer-DSN " oder " System-DSN " aus.
- Wählen Sie "Hinzufügen" aus, und folgen Sie den Anweisungen.
- Wenn Sie nach einem Authentifizierungstyp gefragt werden, wählen Sie die Azure Managed Service Identity-Authentifizierung aus.
- Fügen Sie für eine vom Benutzer zugewiesene verwaltete Identität die
Object (principal) ID-Identität in das Feld Anmelde-ID auf der Registerkarte Authentifizierung ein. - Folgen Sie den Anweisungen, um die Konfiguration des DSN abzuschließen.
Eine vollständige exemplarische Vorgehensweise, einschließlich Screenshots, finden Sie unter Erstellen und Bearbeiten von DSNs in der Benutzeroberfläche.
Verwenden Sie das -D-Flag, um anzugeben, dass der -S-Wert ein übergebener DSN ist. Die Schalter -D und -S können in beliebiger Reihenfolge in der Befehlszeile auftreten.
bcp bcptest out "c:\last\data1.dat" -c -D -S myDSN -d testdb
Microsoft Entra ID-Zugriffstoken
Gilt nur für: Linux und macOS. Windows wird nicht unterstützt.
bcp 17.8 und höhere Versionen unter Linux und macOS können sich mit einem Zugriffstoken authentifizieren. In den folgenden Beispielen wird die Azure CLI verwendet, um das Token abzurufen und in eine sichere temporäre Datei zu schreiben.
Important
Die Tokendatei muss UTF-16LE ohne BOM sein. Beschränken Sie Die Dateiberechtigungen, und löschen Sie die Datei, wenn sie nicht mehr benötigt wird, wie in den folgenden Beispielen gezeigt.
Vom System zugewiesene verwaltete Identität
Ersetzen Sie <server> durch den Servernamen.
Melden Sie sich mit Ihrer verwalteten Identität an:
az login --identityRufen Sie das Token ab, schreiben Sie es in eine sichere temporäre Datei, und führen Sie bcp aus:
# 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"
Vom Benutzer zugewiesene verwaltete Identität
Melden Sie sich mit Ihrer vom Benutzer zugewiesenen verwalteten Identität an. Ersetzen Sie
<client_id>mit einem gültigen Wert für Ihre Umgebung.az login --identity --username <client_id>Rufen Sie das Token ab, schreiben Sie es in eine sichere temporäre Datei, und führen Sie bcp aus. Ersetzen Sie
<server>durch einen gültigen Wert für Ihre Umgebung.# 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
Gilt nur für: Nur Windows. Linux und macOS werden nicht unterstützt.
Die interaktive Microsoft Entra-Authentifizierung verwendet ein Dialogfeld zur Authentifizierung und unterstützt die mehrstufige Authentifizierung (MFA). Für die interaktive Authentifizierung ist bcpVersion 15.0.1000.34 oder höher und ODBC-Treiber 18 für SQL Server (oder Treiber 17.2 oder höher) erforderlich.
Stellen Sie -G nur mit -U (Benutzername) bereit. Nicht -P einschließen.
bcp fordert das Kennwort an (oder für Konten mit aktivierter MFA, schließt den konfigurierten MFA-Fluss ab).
bcp bcptest out "c:\last\data1.dat" -c -S contoso.database.windows.net -d testdb -G -U alice@contoso.onmicrosoft.com
Geben Sie für einen Microsoft Entra-Benutzer, der ein Windows-Konto aus einer Verbunddomäne ist, die Domäne in den Benutzernamen ein (z. B joe@contoso.com. ):
bcp bcptest out "c:\last\data1.dat" -c -S contoso.database.windows.net -d testdb -G -U joe@contoso.com
Wenn Gastbenutzer in einem Microsoft Entra-Mandanten Teil einer Gruppe sind, die Datenbankberechtigungen in Azure SQL-Datenbank hat, verwenden Sie den Gastbenutzeralias (z. B. keith0@adventure-works.com).
Verwandte Inhalte
- bcp-Hilfsprogramm
- Herunterladen und Installieren des bcp-Hilfsprogramms
- Verwenden des bcp-Hilfsprogramms
- Microsoft Entra-Authentifizierung für Azure SQL
- Authentifizierung in SQL-Datenbanken in Microsoft Fabric
Hilfe erhalten
- Ideen für SQL: Haben Sie Vorschläge zur Verbesserung von SQL Server?
- Microsoft Q & A (SQL Server)
- DBA Stack Exchange (tag sql-server): Stellen Sie SQL Server Fragen
- Stack Overflow (tag sql-server): Antworten auf SQL-Entwicklungsfragen
- Microsoft SQL Server Lizenzbedingungen und -informationen
- Supportoptionen für Geschäftsbenutzer
- Zusätzliche SQL Server-Hilfe und Feedback
Zur SQL-Dokumentation beitragen
Wussten Sie schon, dass Sie SQL-Inhalte selbst bearbeiten könnten? Wenn Sie dies tun, helfen Sie nicht nur, unsere Dokumentation zu verbessern, sondern werden Sie auch als Mitwirkender der Seite erwähnt.
Weitere Informationen finden Sie unter Edit Microsoft Learn documentation.