使用 sqlcmd 连接到 Azure Synapse Analytics 中的专用 SQL 池

使用 [sqlcmd][sqlcmd] 命令行实用工具连接到专用 SQL 池并查询专用 SQL 池。

1.连接

若要开始使用 [sqlcmd][sqlcmd],请打开命令提示符,然后输入 sqlcmd, 然后输入专用 SQL 池的连接字符串。 连接字符串需要以下参数:

  • 服务器(-S):形如<服务器名称>.database.chinacloudapi.cn 的服务器
  • 数据库(-d): 专用 SQL 池名称。
  • 启用带引号的标识符(-I): 必须启用带引号的标识符才能连接到专用 SQL 池实例。

若要使用 SQL Server 身份验证,需要添加用户名/密码参数:

  • 用户 (-U):采用 <用户> 格式的服务器用户
  • 密码(-P): 与用户关联的密码。

例如,连接字符串可能如下所示:

C:\>sqlcmd -S MySqlDw.database.chinacloudapi.cn -d Adventure_Works -U myuser -P myP@ssword -I

若要使用 Microsoft Entra 集成身份验证,需要添加 Microsoft Entra 参数:

  • Microsoft Entra 身份验证 (-G):使用 Microsoft Entra ID 进行身份验证

例如,连接字符串可能如下所示:

C:\>sqlcmd -S MySqlDw.database.chinacloudapi.cn -d Adventure_Works -G -I

备注

需要 启用 Microsoft Entra 身份验证 才能使用 Microsoft Entra ID 进行身份验证。

2.查询

连接后,可以针对实例发出任何受支持的 Transact-SQL 语句。 在此示例中,查询以交互模式提交。

C:\>sqlcmd -S MySqlDw.database.chinacloudapi.cn -d Adventure_Works -U myuser -P myP@ssword -I
1> SELECT name FROM sys.tables;
2> GO
3> QUIT

接下来的示例演示如何使用 -Q 选项或将 SQL 管道传递给 sqlcmd,在批处理模式下运行查询。

sqlcmd -S MySqlDw.database.chinacloudapi.cn -d Adventure_Works -U myuser -P myP@ssword -I -Q "SELECT name FROM sys.tables;"
"SELECT name FROM sys.tables;" | sqlcmd -S MySqlDw.database.chinacloudapi.cn -d Adventure_Works -U myuser -P myP@ssword -I > .\tables.out

后续步骤

有关 sqlcmd 中可用选项的详细信息,请参阅 sqlcmd 文档