Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
连接到 Azure Synapse Analytics 中的 Synapse SQL 功能。
重要
尽可能使用 Microsoft Entra 身份验证。 有关详细信息,请参阅使用 Microsoft Entra 进行 Synapse SQL 身份验证。
查找服务器名称
以下示例中,专用 SQL 池的服务器名称是 <server-name>.sql.azuresynapse.azure.cn。
以下示例中,无服务器 SQL 池的服务器名称是 <server-name>-ondemand.sql.azuresynapse.azure.cn。
若要查找完全限定的服务器名称,请执行以下操作:
- 转到 Azure 门户。
- 选择“Synapse 工作区”。
- 选择要连接到的工作区。
- 转到“概览”。
- 找到完整的服务器名称。
- 对于专用 SQL 池,请使用 SQL 端点。
- 对于无服务器 SQL 池,请使用按需 SQL 终端。
支持的工具
使用 SQL Server Management Studio (SSMS) 或 Visual Studio Code 的 MSSQL 扩展。
对于无服务器 SQL 池,部分支持以下工具(仅连接和查询):
支持的驱动程序和连接字符串
Synapse SQL 支持 ADO.NET、ODBC、PHP 和 JDBC。 选择前述的驱动程序之一,查找最新版本和文档。 若要自动生成通过 Azure 门户使用的驱动程序的连接字符串,请选择前述示例中的“显示数据库连接字符串”。 下面也是一些示例,说明了每个驱动程序的连接字符串的样式。
注意事项
请考虑将连接超时值设置为 300 秒,以便连接可以经受住短时间内不可用。
ADO.NET 连接字符串示例
此简单示例使用了 SQL 身份验证,但建议通过 ADO.NET 进行更加安全的 Microsoft Entra 身份验证。
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 连接字符串示例
此简单示例使用了 SQL 身份验证,但建议通过 ODBC 进行更加安全的 Microsoft Entra 身份验证。
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 连接字符串示例
此简单示例使用了 SQL 身份验证,但建议通过 PHP 进行更加安全的 Microsoft Entra 身份验证。
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 连接字符串示例
此简单示例使用了 SQL 身份验证,但建议通过 JDBC 进行更加安全的 Microsoft Entra 身份验证。
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 Synapse Studio 工具。
相关内容
若要使用 Visual Studio 进行连接和查询,请参阅使用 Visual Studio 进行查询。 若要详细了解身份验证选项,请参阅向 Synapse SQL 进行身份验证。