Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
SQL database w usłudze Microsoft Fabric
Narzędzie do kopiowania zbiorczego (bcp) obsługuje kilka modeli uwierzytelniania Microsoft Entra ID przy połączeniu z usługą Azure SQL Database, usługą Azure SQL Managed Instance, bazą danych SQL w Microsoft Fabric, usługą Azure Synapse Analytics lub SQL Server 2022 (16.x) i nowszymi wersjami.
Aby sprawdzić, czy zainstalowany bcp obsługuje uwierzytelnianie Microsoft Entra, uruchom bcp --help i sprawdź, czy -G znajduje się na liście dostępnych argumentów.
Ograniczenia platformy
Nie wszystkie tryby uwierzytelniania są dostępne na każdej platformie:
Interakcyjne uwierzytelnianie firmy Microsoft Entra jest obsługiwane tylko w systemie Windows.
Zintegrowane uwierzytelnianie firmy Microsoft w systemach Linux i macOS wymaga sterownika Microsoft ODBC 18 dla programu SQL Server (sterownik 17.6.1 lub nowszy, jeśli nie można przejść do sterownika 18) i prawidłowo skonfigurowanego środowiska Kerberos.
Uwierzytelnianie przy użyciu pliku tokenu dostępu (
-P <token_file>) jest obsługiwane tylko w systemach Linux i macOS.
Nazwa użytkownika i hasło firmy Microsoft Entra
Podaj -G razem z -U (nazwą użytkownika) i -P (hasłem).
Poniższy przykład eksportuje tabelę bcptest z bazy danych testdb do contoso.database.windows.net pliku c:\last\data1.dat. Zastąp <password> prawidłowym hasłem.
bcp bcptest out "c:\last\data1.dat" -c -S contoso.database.windows.net -d testdb -G -U alice@contoso.onmicrosoft.com -P <password>
Poniższy przykład importuje te same dane:
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 zintegrowany
Podaj -G bez -U lub -P. Bieżące konto systemu Windows (lub tożsamość Protokołu Kerberos w systemie Linux/macOS) musi być sfederowane z Microsoft Entra ID. W poniższych przykładach zastąp <server> nazwą swojego serwera.
Eksportu:
bcp bcptest out "c:\last\data2.dat" -S <server>.database.windows.net -d testdb -G -c
Importu:
bcp bcptest in "c:\last\data2.dat" -S <server>.database.windows.net -d testdb -G -c
Tożsamość usługi zarządzanej firmy Microsoft Entra
Uwierzytelnij się jako tożsamość zarządzaną przypisaną przez system lub przypisaną przez użytkownika za pośrednictwem skonfigurowanej nazwy DSN. To samo podejście działa zarówno w przypadku bcp in i bcp out.
Ważna
bcp jest ściśle powiązany ze swoim kierowcą. Wersja główna bcp musi odpowiadać wersji głównej sterownika, z którym jest utworzony DSN. Aby określić wersję narzędzia bcp , uruchom polecenie bcp -v.
Skonfiguruj DSN przez administratora źródła danych ODBC:
- Naciśnij klawisz systemu Windows na klawiaturze.
- Wpisz
ODBCi wybierz odpowiednią wersję administratora źródła danych ODBC. - Wybierz kartę User DSN lub System DSN.
- Wybierz pozycję Dodaj i postępuj zgodnie z monitami.
- Po wyświetleniu monitu o typ uwierzytelniania wybierz pozycję Uwierzytelnianie tożsamości usługi zarządzanej platformy Azure.
- W przypadku tożsamości zarządzanej przypisanej przez użytkownika wklej wartość
Object (principal) IDtożsamości w polu Identyfikator logowania na karcie uwierzytelnianie. - Postępuj zgodnie z instrukcjami, aby zakończyć konfigurowanie DSN.
Aby zapoznać się z pełną instrukcją, w tym zrzutami ekranu, zobacz Tworzenie i edytowanie DSN w interfejsie użytkownika.
Użyj flagi -D do wskazania, że przekazywana wartość do -S to DSN. Przełączniki -D i -S mogą być wyświetlane w dowolnej kolejności w wierszu polecenia.
bcp bcptest out "c:\last\data1.dat" -c -D -S myDSN -d testdb
Token dostępu Microsoft Entra ID
Dotyczy: tylko systemy Linux i macOS. System Windows nie jest obsługiwany.
Program bcp 17.8 lub nowszy w systemach Linux i macOS może uwierzytelniać się przy użyciu tokenu dostępu. W poniższych przykładach użyto interfejsu wiersza polecenia platformy Azure do pobrania tokenu i zapisania go w bezpiecznym pliku tymczasowym.
Ważna
Plik tokena musi być w formacie UTF-16LE bez BOM. Ogranicz uprawnienia do pliku i usuń plik, gdy nie jest już potrzebny, jak pokazano w poniższych przykładach.
Tożsamość zarządzana przypisana przez system
Zastąp <server> nazwą swojego serwera.
Zaloguj się przy użyciu tożsamości zarządzanej:
az login --identityPobierz token, zapisz go w bezpiecznym pliku tymczasowym i uruchom narzędzie 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"
Tożsamość zarządzana przypisana użytkownikowi
Zaloguj się przy użyciu tożsamości zarządzanej przypisanej przez użytkownika. Zastąp
<client_id>prawidłową wartością dla danego środowiska.az login --identity --username <client_id>Pobierz token, zapisz go w bezpiecznym pliku tymczasowym i uruchom narzędzie bcp. Zastąp
<server>prawidłową wartością dla Twojego środowiska.# 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"
Interakcyjne rozwiązanie Microsoft Entra
Dotyczy: tylko system Windows. Systemy Linux i macOS nie są obsługiwane.
Interakcyjne uwierzytelnianie firmy Microsoft używa okna dialogowego do uwierzytelniania i obsługuje uwierzytelnianie wieloskładnikowe (MFA). Uwierzytelnianie interakcyjne wymaga programu bcpw wersji 15.0.1000.34 lub nowszej oraz sterownika ODBC 18 dla programu SQL Server (lub sterownika 17.2 lub nowszego).
Podaj tylko -G z -U (nazwą użytkownika). Nie dołączaj -P.
Narzędzie bcp pyta o hasło (lub dla kont z włączoną usługą MFA kończy skonfigurowany przepływ uwierzytelniania wieloskładnikowego).
bcp bcptest out "c:\last\data1.dat" -c -S contoso.database.windows.net -d testdb -G -U alice@contoso.onmicrosoft.com
W przypadku użytkownika Microsoft Entra, który jest kontem systemu Windows z domeny federacyjnej, dołącz domenę do nazwy użytkownika (na przykład joe@contoso.com):
bcp bcptest out "c:\last\data1.dat" -c -S contoso.database.windows.net -d testdb -G -U joe@contoso.com
Jeśli użytkownicy-goście w dzierżawie firmy Microsoft Entra są częścią grupy, która ma uprawnienia bazy danych w usłudze Azure SQL Database, użyj aliasu użytkownika-gościa (na przykład keith0@adventure-works.com).
Treści powiązane
- BCP narzędzie
- Pobieranie i instalowanie narzędzia bcp
- Jak używać narzędzia bcp
- Uwierzytelnianie Microsoft Entra dla Azure SQL
- Autentykacja w bazie danych SQL w Microsoft Fabric
Uzyskiwanie pomocy
- Pomysły na język SQL: masz sugestie dotyczące ulepszania programu SQL Server?
- Microsoft Q & A (SQL Server)
- DBA Stack Exchange (tag sql-server): Zadaj pytania na temat SQL Server
- Stack Overflow (tag sql-server): Odpowiedzi na pytania dotyczące programowania SQL
- Postanowienia licencyjne i informacje dotyczące programu Microsoft SQL Server
- Opcje pomocy technicznej dla użytkowników biznesowych
- Dodatkowa pomoc i informacje zwrotne dotyczące programu SQL Server
Współtworzenie dokumentacji SQL
Czy wiesz, że możesz samodzielnie edytować zawartość SQL? Jeśli to zrobisz, nie tylko pomożesz ulepszyć naszą dokumentację, ale także zostaniesz uznany za współautora strony.
Aby uzyskać więcej informacji, zobacz Edytowanie dokumentacji środowiska Microsoft Learn.