Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Banco de Dados SQL do Azure
Instância Gerenciada de SQL do Azure
Azure Synapse Analytics
Banco de Dados SQL no Microsoft Fabric
O utilitário de programa de cópia em massa (bcp) dá suporte a vários modelos de autenticação do Microsoft Entra ID quando você se conecta ao Banco de Dados SQL do Azure, à Instância Gerenciada de SQL do Azure, ao banco de dados SQL do Azure no Microsoft Fabric, ao Azure Synapse Analytics ou ao SQL Server 2022 (16.x) e versões posteriores.
Para verificar se o bcp instalado dá suporte à autenticação do Microsoft Entra, execute bcp --help e verifique se ele -G aparece na lista de argumentos disponíveis.
Restrições de plataforma
Nem todos os modos de autenticação estão disponíveis em todas as plataformas:
A autenticação interativa do Microsoft Entra tem suporte apenas no Windows.
A autenticação integrada do Microsoft Entra no Linux e no macOS requer o Microsoft ODBC Driver 18 para SQL Server (driver 17.6.1 ou posterior, se você não puder mover para o driver 18) e um ambiente Kerberos configurado corretamente.
A autenticação com um arquivo de token de acesso (
-P <token_file>) tem suporte somente no Linux e no macOS.
Nome de usuário e senha do Microsoft Entra
Forneça -G junto com -U (nome de usuário) e -P (senha).
O exemplo a seguir exporta a tabela bcptest do banco de dados testdbcontoso.database.windows.net para o arquivo c:\last\data1.dat. Substitua <password> por uma senha válida.
bcp bcptest out "c:\last\data1.dat" -c -S contoso.database.windows.net -d testdb -G -U alice@contoso.onmicrosoft.com -P <password>
O exemplo a seguir importa os mesmos dados:
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 integrado
Forneça -G sem -U ou -P. A conta atual do Windows (ou identidade Kerberos no Linux/macOS) deve ser federada com a ID do Microsoft Entra. Nos exemplos a seguir, substitua <server> pelo nome do servidor.
Exportação:
bcp bcptest out "c:\last\data2.dat" -S <server>.database.windows.net -d testdb -G -c
Importação:
bcp bcptest in "c:\last\data2.dat" -S <server>.database.windows.net -d testdb -G -c
Identidade de Serviço Gerenciado Microsoft Entra
Autentique-se como uma identidade gerenciada atribuída pelo sistema ou atribuída pelo usuário por meio de um DSN configurado. A mesma abordagem funciona para ambos bcp in e bcp out.
Importante
bcp é firmemente acoplado ao seu driver. A versão principal do bcp deve corresponder à versão principal do driver com a qual o DSN é criado. Para determinar sua versão bcp , execute bcp -v.
Configure um DSN por meio do Administrador da Fonte de Dados ODBC:
- Pressione a tecla Windows no teclado.
- Digite
ODBCe selecione a versão apropriada do Administrador da Fonte de Dados ODBC. - Selecione a guia DSN do Usuário ou DSN do Sistema .
- Selecione Adicionar e siga os prompts.
- Quando solicitado para um tipo de autenticação, selecione a autenticação da Identidade de Serviço Gerenciada do Azure.
- Para uma Identidade Gerenciada Atribuída ao Usuário, cole o
Object (principal) IDda identidade na caixa ID de Login na guia autenticação. - Continue seguindo os prompts para concluir a configuração do DSN.
Para obter um passo a passo completo, incluindo capturas de tela, consulte Criação e edição de DSNs na interface do usuário.
Use a -D flag para indicar que o valor passado para -S é um DSN.
-D e -S podem aparecer em qualquer ordem na linha de comando.
bcp bcptest out "c:\last\data1.dat" -c -D -S myDSN -d testdb
Token de acesso do Microsoft Entra ID
Aplica-se apenas a: Linux e macOS. Não há suporte para Windows.
O bcp 17.8 e versões posteriores no Linux e no macOS podem ser autenticados com um token de acesso. Os exemplos a seguir usam a CLI do Azure para recuperar o token e gravá-lo em um arquivo temporário seguro.
Importante
O arquivo de token deve ser UTF-16LE sem um BOM. Restrinja as permissões de arquivo e exclua o arquivo quando ele não for mais necessário, conforme mostrado nos exemplos a seguir.
Identidade gerenciada atribuída pelo sistema
Substitua <server> pelo nome do seu servidor.
Entre com sua identidade gerenciada:
az login --identityRecupere o token, escreva-o em um arquivo temporário seguro e execute 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"
Identidade gerenciada atribuída pelo usuário
Entre com sua identidade gerenciada atribuída pelo usuário. Substitua
<client_id>por um valor válido para seu ambiente.az login --identity --username <client_id>Recupere o token, escreva-o em um arquivo temporário seguro e execute bcp. Substitua
<server>por um valor válido para seu ambiente.# 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 interativo
Aplica-se apenas a: Windows. Não há suporte para Linux e macOS.
A autenticação interativa do Microsoft Entra usa uma caixa de diálogo para autenticar e dá suporte à MFA (autenticação multifator). A autenticação interativa requer aversão bcp 15.0.1000.34 ou posterior e o Driver ODBC 18 para SQL Server (ou driver 17.2 ou posterior).
Forneça apenas -G com -U (nome de usuário). Não inclua -P.
bcp solicita a senha (ou para contas com MFA habilitada, conclui o fluxo de MFA configurado).
bcp bcptest out "c:\last\data1.dat" -c -S contoso.database.windows.net -d testdb -G -U alice@contoso.onmicrosoft.com
Para um usuário do Microsoft Entra que é uma conta do Windows de um domínio federado, inclua o domínio no nome de usuário (por exemplo, joe@contoso.com):
bcp bcptest out "c:\last\data1.dat" -c -S contoso.database.windows.net -d testdb -G -U joe@contoso.com
Se os usuários convidados em um locatário do Microsoft Entra fizerem parte de um grupo que tem permissões de banco de dados no Banco de Dados SQL do Azure, use o alias do usuário convidado (por exemplo, keith0@adventure-works.com).
Conteúdo relacionado
- utilitário bcp
- Baixar e instalar o utilitário bcp
- Como usar o utilitário bcp
- Autenticação do Microsoft Entra para Azure SQL
- Autenticação no banco de dados SQL do Microsoft Fabric
Obter ajuda
- Ideias para SQL: Tem sugestões para melhorar o SQL Server?
- Microsoft Q&A (SQL Server)
- DBA Stack Exchange (tag sql-server): Faça perguntas sobre SQL Server
- Stack Overflow (tag sql-server): respostas para perguntas sobre desenvolvimento SQL
- Informações e termos de licença do Microsoft SQL Server
- Opções de suporte para usuários empresariais
- Ajuda e comentários adicionais sobre o SQL Server
Contribua com a documentação do SQL
Você sabia que pode editar o conteúdo do SQL por conta própria? Ao fazer isso, além de melhorar nossa documentação, você também será creditado como um colaborador da página.
Para obter mais informações, consulte a documentação Edit Microsoft Learn.