Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Banco de Dados SQL do Azure
Instância Gerenciada SQL do Azure
Banco de Dados SQL do Azure Synapse Analytics
no Microsoft Fabric
A utilidade de cópia em massa (bcp) suporta vários modelos de autenticação Microsoft Entra ID quando se liga ao Azure SQL Database, Azure SQL Managed Instance, base de dados SQL no Microsoft Fabric, Azure Synapse Analytics ou SQL Server 2022 (16.x) e versões posteriores.
Para verificar se o seu bcp instalado suporta autenticação Microsoft Entra, execute bcp --help e verifique se -G aparece na lista de argumentos disponíveis.
Restrições das plataformas
Nem todos os modos de autenticação estão disponíveis em todas as plataformas:
A autenticação interativa Microsoft Entra é suportada apenas no Windows.
A autenticação integrada Microsoft Entra no Linux e macOS requer o Microsoft ODBC Driver 18 para SQL Server (driver 17.6.1 ou posterior se não puder passar para o driver 18) e um ambiente Kerberos devidamente configurado.
A autenticação com um ficheiro de token de acesso (
-P <token_file>) é suportada apenas em Linux e macOS.
Nome de utilizador e palavra-passe do Microsoft Entra
Forneça -G juntamente com -U (nome de utilizador) e -P (palavra-passe).
O exemplo seguinte exporta a tabela bcptest da base de dados testdb para contoso.database.windows.net o ficheiro 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 seguinte 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
Fornecer -G sem -U ou -P. A conta Windows atual (ou identidade Kerberos no Linux/macOS) deve estar federada com o Microsoft Entra ID. Nos exemplos seguintes, substitua <server> pelo nome do seu 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
Microsoft Entra Managed Service Identity (Identidade de Serviço Gerenciado)
Autenticar-se como uma identidade gerida, atribuída pelo sistema ou pelo utilizador, através de um DSN configurado. A mesma abordagem funciona tanto para bcp in como para bcp out.
Importante
bcp está fortemente acoplado ao seu driver. A versão principal do bcp deve coincidir com a versão principal do driver com que a DSN foi criada. Para determinar a sua versão de BCP , execute bcp -v.
Configure uma DSN através do Administrador da Fonte de Dados ODBC:
- Pressiona a tecla Windows no teu teclado.
- Digite
ODBCe selecione a versão apropriada do ODBC Data Source Administrator. - Selecione o separador DSN do Utilizador ou DSN do Sistema .
- Selecione Adicionar e siga as indicações.
- Quando solicitado um tipo de autenticação, selecione autenticação Azure Managed Service Identity.
- Para uma Identidade Gerida Atribuída pelo Utilizador, cole o
Object (principal) IDde dessa identidade na caixa de ID de Login no separador de autenticação. - Continue a seguir as instruções para terminar de configurar a DSN.
Para obter um passo a passo completo, incluindo capturas de tela, consulte Criando e editando DSNs na interface do usuário.
Use o -D flag para indicar que o valor passado -S é uma DSN. Os comutadores -D e -S podem aparecer em qualquer ordem na linha de comandos.
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. O Windows não é suportado.
o bcp 17.8 e versões posteriores em Linux e macOS podem autenticar-se com um token de acesso. Os exemplos seguintes usam a CLI Azure para recuperar o token e escrevê-lo num ficheiro temporário seguro.
Importante
O ficheiro de token deve ser UTF-16LE sem um BOM. Restringa permissões de ficheiros e elimine o ficheiro quando já não for necessário, como mostrado nos exemplos seguintes.
Identidade gerenciada atribuída ao sistema
Substitui <server> pelo nome do teu servidor.
Inicie sessão com a sua identidade gerida:
az login --identityRecupera o token, escreve-o num ficheiro temporário seguro e executa o 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
Inicie sessão com a sua identidade gerida atribuída pelo utilizador. Substitua
<client_id>por um valor válido para o seu ambiente.az login --identity --username <client_id>Recupera o token, escreve-o num ficheiro temporário seguro e executa o bcp. Substitua
<server>por um valor válido para o 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 interactivo
Aplica-se a: apenas para Windows. Linux e macOS não são suportados.
A autenticação interativa Microsoft Entra utiliza um diálogo para autenticar e suporta autenticação multifator (MFA). A autenticação interativa requer a versão BCP15.0.1000.34 ou posterior, e o Driver ODBC 18 para SQL Server (ou driver 17.2 ou posterior).
Apenas fornecer -G com -U (nome de utilizador). Não inclua -P.
o bcp solicita a palavra-passe (ou para contas com MFA ativado, completa 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 utilizador do Microsoft Entra que seja uma conta Windows de um domínio federado, inclua o domínio no nome de utilizador (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 utilizadores convidados num tenant Microsoft Entra fizerem parte de um grupo que tem permissões de base de dados no Azure SQL Database, use o alias de utilizador convidado (por exemplo, keith0@adventure-works.com).
Conteúdo relacionado
- utilitário bcp
- Descarregue e instale a utilidade BCP
- Como usar a utilidade BCP
- Autenticação do Entra da Microsoft para Azure SQL
- Autenticação numa base de dados SQL em Microsoft Fabric
Obter ajuda
- Ideias para SQL: Tens sugestões para melhorar SQL Server?
- Microsoft Q & A (SQL Server)
- DBA Stack Exchange (tag sql-server): Faça perguntas sobre o SQL Server
- Stack Overflow (tag sql-server): respostas a perguntas de desenvolvimento SQL
- Termos e informações de licença do Microsoft SQL Server
- Opções de suporte para utilizadores empresariais
- Ajuda SQL Server adicional e feedback
Contribuir para a documentação do SQL
Você sabia que você mesmo pode editar conteúdo SQL? Se o fizer, não só ajudará a melhorar a nossa documentação, como também será creditado como contribuidor da página.
Para obter mais informações, consulte Editar a documentação do Microsoft Learn.