Połączenie do usługi Synapse SQL za pomocą polecenia sqlcmd
Możesz użyć narzędzia wiersza polecenia sqlcmd , aby nawiązać połączenie z bezserwerową pulą SQL i dedykowaną pulą SQL w usłudze Synapse SQL oraz wykonywać względem nich zapytania.
1. Połączenie
Aby rozpocząć pracę z narzędziem sqlcmd, otwórz wiersz polecenia i wprowadź ciąg sqlcmd, a następnie parametry połączenia dla bazy danych Synapse SQL Database. Wymagane parametry połączenia to:
- Serwer (-S): serwer w postaci
<
Nazwa>
serwera ondemand.sql.azuresynapse.net (bezserwerowa pula SQL) lub<
Nazwa>
serwera.sql.azuresynapse.net(Dedykowana pula SQL) - Baza danych (-d): nazwa bazy danych
- Włącz identyfikatory cytowane (-I): identyfikatory cytowane muszą być włączone w celu nawiązania połączenia z wystąpieniem usługi Synapse SQL
Aby użyć uwierzytelniania programu SQL Server, należy dodać parametry nazwy użytkownika i hasła:
- Użytkownik (-U): użytkownik serwera w formie
<
Użytkownik>
- Hasło (-P): hasło skojarzone z użytkownikiem
Twój parametry połączenia może wyglądać jak w poniższym przykładzie:
Bezserwerowa pula SQL
C:\>sqlcmd -S partyeunrt-ondemand.sql.azuresynapse.net -d demo -U Enter_Your_Username_Here -P Enter_Your_Password_Here -I
Dedykowana pula SQL
C:\>sqlcmd -S MySqlDw.sql.azuresynapse.net -d Adventure_Works -U myuser -P myP@ssword -I
Aby użyć zintegrowanego uwierzytelniania firmy Microsoft Entra, należy dodać parametry firmy Microsoft Entra:
- Uwierzytelnianie entra firmy Microsoft (-G): użyj identyfikatora Entra firmy Microsoft do uwierzytelniania
Twój parametry połączenia może wyglądać następująco:
Bezserwerowa pula SQL
C:\>sqlcmd -S partyeunrt-ondemand.sql.azuresynapse.net -d demo -G -I
Dedykowana pula SQL
C:\>sqlcmd -S MySqlDw.sql.azuresynapse.net -d Adventure_Works -G -I
Uwaga
Aby uwierzytelnić się przy użyciu usługi Active Directory, należy włączyć uwierzytelnianie w usłudze Microsoft Entra.
2. Kwerenda
Korzystanie z dedykowanej puli SQL
Po nawiązaniu połączenia można wydać wszystkie obsługiwane instrukcje języka Transact-SQL (T-SQL) względem wystąpienia. W tym przykładzie zapytania są przesyłane w trybie interaktywnym:
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
W przypadku dedykowanej puli SQL w poniższych przykładach pokazano, jak uruchamiać zapytania w trybie wsadowym przy użyciu opcji -Q lub potokowania kodu SQL do polecenia 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
Korzystanie z bezserwerowej puli SQL
Po nawiązaniu połączenia można wydać dowolne obsługiwane instrukcje języka Transact-SQL (T-SQL ) względem wystąpienia. W poniższym przykładzie zapytania są przesyłane w trybie interaktywnym:
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
W przypadku bezserwerowej puli SQL w poniższych przykładach pokazano, jak uruchamiać zapytania w trybie wsadowym przy użyciu opcji -Q lub potokowania kodu SQL do polecenia 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
Następne kroki
Aby uzyskać więcej informacji na temat opcji sqlcmd, zobacz dokumentację narzędzia sqlcmd.