共用方式為


連線到 Synapse SQL

連線到 Azure Synapse Analytics 中的 Synapse SQL 功能。

重要

盡可能使用 Microsoft Entra 驗證。 如需詳細資訊,請參閱使用 Microsoft Entra 驗證向 Synapse SQL 進行驗證

尋找您的伺服器名稱

下列範例中專用 SQL 集區的伺服器名稱為:<server-name>.sql.azuresynapse.net。 下列範例中無伺服器 SQL 集區的伺服器名稱為:<server-name>-ondemand.sql.azuresynapse.net

若要尋找完整的伺服器名稱:

  1. 前往 Azure 入口網站
  2. 選取 [Synapse 工作區]
  3. 選取您想要連線的工作區。
  4. 移至概觀。
  5. 找出完整的伺服器名稱。
    • 針對專用 SQL 集區,請使用 SQL 端點
    • 針對無伺服器 SQL 集區,請使用 SQL 隨選端點

支援的工具

使用 Azure Data StudioSQL Server Management Studio (SSMS)

針對無伺服器 SQL 集區:

支援的驅動程式和連接字串

Synapse SQL 支援 ADO.NETODBCPHPJDBC。 若要尋找最新版本和文件,請選取前述的其中一個驅動程式。 若要從 Azure 入口網站自動為您使用的驅動程式產生連接字串,選取前述範例中的 [顯示資料庫連接字串]。 下列一些範例顯示每個驅動程式的連接字串。

注意

請考慮將連線逾時設定為 300 秒,以便在短時間無法使用時能夠維持連線。

ADO.NET 連接字串範例

這個簡單的範例會使用 SQL 驗證,但使用 ADO.NET 的 Microsoft Entra 驗證更安全且建議使用

Server=tcp:{your_server}.sql.azuresynapse.net,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.net,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.net,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.net,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.net,1433\";\r\n$conn = sqlsrv_connect($serverName, $connectionInfo);

JDBC 連接字串範例

這個簡單的範例會使用 SQL 驗證,但使用 JDBC 的 Microsoft Entra 驗證更安全且建議使用

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

連線設定

Synapse SQL 會在連線和物件建立期間將一些設定標準化。 這些設定不能覆寫,其中包括︰

資料庫設定
ANSI_NULLS 開啟
QUOTED_IDENTIFIERS ON
DATEFORMAT mdy
DATEFIRST 7

建議

若要執行無伺服器 SQL 集區查詢,建議的工具為 Azure Data Studio 和 Azure Synapse Studio。

若要使用 Visual Studio 連接及查詢,請參閱 使用 Visual Studio 查詢。 若要深入了解驗證選項,請參閱適用於 Synapse SQL 的驗證