Freigeben über


Herstellen einer Verbindung mit Synapse SQL mithilfe von sqlcmd

Sie können das Befehlszeilenprogramm sqlcmd verwenden, um eine Verbindung mit einem serverlosen SQL-Pool und einem dedizierten SQL-Pool in Synapse SQL herzustellen und Abfragen durchzuführen.

1. Verbinden

Öffnen Sie zur Verwendung von sqlcmd die Eingabeaufforderung, und geben Sie sqlcmd gefolgt von der Verbindungszeichenfolge für Ihre Synapse SQL-Datenbank ein. Die Verbindungszeichenfolge muss die folgenden Parameter enthalten:

  • Server (-S): Server im Format <Servername>-ondemand.sql.azuresynapse.net (Serverloser SQL-Pool) oder <Servername>.sql.azuresynapse.net (Dedizierter SQL-Pool)
  • Datenbank (-d): Datenbankname
  • Bezeichner in Anführungszeichen aktivieren (-I): Bezeichner in Anführungszeichen müssen aktiviert sein, um eine Verbindung mit einer Synapse SQL-Instanz herzustellen.

Zur Verwendung der SQL Server-Authentifizierung müssen Sie die Parameter für Benutzername und Kennwort hinzufügen:

  • Benutzer (-U): Serverbenutzer im Format <Benutzer>
  • Kennwort (-P): Das Kennwort des Benutzers

Die Verbindungszeichenfolge kann beispielsweise wie folgt aussehen:

Serverloser SQL-Pool

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

Dedizierter SQL-Pool

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

Um die integrierte Microsoft Entra-Authentifizierung zu verwenden, müssen Sie die Microsoft Entra-Parameter hinzufügen:

  • Microsoft Entra-Authentifizierung (-G): Verwenden von Microsoft Entra ID für die Authentifizierung

Die Verbindungszeichenfolge kann beispielsweise wie folgt aussehen:

Serverloser SQL-Pool

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

Dedizierter SQL-Pool

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

Hinweis

Sie müssen Microsoft Entra-Authentifizierung aktivieren, um die Authentifizierung mithilfe von Active Directory durchzuführen.

2. Abfrage

Verwenden eines dedizierten SQL-Pools

Nach dem Herstellen der Verbindung können Sie alle unterstützten Transact-SQL-Anweisungen (T-SQL) für die Instanz ausgeben. In diesem Beispiel werden Abfragen im interaktiven Modus gesendet:

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

Bei einem dedizierten SQL-Pool zeigen die folgenden Beispiele, wie Sie Abfragen im Batchmodus ausführen, indem Sie die Option „-Q“ verwenden oder Ihren SQL-Code an „sqlcmd“ übergeben:

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

Verwenden eines serverlosen SQL-Pools

Nach dem Herstellen der Verbindung können Sie alle unterstützten Transact-SQL-Anweisungen (T-SQL) für die Instanz ausgeben. Im folgenden Beispiel werden Abfragen im interaktiven Modus gesendet:

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

Bei einem serverlosen SQL-Pool zeigen die folgenden Beispiele, wie Sie Abfragen im Batchmodus ausführen, indem Sie die Option „-Q“ verwenden oder Ihren SQL-Code an „sqlcmd“ übergeben:

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ächste Schritte

Weitere Informationen zu sqlcmd-Optionen finden Sie in der Dokumentation zu sqlcmd.