Condividi tramite


Connettersi a Synapse SQL con sqlcmd

È possibile usare l'utilità della riga di comando sqlcmd per connettersi al pool SQL serverless ed eseguire query sul pool SQL serverless e sul pool SQL dedicato 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 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 database
  • Abilitare identificatori delimitati (-I): Gli identificatori delimitati devono essere abilitati per connettersi a un'istanza di Synapse SQL

Per usare l'autenticazione di SQL Server, è necessario aggiungere i parametri nome utente e password:

  • Utente (-U): Utente server nella forma <Utente>
  • Password (-P): Password associata all'utente

La stringa di connessione potrebbe essere 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 Microsoft Entra ID per l'autenticazione

La stringa di connessione potrebbe essere simile agli 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

Annotazioni

È necessario abilitare l'autenticazione di Microsoft Entra per l'autenticazione tramite Active Directory.

2. Query

Usare un pool SQL dedicato

Dopo la connessione, è possibile eseguire qualsiasi istruzione Transact-SQL (T-SQL) supportata sull'istanza di . 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 il piping di SQL 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 la connessione, è possibile eseguire qualsiasi istruzione Transact-SQL (T-SQL) supportata sull'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 seguenti illustrano come eseguire query in modalità batch usando l'opzione -Q o il piping di SQL 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 documentazione di sqlcmd.