Partager via


Se connecter à Synapse SQL avec sqlcmd

Vous pouvez utiliser l’utilitaire en ligne de commande sqlcmd pour établir une connexion avec le pool SQL serverless et le pool SQL dédié, et les interroger dans Synapse SQL.

1. Se connecter

Pour commencer à utiliser sqlcmd, ouvrez l’invite de commandes et entrez sqlcmd suivi de la chaîne de connexion de votre base de données Synapse SQL. La chaîne de connexion requiert les paramètres suivants :

  • Serveur (-S) : Serveur sous la forme <Nom du serveur>-ondemand.sql.azuresynapse.net(Pool SQL serverless) ou <Nom du serveur>.sql.azuresynapse.net(Pool SQL dédié)
  • Base de données (-d) : Nom de la base de données
  • Activer les identificateurs entre guillemets (-I) : Les identificateurs entre guillemets doivent être activés pour permettre la connexion à une instance Synapse SQL.

Pour utiliser l’authentification SQL Server, vous devez ajouter les paramètres du nom d’utilisateur et du mot de passe :

  • Utilisateur (-U) : Utilisateur du serveur sous la forme <Utilisateur>
  • Mot de passe (-P) : Mot de passe associé à l’utilisateur

Par exemple, votre chaîne de connexion peut ressembler à ceci :

Pool SQL serverless

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

Pool SQL dédié

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

Pour utiliser l’authentification intégrée Microsoft Entra, vous devez ajouter les paramètres Microsoft Entra :

  • Authentification Microsoft Entra (-G) : utilisez Microsoft Entra ID pour l’authentification

Par exemple, votre chaîne de connexion peut ressembler à ceci :

Pool SQL serverless

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

Pool SQL dédié

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

Remarque

Vous devez activer l’authentification Microsoft Entra pour vous authentifier à l’aide d’Active Directory.

2. Requête

Utiliser un pool SQL dédié

Une fois la connexion établie, vous pouvez envoyer toute instruction Transact-SQL (T-SQL) prise en charge à l’instance. Dans cet exemple, les requêtes sont envoyées de manière interactive :

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

Pour le pool SQL dédié, les exemples suivants montrent comment exécuter des requêtes en mode batch en utilisant l’option -Q ou en dirigeant votre SQL vers 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

Utiliser un pool SQL serverless

Une fois la connexion établie, vous pouvez envoyer des instructions Transact-SQL (T-SQL) prises en charge à l’instance. Dans l’exemple suivant, les requêtes sont envoyées en mode interactif :

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

Pour le pool SQL serverless, les exemples suivants montrent comment exécuter des requêtes en mode batch en utilisant l’option -Q ou en dirigeant votre SQL vers 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

Étapes suivantes

Pour plus d’informations sur les options sqlcmd, consultez la documentation relative à sqlcmd.