连接到 Synapse SQL

连接到 Azure Synapse Analytics 中的 Synapse SQL 功能。

无服务器 SQL 池支持的工具

从版本 1.18.0 开始,完全支持 Azure Data Studio。 从版本 18.5 开始,部分支持 SSMS,仅可以使用其进行连接和查询。

查找服务器名称

以下示例中专用 SQL 池的服务器名称为:showdemoweu.sql.azuresynapse.azure.cn。 以下示例中无服务器 SQL 池的服务器名称为:showdemoweu-ondemand.sql.azuresynapse.azure.cn。

若要查找完全限定的服务器名称,请执行以下操作:

  1. 转到 Azure 门户
  2. 选择“Synapse 工作区”。
  3. 选择要连接到的工作区。
  4. 转到“概览”。
  5. 找到完整的服务器名称。

SQL 池

Full server name

无服务器 SQL 池

Full server name serverless SQL pool

支持的驱动程序和连接字符串

Synapse SQL 支持 ADO.NETODBCPHPJDBC。 选择前述的驱动程序之一,查找最新版本和文档。 若要自动生成通过 Azure 门户使用的驱动程序的连接字符串,请选择前述示例中的“显示数据库连接字符串”。 下面也是一些示例,说明了每个驱动程序的连接字符串的样式。

注意

请考虑将连接超时值设置为 300 秒,以便连接可以经受住短时间内不可用。

ADO.NET 连接字符串示例

Server=tcp:{your_server}.sql.azuresynapse.azure.cn,1433;Database={your_database};User ID={your_user_name};Password={your_password_here};Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;

ODBC 连接字符串示例

Driver={SQL Server Native Client 11.0};Server=tcp:{your_server}.sql.azuresynapse.azure.cn,1433;Database={your_database};Uid={your_user_name};Pwd={your_password_here};Encrypt=yes;TrustServerCertificate=no;Connection Timeout=30;

PHP 连接字符串示例

Server: {your_server}.sql.azuresynapse.azure.cn,1433 \r\nSQL Database: {your_database}\r\nUser Name: {your_user_name}\r\n\r\nPHP Data Objects(PDO) Sample Code:\r\n\r\ntry {\r\n   $conn = new PDO ( \"sqlsrv:server = tcp:{your_server}.sql.azuresynapse.azure.cn,1433; Database = {your_database}\", \"{your_user_name}\", \"{your_password_here}\");\r\n    $conn->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );\r\n}\r\ncatch ( PDOException $e ) {\r\n   print( \"Error connecting to SQL Server.\" );\r\n   die(print_r($e));\r\n}\r\n\rSQL Server Extension Sample Code:\r\n\r\n$connectionInfo = array(\"UID\" => \"{your_user_name}\", \"pwd\" => \"{your_password_here}\", \"Database\" => \"{your_database}\", \"LoginTimeout\" => 30, \"Encrypt\" => 1, \"TrustServerCertificate\" => 0);\r\n$serverName = \"tcp:{your_server}.sql.azuresynapse.azure.cn,1433\";\r\n$conn = sqlsrv_connect($serverName, $connectionInfo);

JDBC 连接字符串示例

jdbc:sqlserver://yourserver.sql.azuresynapse.azure.cn:1433;database=yourdatabase;user={your_user_name};password={your_password_here};encrypt=true;trustServerCertificate=false;hostNameInCertificate=*.sql.azuresynapse.azure.cn;loginTimeout=30;

连接设置

Synapse SQL 在连接和创建对象期间会标准化一些设置。 这些设置不能重写,其中包括:

数据库设置
ANSI_NULLS ON
QUOTED_IDENTIFIERS ON
DATEFORMAT mdy
DATEFIRST 7

建议

若要执行无服务器 SQL 池查询,建议使用 Azure Data Studio 和 Azure Synapse Studio 这两个工具。

后续步骤

若要使用 Visual Studio 进行连接和查询,请参阅使用 Visual Studio 进行查询。 若要详细了解身份验证选项,请参阅向 Synapse SQL 进行身份验证