Conectar-se ao SQL do Synapse com sqlcmd

Tip

Microsoft Fabric Data Warehouse é um armazém relacional de escala empresarial com base de data lake, arquitetura pronta para o futuro, IA integrada e novos recursos. Se você não estiver familiarizado com o data warehouse, comece com Fabric Data Warehouse. As cargas de trabalho existentes de pools de SQL dedicados podem ser atualizadas para Fabric para acessar novos recursos em ciência de dados, análise em tempo real e relatórios.

Você pode usar o utilitário de linha de comando sqlcmd para se conectar e consultar o pool de SQL sem servidor e o pool de SQL dedicado no SQL do Synapse.

1. Conectar

Para começar a usar o sqlcmd, abra o prompt de comando e insira o sqlcmd seguido pela cadeia de conexão do banco de dados SQL do Synapse. A cadeia de conexão requer os seguintes parâmetros:

  • Servidor (-S): Servidor no formato <Nome> do Servidor ondemand.sql.azuresynapse.net (pool de SQL sem servidor) ou <Nome do Servidor>.sql.azuresynapse.net(Pool de SQL Dedicado)
  • Banco de dados (-d): Nome do banco de dados
  • Habilitar identificadores entre aspas (-I): Os identificadores entre aspas devem estar habilitados para se conectar a uma instância do SQL do Synapse

Para usar a Autenticação do SQL Server, você precisa adicionar os parâmetros de nome de usuário e senha:

  • Usuário (-U): Usuário do servidor no formulário <Usuário>
  • Senha (-P): Senha associada ao usuário

Sua cadeia de conexão pode ser semelhante ao exemplo a seguir:

Pool de SQL sem servidor

C:\>sqlcmd -S partyeunrt-ondemand.sql.azuresynapse.net -d demo -U Enter_Your_Username_Here -P Enter_Your_Password_Here -I

Pool de SQL dedicado

C:\>sqlcmd -S MySqlDw.sql.azuresynapse.net -d Adventure_Works -U myuser -P myP@ssword -I

Para usar a autenticação integrada do Microsoft Entra, você precisa adicionar os parâmetros do Microsoft Entra:

  • Autenticação do Microsoft Entra (-G): usar o Microsoft Entra ID para autenticação

Sua cadeia de conexão pode ser semelhante aos seguintes exemplos:

Pool de SQL sem servidor

C:\>sqlcmd -S partyeunrt-ondemand.sql.azuresynapse.net -d demo -G -I

Pool de SQL dedicado

C:\>sqlcmd -S MySqlDw.sql.azuresynapse.net -d Adventure_Works -G -I

Observação

Você precisa habilitar a autenticação do Microsoft Entra para autenticação usando o Active Directory.

2. Consulta

Usar o pool de SQL dedicado

Após a conexão, você pode emitir qualquer instrução Transact-SQL (T-SQL) com suporte na instância. Neste exemplo, as consultas são enviadas no modo interativo:

C:\>sqlcmd -S MySqlDw.sql.azuresynapse.net -d Adventure_Works -U myuser -P myP@ssword -I
1> SELECT name FROM sys.tables;
2> GO
3> QUIT

Para o pool de SQL dedicado, os exemplos a seguir mostram como executar consultas no modo de lote usando a opção -Q ou canalizando seu SQL para sqlcmd:

sqlcmd -S MySqlDw.sql.azuresynapse.net -d Adventure_Works -U myuser -P myP@ssword -I -Q "SELECT name FROM sys.tables;"
"SELECT name FROM sys.tables;" | sqlcmd -S MySqlDw.sql.azuresynapse.net -d Adventure_Works -U myuser -P myP@ssword -I > .\tables.out

Usar um pool de SQL sem servidor

Depois de se conectar, você pode emitir instruções Transact-SQL (T-SQL) suportadas na instância. No exemplo a seguir, as consultas são enviadas no modo interativo:

C:\>sqlcmd -S partyeunrt-ondemand.sql.azuresynapse.net -d demo -U Enter_Your_Username_Here -P Enter_Your_Password_Here -I
1> SELECT COUNT(*) FROM  OPENROWSET(BULK 'https://azureopendatastorage.blob.core.windows.net/censusdatacontainer/release/us_population_county/year=20*/*.parquet', FORMAT='PARQUET')
2> GO
3> QUIT

Para o pool de SQL sem servidor, os exemplos a seguir mostram como executar consultas no modo de lote usando a opção -Q ou canalizando seu SQL para sqlcmd:

sqlcmd -S partyeunrt-ondemand.sql.azuresynapse.net -d demo -U Enter_Your_Username_Here -P 'Enter_Your_Password_Here' -I -Q "SELECT COUNT(*) FROM  OPENROWSET(BULK 'https://azureopendatastorage.blob.core.windows.net/censusdatacontainer/release/us_population_county/year=20*/*.parquet', FORMAT='PARQUET')"
"SELECT COUNT(*) FROM  OPENROWSET(BULK 'https://azureopendatastorage.blob.core.windows.net/censusdatacontainer/release/us_population_county/year=20*/*.parquet', FORMAT='PARQUET')" | sqlcmd -S partyeunrt-ondemand.sql.azuresynapse.net -d demo -U Enter_Your_Username_Here -P 'Enter_Your_Password_Here' -I > ./tables.out

Próximas etapas

Para obter mais informações sobre as opções do sqlcmd, consulte a documentação do sqlcmd.