Поделиться через


Подключение к Synapse SQL с помощью sqlcmd

С помощью служебной программы командной строки sqlcmd можно подключиться к бессерверному пулу SQL и выделенному пулу SQL в Synapse SQL.

1. Подключение

Чтобы приступить к работе с sqlcmd, откройте командную строку и введите sqlcmd , а затем строку подключения для базы данных Synapse SQL. Для строки подключения требуются следующие параметры:

  • Сервер (-S): Сервер в форме <ИмяСервера-ondemand.sql.azuresynapse.net>(бессерверный пул SQL) или <ИмяСервера.sql.azuresynapse.net>(выделенный пул SQL)
  • База данных (-d): Имя базы данных
  • Включить кавычки идентификаторов (-I): Нужно включить кавычки идентификаторов для подключения к экземпляру Synapse SQL

Чтобы использовать проверку подлинности SQL Server, необходимо добавить параметры имени пользователя и пароля:

  • Пользователь (-U): Пользователь сервера в форме <User>
  • Пароль (-P): Пароль, связанный с пользователем

Строка подключения может выглядеть следующим образом:

Бессерверный пул SQL

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

Выделенный пул SQL

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

Чтобы использовать встроенную проверку подлинности Microsoft Entra, необходимо добавить параметры Microsoft Entra:

  • Проверка подлинности Microsoft Entra (-G): использование идентификатора Microsoft Entra для проверки подлинности

Строка подключения может выглядеть как один из следующих примеров:

Бессерверный пул SQL

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

Выделенный пул SQL

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

Примечание.

Необходимо включить проверку подлинности Microsoft Entra для проверки подлинности с помощью Active Directory.

2. Запрос

Использование выделенного пула SQL

После подключения можно выдавать любые поддерживаемые инструкции Transact-SQL (T-SQL) для экземпляра. В этом примере запросы отправляются в интерактивном режиме:

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

Для выделенного пула SQL в следующих примерах показано, как выполнять запросы в пакетном режиме с помощью параметра -Q или передачи SQL в 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

Использование бессерверного пула SQL

После подключения вы можете выдавать любые поддерживаемые инструкции Transact-SQL (T-SQL) для экземпляра. В следующем примере запросы отправляются в интерактивном режиме:

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

В следующих примерах для бессерверных пулов SQL показано, как выполнять запросы в пакетном режиме с помощью параметра -Q или передавать SQL в 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

Дальнейшие действия

Дополнительные сведения о параметрах sqlcmd см. в документации по sqlcmd.