Conectar-se ao Synapse SQL com sqlcmd
Você pode usar o utilitário de linha de comando sqlcmd para se conectar ao pool de SQL sem servidor e ao pool de SQL dedicado no SQL do Synapse e consultá-los.
1. Conectar
Para começar com o sqlcmd, abra o prompt de comando e digite sqlcmd seguido da cadeia de conexão do seu banco de dados do Synapse SQL. A cadeia de conexão precisará dos 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 ser habilitados para conectar-se a uma instância do Synapse SQL
Para usar a Autenticação do SQL Server, você precisa adicionar os parâmetros do nome de usuário e senha:
- Usuário (-U): usuário do servidor no formato
<
Usuário>
- Senha (-P): Senha associada ao usuário
Sua cadeia de conexão deverá ficar como o seguinte exemplo:
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 seguintes parâmetros do Microsoft Entra:
- Autenticação do Microsoft Entra (-G): use o Microsoft Entra ID para a autenticação
Sua cadeia de conexão deverá ficar como um dos 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 autenticar usando o Active Directory.
2. Consulta
Use o pool de SQL dedicado
Após a conexão, você pode executar instruções T-SQL (Transact-SQL) compatíveis 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 seguintes exemplos mostram como executar consultas no modo de lote usando a opção -Q ou canalizando o 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 o pool de SQL sem servidor
Após a conexão, você pode emitir instruções T-SQL (Transact-SQL) compatíveis com a instância. No seguinte exemplo, 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 seguintes exemplos mostram como executar consultas no modo de lote usando a opção -Q ou canalizando o 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, confira a documentação do sqlcmd.