Sdílet prostřednictvím


Připojení k Synapse SQL pomocí sqlcmd

Nástroj příkazového řádku sqlcmd můžete použít k připojení a dotazování bezserverového fondu SQL a vyhrazeného fondu SQL v rámci Synapse SQL.

1. Připojit

Pokud chcete začít s sqlcmd, otevřete příkazový řádek a zadejte sqlcmd následovaný připojovacím řetězcem pro vaši databázi Synapse SQL. Připojovací řetězec vyžaduje následující parametry:

  • Server (-S): Server ve formátu <Název serveru>-ondemand.sql.azuresynapse.net (bezserverový fond SQL) nebo <Název serveru>.sql.azuresynapse.net (vyhrazený fond SQL)
  • Databáze (-d): Název databáze
  • Povolit uvozované identifikátory (-I): Aby bylo možné se připojit k instanci Synapse SQL, musí být povolené identifikátory uvozových hodnot.

Pokud chcete použít ověřování SQL Serveru, musíte přidat parametry uživatelského jména a hesla:

  • Uživatel (-U): Uživatel serveru ve formuláři <Uživatel>
  • Heslo (-P): Heslo přidružené k uživateli

Připojovací řetězec může vypadat jako v následujícím příkladu:

Serverless SQL pool

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

dedikovaný SQL fond

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

Pokud chcete použít integrované ověřování Microsoft Entra, musíte přidat parametry Microsoft Entra:

  • Ověřování Microsoft Entra (-G): Pro ověřování použijte ID Microsoft Entra.

Připojovací řetězec může vypadat jako v následujících příkladech:

Serverless SQL pool

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

dedikovaný SQL fond

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

Poznámka:

K ověření pomocí služby Active Directory musíte povolit ověřování Microsoft Entra .

2. Dotaz

Použijte vyhrazený fond SQL

Po připojení můžete vydat všechny podporované příkazy Jazyka Transact-SQL (T-SQL) pro instanci. V tomto příkladu se dotazy odesílají v interaktivním režimu:

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

Následující příklady pro dedikovaný SQL pool ukazují, jak spouštět dotazy v dávkovém režimu pomocí volby -Q nebo posílání vašeho SQL do 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

Použijte bezserverový fond SQL

Po připojení můžete vydat všechny podporované příkazy jazyka Transact-SQL (T-SQL) pro instanci. V následujícím příkladu se dotazy odesílají v interaktivním režimu:

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

U bezserverového SQL fondu ukazují následující příklady, jak spouštět dotazy v dávkovém režimu pomocí možnosti -Q nebo přesměrování SQL do 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

Další kroky

Další informace o možnostech sqlcmd naleznete v dokumentaci sqlcmd.