連線到 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
。
若要尋找完整的伺服器名稱:
- 前往 Azure 入口網站。
- 選取 [Synapse 工作區]。
- 選取您想要連線的工作區。
- 移至概觀。
- 找出完整的伺服器名稱。
- 針對專用 SQL 集區,請使用 SQL 端點。
- 針對無伺服器 SQL 集區,請使用 SQL 隨選端點。
支援的工具
使用 Azure Data Studio 或 SQL Server Management Studio (SSMS)。
針對無伺服器 SQL 集區:
- Azure Data Studio 從 1.18.0 版開始便已獲得完整支援。
- SQL Server Management Studio 從 18.5 版開始只獲得部分支援,因此只能用來連線和查詢。
支援的驅動程式和連接字串
Synapse SQL 支援 ADO.NET、ODBC、PHP 和 JDBC。 若要尋找最新版本和文件,請選取前述的其中一個驅動程式。 若要從 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 的驗證。