Подключение к Synapse SQL с помощью sqlcmd
В Synapse SQL для подключения и отправки запроса к бессерверному и выделенному пулам SQL можно использовать служебную программу командной строки sqlcmd.
1. Подключение
Чтобы начать использовать sqlcmd, откройте командную строку и введите sqlcmd и строку подключения к базе данных Synapse SQL. В строке подключения обязательно укажите следующие параметры.
- Сервер (S): Сервер в сервере формы
<
Name-ondemand.sql.azuresynapse.net>
(Бессерверный пул SQL) или<
Сервер Name.sql.azuresynapse.net>
(Выделенный пул SQL) - База данных (-d): имя базы данных
- Включить кавычки (-I): для подключения к экземпляру Synapse SQL необходимо включить идентификаторы кавычки.
Чтобы использовать проверку подлинности SQL Server, необходимо добавить параметры имени пользователя и пароля.
- User (-U) — пользователь сервера в формате
<
Пользователь>
. - Пароль (-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.