Share via


Verbinding maken met Synapse SQL via sqlcmd

U kunt het opdrachtregelprogramma sqlcmd binnen Synapse SQL gebruiken om verbinding te maken met serverloze SQL-pools en toegewezen SQL-pools, en er query's op uit te voeren.

1. Verbinding maken

U gaat als volgt aan de slag met sqlcmd: open de opdrachtprompt en voer sqlcmd in, gevolgd door de verbindingstekenreeks voor uw Synapse SQL-database. De verbindingstekenreeks moet de volgende parameters bevatten:

  • Server (-S): Server in het formulier <Servernaam-ondemand.sql.azuresynapse.net>(Serverloze SQL-pool) of <Servernaam.sql.azuresynapse.net>(Toegewezen SQL-pool)
  • Database (-d): databasenaam
  • Aanhalingeerde id's (-I) inschakelen: id's tussen aanhalingstokens moeten zijn ingeschakeld om verbinding te maken met een Synapse SQL-exemplaar

Als u gebruik wilt maken van SQL Server-verificatie, moet u de gebruikersnaam- en wachtwoordparameters toevoegen:

  • Gebruiker (-U): servergebruiker in de notatie <gebruiker>
  • Wachtwoord (-P): Wachtwoord dat is gekoppeld aan de gebruiker

Uw verbindingstekenreeks kan er als volgt uitzien:

Serverloze SQL-pool

C:\>sqlcmd -S partyeunrt-ondemand.sql.azuresynapse.net -d demo -U Enter_Your_Username_Here -P Enter_Your_Password_Here -I

Toegewezen SQL-pool

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

Als u geïntegreerde Microsoft Entra-verificatie wilt gebruiken, moet u de Microsoft Entra-parameters toevoegen:

  • Microsoft Entra-verificatie (-G): Microsoft Entra-id gebruiken voor verificatie

Uw verbindingstekenreeks kan er als volgt uitzien:

Serverloze SQL-pool

C:\>sqlcmd -S partyeunrt-ondemand.sql.azuresynapse.net -d demo -G -I

Toegewezen SQL-pool

C:\>sqlcmd -S MySqlDw.sql.azuresynapse.net -d Adventure_Works -G -I

Notitie

U moet Microsoft Entra-verificatie inschakelen voor verificatie met behulp van Active Directory.

2. Query

Een toegewezen SQL-pool gebruiken

Wanneer verbinding is gemaakt, kunt u elke ondersteunde Transact-SQL-instructie (T-SQL) voor het exemplaar uitvoeren. In dit voorbeeld worden query's in de interactieve modus verzonden.

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

Voor een toegewezen SQL-pool ziet u in de volgende voorbeelden hoe u query's in de batchmodus uitvoert met behulp van de optie -Q of door uw SQL naar sqlcmd te sluizen:

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

Serverloze SQL-pools gebruiken

Wanneer verbinding is gemaakt, kunt u elke ondersteunde Transact-SQL-instructie (T-SQL) voor het exemplaar uitvoeren. In het volgende voorbeeld worden query's in de interactieve modus verzonden.

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

Voor een serverloze SQL-pool ziet u in de volgende voorbeelden hoe u query's in de batchmodus uitvoert met behulp van de optie -Q of door uw SQL naar sqlcmd te sluizen:

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

Volgende stappen

Zie de sqlcmd-documentatie voor meer informatie over sqlcmd-opties.