Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Toplu kopyalama yardımcı programı (bcp), Azure SQL Veritabanı, Azure SQL Yönetilen Örneği, Microsoft Fabric'teki SQL veritabanı, Azure Synapse Analytics veya SQL Server 2022 (16.x) ve daha sonraki sürümlere bağlandığınızda çeşitli Microsoft Entra ID kimlik doğrulama modellerini destekler.
Yüklü bcp'nizin Microsoft Entra kimlik doğrulamasını destekleyip desteklemediğini denetlemek için bcp --help komutunu çalıştırın ve kullanılabilir bağımsız değişkenler listesinde -G göründüğünü doğrulayın.
Platform kısıtlamaları
Tüm kimlik doğrulama modları her platformda kullanılamaz:
Microsoft Entra etkileşimli kimlik doğrulaması yalnızca Windows'ta desteklenir.
Linux ve macOS üzerinde Microsoft Entra tümleşik kimlik doğrulaması , SQL Server için Microsoft ODBC Sürücüsü 18 (sürücü 18'e geçemiyorsanız sürücü 17.6.1 veya üzeri) ve düzgün yapılandırılmış bir Kerberos ortamı gerektirir.
Erişim belirteci dosyasıyla (
-P <token_file>) kimlik doğrulaması yalnızca Linux ve macOS'ta desteklenir.
Microsoft Entra kullanıcı adı ve parolası
-G ile birlikte -U (kullanıcı adı) ve -P (parola) verin.
Aşağıdaki örnek, contoso.database.windows.net üzerindeki testdb veritabanından bcptest tablosunu c:\last\data1.dat dosyasına aktarır.
<password> geçerli bir parolayla değiştirin.
bcp bcptest out "c:\last\data1.dat" -c -S contoso.database.windows.net -d testdb -G -U alice@contoso.onmicrosoft.com -P <password>
Aşağıdaki örnek aynı verileri içeri aktarır:
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 tümleşik
-G olmadan -U veya -P sağlayın. Geçerli Windows hesabı (veya Linux/macOS'ta Kerberos kimliği) Microsoft Entra Id ile birleştirilmiş olmalıdır. Aşağıdaki örneklerde <server>'i sunucu adınızla değiştirin.
Ihracat:
bcp bcptest out "c:\last\data2.dat" -S <server>.database.windows.net -d testdb -G -c
Ithalat:
bcp bcptest in "c:\last\data2.dat" -S <server>.database.windows.net -d testdb -G -c
Microsoft Entra Yönetilen Hizmet Kimliği
Yapılandırılmış bir DSN aracılığıyla sistem tarafından atanan veya kullanıcı tarafından atanan yönetilen kimlik olarak kimlik doğrulaması yapın. Aynı yaklaşım hem hem bcp inde bcp out için çalışır.
Important
bcp , sürücüsüne sıkı bir şekilde bağlı.
bcp'nin ana sürümü, DSN'nin oluşturulduğu sürücünün ana sürümüyle eşleşmelidir.
bcp sürümünüzü belirlemek için komutunu çalıştırınbcp -v.
ODBC Veri Kaynağı Yöneticisi aracılığıyla bir DSN yapılandırın:
- Klavyenizde Windows tuşuna basın.
-
ODBCuygun sürümünü yazın ve seçin. - Kullanıcı DSN'si veya Sistem DSN'si sekmesini seçin.
- Ekle'yi seçin ve istemleri izleyin.
- Kimlik doğrulaması türü istendiğinde Azure Yönetilen Hizmet Kimliği kimlik doğrulaması'yı seçin.
- Kullanıcı Tarafından Atanan Yönetilen Kimlik için, kimlik doğrulama sekmesindeki
Object (principal) IDkutusuna kimliği yapıştırın. - DSN'yi yapılandırmayı tamamlamak için istemleri takip etmeye devam edin.
Ekran görüntüleri de dahil olmak üzere tam bir izlenecek yol için bkz. Kullanıcı arabiriminde DSN oluşturma ve düzenleme.
-D bayrağını, -S'ye geçirilen değerin bir DSN olduğunu belirtmek için kullanın.
-D ve -S anahtarları komut satırında herhangi bir sırada görüntülenebilir.
bcp bcptest out "c:\last\data1.dat" -c -D -S myDSN -d testdb
Microsoft Entra ID erişim belirteci
Şunlar için geçerlidir: Yalnızca Linux ve macOS. Windows desteklenmez.
Linux ve macOS'ta bcp 17.8 ve sonraki sürümleri erişim belirteci ile kimlik doğrulaması yapabilir. Aşağıdaki örneklerde, belirteci almak ve güvenli bir geçici dosyaya yazmak için Azure CLI kullanılır.
Important
Belirteç dosyası, BOM olmadan UTF-16LE olmalıdır. Aşağıdaki örneklerde gösterildiği gibi, dosya izinlerini kısıtlayın ve artık gerekli olmadığında dosyayı silin.
Sistem tarafından atanan yönetilen kimlik
<server> öğesini sunucu adınızla değiştirin.
Yönetilen kimliğinizle oturum açın:
az login --identityBelirteci alın, güvenli bir geçici dosyaya yazın ve bcp'yi çalıştırın:
# 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"
Kullanıcı tarafından atanan yönetilen kimlik
Kullanıcı tarafından atanan yönetilen kimliğinizle oturum açın. değerini ortamınız için geçerli bir değerle değiştirin
<client_id>.az login --identity --username <client_id>Belirteci alın, güvenli bir geçici dosyaya yazın ve bcp'yi çalıştırın. değerini ortamınız için geçerli bir değerle değiştirin
<server>.# 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
Şunlar için geçerlidir: Yalnızca Windows. Linux ve macOS desteklenmez.
Microsoft Entra etkileşimli kimlik doğrulaması, kimlik doğrulaması için bir iletişim kutusu kullanır ve çok faktörlü kimlik doğrulamasını (MFA) destekler. Etkileşimli kimlik doğrulaması için bcpsürüm 15.0.1000.34 veya üzeri ve SQL Server için ODBC Sürücüsü 18 (veya sürücü 17.2 veya üzeri) gerekir.
Sadece -G için -U (kullanıcı adı) sağlayın. eklemeyin -P.
bcp parolayı ister (veya MFA etkinleştirilmiş hesaplar için yapılandırılan MFA akışını tamamlar).
bcp bcptest out "c:\last\data1.dat" -c -S contoso.database.windows.net -d testdb -G -U alice@contoso.onmicrosoft.com
Federasyon etki alanından bir Windows hesabı olan bir Microsoft Entra kullanıcısı için etki alanını kullanıcı adına ekleyin (örneğin, joe@contoso.com):
bcp bcptest out "c:\last\data1.dat" -c -S contoso.database.windows.net -d testdb -G -U joe@contoso.com
Microsoft Entra kiracısında konuk kullanıcılar Azure SQL Veritabanı'nda veritabanı izinlerine sahip bir grubun parçasıysa, konuk kullanıcı diğer adını kullanın (örneğin, keith0@adventure-works.com).
İlgili içerik
- bcp yardımcı programı
- bcp yardımcı programını indirme ve yükleme
- bcp yardımcı programını kullanma
- Azure SQL için Microsoft Entra kimlik doğrulaması
- Microsoft Fabric'te SQL veritabanında kimlik doğrulaması
Yardım alın
- SQL için Fikirler: SQL Server'ın geliştirilmesine yönelik önerileriniz mi var?
- Microsoft Soru-Cevap (SQL Server)
- DBA Stack Exchange (etiket sql-server): SQL Server soruları sorun
- Stack Overflow (etiket sql-server): SQL geliştirme sorularının yanıtları
- Microsoft SQL Server Lisans Koşulları ve Bilgileri
- İş kullanıcıları için destek seçenekleri
- Eksel SQL Server yardım ve geri bildirim
SQL belgelerine katkıda bulunma
SQL içeriğini kendiniz düzenleyebildiğinizi biliyor muydunuz? Bunu yaparsanız, belgelerimizin geliştirilmesine yardımcı olmakla kalmaz, aynı zamanda sayfaya katkıda bulunan olarak da kabul edilirsiniz.
Daha fazla bilgi için Bkz. Microsoft Learn belgelerini düzenleme.