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.