Connettersi a Synapse SQL con sqlcmd
È possibile usare l'utilità da riga di comando sqlcmd per connettersi al pool SQL serverless e al pool SQL dedicato ed eseguire query all'interno di Synapse SQL.
1. Connettersi
Per iniziare a usare sqlcmd, aprire il prompt dei comandi e immettere sqlcmd seguito dalla stringa di connessione per il database di Synapse SQL. La stringa di connessione richiede i parametri seguenti:
- Server (-S): server nel formato
<
Nome server>
-ondemand.sql.azuresynapse.net (pool SQL serverless) o<
Nome server>
.sql.azuresynapse.net (pool SQL dedicato) - Database (-d): nome del database
- Abilita identificatori delimitati (-I): gli identificatori delimitati devono essere abilitati per consentire la connessione a un'istanza di Synapse SQL
Per usare l'autenticazione di SQL Server, è necessario aggiungere i parametri nome utente e password:
- Utente (-U): utente del server nel formato
<
User>
- Password (-P): password associata all'utente
La stringa di connessione sarà simile all'esempio seguente:
Pool SQL serverless
C:\>sqlcmd -S partyeunrt-ondemand.sql.azuresynapse.net -d demo -U Enter_Your_Username_Here -P Enter_Your_Password_Here -I
Pool SQL dedicato
C:\>sqlcmd -S MySqlDw.sql.azuresynapse.net -d Adventure_Works -U myuser -P myP@ssword -I
Per usare l'autenticazione integrata di Microsoft Entra, è necessario aggiungere i parametri di Microsoft Entra:
- Autenticazione di Microsoft Entra (-G): usare l'ID Microsoft Entra per l'autenticazione
La stringa di connessione sarà simile a uno degli esempi seguenti:
Pool SQL serverless
C:\>sqlcmd -S partyeunrt-ondemand.sql.azuresynapse.net -d demo -G -I
Pool SQL dedicato
C:\>sqlcmd -S MySqlDw.sql.azuresynapse.net -d Adventure_Works -G -I
Nota
È necessario abilitare l'autenticazione di Microsoft Entra per eseguire l'autenticazione tramite Active Directory.
2. Query
Usare il pool SQL dedicato
Dopo la connessione sarà possibile eseguire sull'istanza qualsiasi istruzione Transact-SQL (T-SQL) supportata. In questo esempio le query vengono inviate in modalità interattiva:
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
Per il pool SQL dedicato, gli esempi seguenti illustrano come eseguire query in modalità batch usando l'opzione -Q o inviando SQL tramite pipe a 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
Usare i pool SQL serverless
Dopo aver stabilito la connessione, è possibile eseguire qualsiasi istruzione Transact-SQL (T-SQL) supportata nell'istanza. Nell'esempio seguente le query vengono inviate in modalità interattiva:
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
Per il pool SQL serverless, gli esempi che seguono illustrano come eseguire query in modalità batch usando l'opzione-Q o inviando SQL tramite pipe a 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
Passaggi successivi
Per altre informazioni sulle opzioni di sqlcmd, vedere la relativa documentazione.