Dela via


Ansluta 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ängen 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 formuläret <Användare>
  • Lösenord (-P): Lösenord som är associerat med användaren

Anslutningssträngen 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

Anslutningssträngen 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

Anmärkning

Du måste aktivera Microsoft Entra-autentisering för att autentisera med Hjälp av Active Directory.

2. Query

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 databaspool visar exemplen nedan hur du kör frågor i batchläge med hjälp av alternativet -Q eller 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.