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.windows.net. To find the fully qualified server name:

  1. Go to the Azure portal.

  2. Select Azure Synapse Analytics.

  3. Select the SQL pool you want to connect to.

  4. Locate the full server name.

    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.windows.net,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.windows.net,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.windows.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}.database.windows.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}.database.windows.net,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.windows.net:1433;database=yourdatabase;user={your_user_name};password={your_password_here};encrypt=true;trustServerCertificate=false;hostNameInCertificate=*.database.windows.net;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

To connect and query with Visual Studio, see Query with Visual Studio. To learn more about authentication options, see Authentication to Azure Synapse Analytics.