Connect to a SQL pool in Azure Synapse
Get connected to a SQL pool in Azure Synapse.
Important
Use Microsoft Entra authentication when possible. For more information, see Use Microsoft Entra authentication for authentication with Synapse SQL.
Find your server name
The server name in the following example is sqlpoolservername.database.chinacloudapi.cn
. To find the fully qualified server name:
Go to the Azure portal.
Select Azure Synapse Analytics.
Select the SQL pool you want to connect to.
Locate the full server name.
Supported drivers and connection strings
SQL pool works with various drivers. Select any of the following drivers for the latest documentation and version information: ADO.NET, ODBC, PHP, and JDBC.
You can automatically generate a connection string for your driver. Select a driver from the previous list and then select Show database connection strings.
Note
Consider setting the connection timeout to 300 seconds to allow your connection to survive short periods of unavailability.
Here are examples of connection strings for popular drivers:
ADO.NET connection string example
This simple example uses SQL authentication, but Microsoft Entra authentication with ADO.NET is more secure and recommended.
Server=tcp:{your_server}.database.chinacloudapi.cn,1433;Database={your_database};User ID={your_user_name};Password={your_password_here};Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;
ODBC connection string example
This simple example uses SQL authentication, but Microsoft Entra authentication with ODBC is more secure and recommended.
Driver={SQL Server Native Client 11.0};Server=tcp:{your_server}.database.chinacloudapi.cn,1433;Database={your_database};Uid={your_user_name};Pwd={your_password_here};Encrypt=yes;TrustServerCertificate=no;Connection Timeout=30;
PHP connection string example
This simple example uses SQL authentication, but Microsoft Entra authentication with PHP is more secure and recommended.
Server: {your_server}.database.chinacloudapi.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}.database.chinacloudapi.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}.database.chinacloudapi.cn,1433\";\r\n$conn = sqlsrv_connect($serverName, $connectionInfo);
JDBC connection string example
This simple example uses SQL authentication, but Microsoft Entra authentication with JDBC is more secure and recommended.
jdbc:sqlserver://yourserver.database.chinacloudapi.cn:1433;database=yourdatabase;user={your_user_name};password={your_password_here};encrypt=true;trustServerCertificate=false;hostNameInCertificate=*.database.chinacloudapi.cn;loginTimeout=30;
Connection settings
SQL pool standardizes certain settings during connection and object creation. These settings cannot be overridden. They include:
SQL pool setting | Value |
---|---|
ANSI_NULLS | ON |
QUOTED_IDENTIFIERS | ON |
DATEFORMAT | mdy |
DATEFIRST | 7 |
Related content
To connect and query with Visual Studio, see Query with Visual Studio. To learn more about authentication options, see Authentication to Azure Synapse Analytics.