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řipojení

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

  • Server (-S): Server ve formátu <Název> serveru ondemand.sql.azuresynapse.net (bezserverový fond SQL) nebo <Server Name.sql.azuresynapse.net>(Vyhrazený fond SQL)
  • Databáze (-d): Název databáze
  • Povolit uvozované identifikátory (-I): Uvozové identifikátory musí být povolené pro připojení k instanci Synapse SQL.

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

  • User (-U): Uživatel serveru v následující podobě: <Uživatel>
  • Heslo (-P): Heslo přidružené k uživateli

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

Bezserverový fond SQL

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

Vyhrazený fond SQL

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.

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

Bezserverový fond SQL

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

Vyhrazený fond SQL

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žití vyhrazeného fondu 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

V případě vyhrazeného fondu SQL vám následující příklady ukážou, jak spouštět dotazy v dávkovém režimu pomocí možnosti -Q nebo propojení 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žití bezserverového fondu 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

V případě bezserverového fondu SQL vám následující příklady ukážou, jak spouštět dotazy v dávkovém režimu pomocí možnosti -Q nebo piping 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.