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.