Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
连接到 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 portal。
- 选择“Synapse 工作区”。
- 选择要连接到的工作区。
- 转到“概览”。
- 找到完整的服务器名称。
- 对于专用 SQL 池,请使用 SQL 端点。
- 对于无服务器 SQL 池,请使用按需 SQL 终端。
支持的工具
将 SQL Server Management Studio (SSMS) 或 MSSQL 扩展用于 Visual Studio Code。
对于无服务器 SQL 池,部分支持以下工具(仅连接和查询):
支持的驱动程序和连接字符串
Synapse SQL 支持 ADO.NET、ODBC、PHP 和 JDBC。 选择前述的驱动程序之一,查找最新版本和文档。 要在 Azure 门户中自动生成您正在使用的驱动程序的连接字符串,请从前面的示例中选择显示数据库连接字符串。 下面是每个驱动程序连接字符串的一些示例。
注意事项
请考虑将连接超时值设置为 300 秒,以便连接可以经受住短时间内不可用。
ADO.NET connection string 示例
此简单示例使用 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 connection string 示例
此简单示例使用 SQL 身份验证,但 Microsoft ODBC 的 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 connection string示例
此简单示例使用 SQL 身份验证,但 Microsoft使用 PHP 的 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 connection string 示例
此简单示例使用 SQL 身份验证,但 Microsoft JDBC 的 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 进行连接和查询,请参阅 Query 和 Visual Studio。 若要详细了解身份验证选项,请参阅向 Synapse SQL 进行身份验证。