Connettersi a SQL Data Warehouse con sqlcmd

Usare l'utilità della riga di comando sqlcmd per connettersi ed eseguire query in un'istanza di Azure SQL Data Warehouse.

1. Connettere

Per iniziare a usare sqlcmd, aprire il prompt dei comandi e immettere sqlcmd seguito dalla stringa di connessione per il database di SQL Data Warehouse. La stringa di connessione richiede i parametri seguenti:

  • Server (-S): server nel formato <Server Name>.database.windows.net
  • Database (-d): nome del database.
  • Abilita identificatori delimitati (-I): gli identificatori delimitati devono essere abilitati per consentire la connessione a un'istanza di SQL Data Warehouse.

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.

Ad esempio, la stringa di connessione sarà simile alla seguente:

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

Per usare l'autenticazione integrata di Azure Active Directory è necessario aggiungere i parametri di Azure Active Directory:

  • Autenticazione di Azure Active Directory (-G): consente di usare Azure Active Directory per l'autenticazione.

Ad esempio, la stringa di connessione sarà simile alla seguente:

C:\>sqlcmd -S MySqlDw.database.windows.net -d Adventure_Works -G -I
Nota

Per eseguire l'autenticazione tramite Active Directory, è necessario abilitare l'autenticazione di Azure Active Directory .

2. Query

Dopo la connessione sarà possibile eseguire qualsiasi istruzione Transact-SQL supportata nell'istanza. In questo esempio le query vengono inviate in modalità interattiva.

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

Questi esempi successivi illustrano come è possibile eseguire le query in modalità batch usando l'opzione -Q o inviando pipe di SQL a sqlcmd.

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

Passaggi successivi

Per altre informazioni sulle opzioni disponibili in sqlcmd, vedere la documentazione di sqlcmd.