Anslut till Synapse SQL med sqlcmd
Du kan använda kommandoradsverktyget sqlcmd för att ansluta till och fråga serverlös SQL-pool och dedikerad SQL-pool i Synapse SQL.
1. Anslut
Kom igång med sqlcmd genom att öppna kommandotolken och ange sqlcmd följt av anslutningssträng för Din Synapse SQL-databas. Anslutningssträngen kräver följande parametrar:
- Server (-S): Server i formatet
<
ServerNamn-ondemand.sql.azuresynapse.net>
(Serverlös SQL-pool) eller<
Servernamn.sql.azuresynapse.net>
(Dedikerad SQL-pool) - Databas (-d): Databasnamn
- Aktivera citerade identifierare (-I): Citerade identifierare måste vara aktiverade för att ansluta till en Synapse SQL-instans
Om du vill använda SQL Server-autentisering måste du lägga till parametrarna användarnamn och lösenord:
- Användare (-U): Serveranvändare i formatet
<
Användare>
- Lösenord (-P): Lösenord som är associerat med användaren
Din anslutningssträng kan se ut som i följande exempel:
Serverlös SQL-pool
C:\>sqlcmd -S partyeunrt-ondemand.sql.azuresynapse.net -d demo -U Enter_Your_Username_Here -P Enter_Your_Password_Here -I
Dedikerad SQL-pool
C:\>sqlcmd -S MySqlDw.sql.azuresynapse.net -d Adventure_Works -U myuser -P myP@ssword -I
Om du vill använda Microsoft Entra-integrerad autentisering måste du lägga till Microsoft Entra-parametrarna:
- Microsoft Entra-autentisering (-G): Använd Microsoft Entra-ID för autentisering
Din anslutningssträng kan se ut som i följande exempel:
Serverlös SQL-pool
C:\>sqlcmd -S partyeunrt-ondemand.sql.azuresynapse.net -d demo -G -I
Dedikerad SQL-pool
C:\>sqlcmd -S MySqlDw.sql.azuresynapse.net -d Adventure_Works -G -I
Kommentar
Du måste aktivera Microsoft Entra-autentisering för att autentisera med Hjälp av Active Directory.
2. Fråga
Använda dedikerad SQL-pool
Efter anslutningen kan du utfärda alla Transact-SQL-instruktioner (T-SQL) som stöds mot instansen. I det här exemplet skickas frågor i interaktivt läge:
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
För dedikerad SQL-pool visar följande exempel hur du kör frågor i batchläge med hjälp av alternativet -Q eller att skicka din SQL till 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
Använda en serverlös SQL-pool
När du har anslutit kan du utfärda alla Transact-SQL-instruktioner (T-SQL) som stöds mot instansen. I följande exempel skickas frågor i interaktivt läge:
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
För serverlös SQL-pool visar exemplen som följer hur du kör frågor i batchläge med hjälp av alternativet -Q eller att skicka din SQL till 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
Nästa steg
Mer information om sqlcmd-alternativ finns i sqlcmd-dokumentationen.