Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Sistem Platform Analitik (PDW)
Gudang di Microsoft Fabric
Database SQL di Microsoft Fabric
Utilitas program penyalinan massal (bcp) mendukung beberapa model autentikasi ID Microsoft Entra saat Anda tersambung ke Azure SQL Database, Azure SQL Managed Instance, SQL Database dalam Microsoft Fabric, Azure Synapse Analytics, atau SQL Server 2022 (16.x) dan versi-versi yang lebih baru.
Untuk memeriksa apakah bcp yang diinstal mendukung autentikasi Microsoft Entra, jalankan bcp --help dan verifikasi bahwa -G ada dalam daftar argumen yang tersedia.
Pembatasan platform
Tidak semua mode autentikasi tersedia di setiap platform:
Autentikasi interaktif Microsoft Entra hanya didukung di Windows.
Autentikasi terintegrasi Microsoft Entra di Linux dan macOS memerlukan Microsoft ODBC Driver 18 untuk SQL Server (driver 17.6.1 atau yang lebih baru jika Anda tidak dapat pindah ke driver 18) dan lingkungan Kerberos yang dikonfigurasi dengan benar.
Autentikasi dengan file token akses (
-P <token_file>) hanya didukung di Linux dan macOS.bcp saat ini tersedia dalam pratinjau di Warehouse di Microsoft Fabric.
bcp tidak dapat mengimpor data di titik akhir analitik SQL di Microsoft Fabric.
Nama pengguna dan kata sandi Microsoft Entra
Sediakan -G bersama dengan -U (nama pengguna) dan -P (kata sandi).
Contoh berikut mengekspor tabel bcptest dari database testdbcontoso.database.windows.net ke file c:\last\data1.dat. Ganti <password> dengan kata sandi yang valid.
bcp bcptest out "c:\last\data1.dat" -c -S contoso.database.windows.net -d testdb -G -U alice@contoso.onmicrosoft.com -P <password>
Contoh berikut mengimpor data yang sama:
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 terintegrasi
Sediakan -G tanpa -U atau -P. Akun Windows saat ini (atau identitas Kerberos di Linux/macOS) harus digabungkan dengan ID Microsoft Entra. Dalam contoh berikut, ganti <server> dengan nama server Anda.
Ekspor:
bcp bcptest out "c:\last\data2.dat" -S <server>.database.windows.net -d testdb -G -c
Impor:
bcp bcptest in "c:\last\data2.dat" -S <server>.database.windows.net -d testdb -G -c
Identitas Layanan Terkelola Microsoft Entra
Autentikasi sebagai identitas terkelola yang ditetapkan sistem atau ditetapkan pengguna melalui DSN yang dikonfigurasi. Pendekatan yang sama berfungsi untuk bcp in dan bcp out.
Important
bcp digabungkan erat dengan pengemudinya. Versi utama bcp harus cocok dengan versi utama driver yang digunakan untuk membuat DSN. Untuk menentukan versi bcp Anda, jalankan bcp -v.
Konfigurasikan DSN melalui Administrator Sumber Data ODBC:
- Tekan tombol Windows pada keyboard Anda.
- Ketik
ODBCdan pilih versi Administrator Sumber Data ODBC yang sesuai. - Pilih tab DSN Pengguna atau DSN Sistem .
- Pilih Tambahkan dan ikuti perintah.
- Saat dimintai jenis autentikasi, pilih Autentikasi Identitas Layanan Terkelola Azure.
- Untuk Identitas Terkelola yang Ditetapkan Pengguna, tempelkan
Object (principal) IDidentitas ke dalam kotak ID Masuk pada tab autentikasi. - Lanjutkan mengikuti perintah untuk menyelesaikan konfigurasi DSN.
Untuk panduan lengkap termasuk cuplikan layar, lihat Membuat dan mengedit DSN di UI.
Gunakan -D flag untuk menunjukkan bahwa nilai yang diteruskan ke -S adalah DSN. Sakelar -D dan -S dapat muncul dalam urutan apa pun pada baris perintah.
bcp bcptest out "c:\last\data1.dat" -c -D -S myDSN -d testdb
Token akses ID Microsoft Entra
Berlaku untuk: Linux dan macOS saja. Windows tidak didukung.
bcp 17.8 dan versi yang lebih baru di Linux dan macOS dapat mengautentikasi dengan token akses. Contoh berikut menggunakan Azure CLI untuk mengambil token dan menulisnya ke file sementara yang aman.
Important
File token harus UTF-16LE tanpa BOM. Batasi izin file dan hapus file saat tidak lagi diperlukan, seperti yang ditunjukkan dalam contoh berikut.
Identitas terkelola yang diberikan oleh sistem
Ganti <server> dengan nama server Anda.
Masuk dengan identitas terkelola Anda:
az login --identityAmbil token, tulis ke file sementara yang aman, dan jalankan 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"
Identitas terkelola yang ditetapkan pengguna
Masuk menggunakan identitas terkelola yang ditetapkan oleh pengguna. Ganti
<client_id>dengan nilai yang valid untuk lingkungan Anda.az login --identity --username <client_id>Ambil token, tulis ke file sementara yang aman, dan jalankan bcp. Ganti
<server>dengan nilai yang valid untuk lingkungan Anda.# 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 interaktif
Berlaku untuk: Hanya Windows. Tidak mendukung Linux dan macOS.
Autentikasi interaktif Microsoft Entra menggunakan dialog untuk mengautentikasi, dan mendukung autentikasi multifaktor (MFA). Autentikasi interaktif memerlukan bcpversi 15.0.1000.34 atau yang lebih baru, dan ODBC Driver 18 untuk SQL Server (atau driver 17.2 atau yang lebih baru).
Sediakan -G dengan -U (nama pengguna) saja. Jangan sertakan -P.
bcp meminta kata sandi (atau untuk akun dengan MFA diaktifkan, menyelesaikan alur MFA yang dikonfigurasi).
bcp bcptest out "c:\last\data1.dat" -c -S contoso.database.windows.net -d testdb -G -U alice@contoso.onmicrosoft.com
Untuk pengguna Microsoft Entra yang merupakan akun Windows dari domain federasi, sertakan domain dalam nama pengguna (misalnya, joe@contoso.com):
bcp bcptest out "c:\last\data1.dat" -c -S contoso.database.windows.net -d testdb -G -U joe@contoso.com
Jika pengguna tamu di penyewa Microsoft Entra adalah bagian dari grup yang memiliki izin database di Azure SQL Database, gunakan alias pengguna tamu (misalnya, keith0@adventure-works.com).
Konten terkait
- utilitas bcp
- Mengunduh dan menginstal utilitas bcp
- Cara menggunakan utilitas bcp
- Autentikasi Microsoft Entra untuk Azure SQL
- Otentikasi pada database SQL di Microsoft Fabric
Dapatkan bantuan
- Ide tentang SQL: Apakah Anda memiliki saran untuk meningkatkan SQL Server?
- Microsoft Tanya Jawab (SQL Server)
- DBA Stack Exchange (tag sql-server): Ajukan pertanyaan SQL Server
- Stack Overflow (tag sql-server): Jawaban atas pertanyaan pengembangan SQL
- Syarat dan Informasi Lisensi Microsoft SQL Server
- Opsi dukungan untuk pengguna bisnis
- Bantuan dan umpan balik SQL Server tambahan
Berkontribusi pada dokumentasi SQL
Tahukah Anda bahwa Anda dapat mengedit konten SQL sendiri? Jika Anda melakukannya, Anda tidak hanya membantu meningkatkan dokumentasi kami, tetapi Anda juga dikreditkan sebagai kontributor ke halaman.
Untuk informasi selengkapnya, lihat Mengedit dokumentasi Microsoft Learn.