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 功能。
Importante
尽可能使用 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 终结点。
使用 Azure Data Studio 或 SQL Server Management Studio (SSMS)。
对于无服务器 SQL 池:
- 从版本 1.18.0 开始,完全支持 Azure Data Studio。
- 从版本 18.5 开始,SQL Server Management Studio 部分支持 SSMS,仅可以使用其进行连接和查询。
Synapse SQL 支持 ADO.NET、ODBC、PHP 和 JDBC。 选择前述的驱动程序之一,查找最新版本和文档。 若要自动生成通过 Azure 门户使用的驱动程序的连接字符串,请选择前述示例中的“显示数据库连接字符串”。 下面也是一些示例,说明了每个驱动程序的连接字符串的样式。
Nota
请考虑将连接超时值设置为 300 秒,以便连接可以经受住短时间内不可用。
此简单示例使用了 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;
此简单示例使用了 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;
此简单示例使用了 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);
此简单示例使用了 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 Data Studio 和 Azure Synapse Studio 这两个工具。
若要使用 Visual Studio 进行连接和查询,请参阅使用 Visual Studio 进行查询。 若要详细了解身份验证选项,请参阅向 Synapse SQL 进行身份验证。