적용 대상:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
분석 플랫폼 시스템(PDW)
Microsoft Fabric
의 웨어하우스Microsoft Fabric의 SQL 데이터베이스
bcp(대량 복사 프로그램 유틸리티)는 Azure SQL Database, Azure SQL Managed Instance, Microsoft Fabric의 SQL Database, Azure Synapse Analytics 또는 SQL Server 2022(16.x) 이상 버전에 연결할 때 여러 Microsoft Entra ID 인증 모델을 지원합니다.
설치된 bcp가 Microsoft Entra 인증을 지원하는지 확인하려면 사용 가능한 인수 목록에 표시되는지 bcp --help 실행하고 -G 확인합니다.
플랫폼 제한 사항
모든 플랫폼에서 모든 인증 모드를 사용할 수 있는 것은 아닙니다.
Microsoft Entra 대화형 인증은 Windows에서만 지원됩니다.
Linux 및 macOS에서 Microsoft Entra 통합 인증을 사용하려면 SQL Server용 Microsoft ODBC Driver 18(드라이버 18 로 이동할 수 없는 경우 드라이버 17.6.1 이상) 및 올바르게 구성된 Kerberos 환경이 필요합니다.
액세스 토큰 파일(
-P <token_file>)을 사용한 인증은 Linux 및 macOS에서만 지원됩니다.bcp는 현재 Microsoft Fabric 웨어하우스에서 미리 보기로 제공됩니다.
bcp는 Microsoft Fabric SQL 분석 엔드포인트에서 데이터를 가져올 수 없습니다.
Microsoft Entra 사용자 이름 및 암호
-G를 (사용자 이름)과 (암호)와 함께 제공합니다.
다음 예제에서는 데이터베이스 bcptesttestdb 에서 파일contoso.database.windows.net로 테이블을 c:\last\data1.dat 내보냅니다.
<password> 유효한 암호로 대체합니다.
bcp bcptest out "c:\last\data1.dat" -c -S contoso.database.windows.net -d testdb -G -U alice@contoso.onmicrosoft.com -P <password>
다음 예제에서는 동일한 데이터를 가져옵니다.
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 통합
-G 또는 -U이나 -P 없이 제공합니다. 현재 Windows 계정(또는 Linux/macOS의 Kerberos ID)은 Microsoft Entra ID와 페더레이션되어야 합니다. 다음 예제에서는 <server>을(를) 서버 이름으로 바꾸십시오.
내보내기:
bcp bcptest out "c:\last\data2.dat" -S <server>.database.windows.net -d testdb -G -c
가져오기:
bcp bcptest in "c:\last\data2.dat" -S <server>.database.windows.net -d testdb -G -c
Microsoft Entra 관리 서비스 ID
구성된 DSN을 통해 시스템 할당 또는 사용자 할당 관리 ID로 인증합니다. 동일한 방법은 둘 다 bcp in 에 대해 작동합니다 bcp out.
Important
bcp 는 드라이버와 긴밀하게 결합되어 있습니다.
bcp의 주 버전은 DSN이 만들어지는 드라이버의 주 버전과 일치해야 합니다.
bcp 버전을 확인하려면 을 실행bcp -v합니다.
ODBC 데이터 원본 관리자를 통해 DSN을 구성합니다.
- 키보드에서 Windows 키를 누릅니다.
-
ODBC의 적절한 버전을 입력 하고 선택합니다. - 사용자 DSN 또는 시스템 DSN 탭을 선택합니다.
- 추가를 선택하고 프롬프트를 따릅니다.
- 인증 유형을 묻는 메시지가 표시되면 Azure 관리 서비스 ID 인증을 선택합니다.
- 사용자 할당 관리 ID의 경우 인증 탭의
Object (principal) ID상자에 ID를 붙여 넣습니다. - 프롬프트에 따라 DSN 구성을 완료합니다.
스크린샷을 포함한 전체 연습은 UI에서 DSN 만들기 및 편집을 참조하세요.
플래그를 -D 사용하여 전달된 -S 값이 DSN임을 나타냅니다. 명령줄에서는 -D 스위치와 -S 스위치의 순서가 무작위일 수 있습니다.
bcp bcptest out "c:\last\data1.dat" -c -D -S myDSN -d testdb
Microsoft Entra ID 액세스 토큰
적용 대상: Linux 및 macOS만 해당합니다. Windows는 지원되지 않습니다.
Linux 및 macOS의 bcp 17.8 이상 버전은 액세스 토큰으로 인증할 수 있습니다. 다음 예제에서는 Azure CLI 를 사용하여 토큰을 검색하고 안전한 임시 파일에 씁니다.
Important
토큰 파일은 BOM이 없는 UTF-16LE이어야 합니다. 다음 예제와 같이 파일 권한을 제한하고 더 이상 필요하지 않은 경우 파일을 삭제합니다.
시스템 할당 관리 ID
<server>를 서버 이름으로 대체합니다.
관리 ID로 로그인합니다.
az login --identity토큰을 검색하고, 보안 임시 파일에 쓰고, 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"
사용자가 할당한 관리 ID
사용자 할당 관리 ID로 로그인합니다. 사용자 환경에 유효한 값으로 대체
<client_id>합니다.az login --identity --username <client_id>토큰을 검색하고, 보안 임시 파일에 쓰고, bcp를 실행합니다. 사용자 환경에 유효한 값으로 대체
<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 대화형
적용 대상: Windows에만 해당합니다. Linux 및 macOS는 지원되지 않습니다.
Microsoft Entra 대화형 인증은 대화 상자를 사용하여 인증하고 MFA(다단계 인증)를 지원합니다. 대화형 인증에는 bcp버전 15.0.1000.34 이상, SQL Server용 ODBC 드라이버 18 (또는 드라이버 17.2 이상)이 필요합니다.
-G에 -U (사용자 이름)만 제공합니다.
-P를 포함하지 마세요.
bcp 는 암호를 묻는 메시지를 표시합니다(또는 MFA를 사용하도록 설정된 계정의 경우 구성된 MFA 흐름을 완료합니다).
bcp bcptest out "c:\last\data1.dat" -c -S contoso.database.windows.net -d testdb -G -U alice@contoso.onmicrosoft.com
페더레이션된 도메인의 Windows 계정인 Microsoft Entra 사용자의 경우 사용자 이름에 도메인을 포함합니다(예: 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 테넌트에 있는 게스트 사용자가 Azure SQL Database에서 데이터베이스 권한이 있는 그룹의 일부인 경우 게스트 사용자 별칭(예 keith0@adventure-works.com: )을 사용합니다.
관련 콘텐츠
- bcp 유틸리티
- bcp 유틸리티 다운로드 및 설치
- bcp 유틸리티를 사용하는 방법
- Azure SQL Microsoft Entra 인증
- Microsoft Fabric에서 SQL 데이터베이스의 인증
도움말 보기
- SQL에 대한 아이디어: SQL Server를 개선하기 위해 제안할 사항이 있나요?
- Microsoft Q & A(SQL Server)
- DBA Stack Exchange(태그 sql-server): SQL Server 관련 문의 사항
- Stack Overflow(태그 sql-server): SQL 개발 관련 문의 사항
- Microsoft SQL Server 사용 조건 및 정보
- 비즈니스 사용자에 대한 지원 옵션
- 추가 SQL Server 도움말 및 피드백
SQL 설명서 작성에 참여하세요.
SQL 콘텐츠를 직접 편집할 수 있다는 것을 알고 계셨나요? 그렇게 하면 설명서를 개선하는 데 도움이 될 뿐만 아니라 페이지의 기여자로도 인정받게 됩니다.
자세한 내용은 Microsoft Learn 편집 설명서를 참조하세요.