Udostępnij za pośrednictwem


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.