Connect to a dedicated SQL pool in Azure Synapse Analytics with sqlcmd

Use the [sqlcmd][sqlcmd] command-line utility to connect to and query a dedicated SQL pool.

1. Connect

To get started with [sqlcmd][sqlcmd], open the command prompt and enter sqlcmd followed by the connection string for your dedicated SQL pool. The connection string requires the following parameters:

  • Server (-S): Server in the form <Server Name>.database.chinacloudapi.cn
  • Database (-d): dedicated SQL pool name.
  • Enable Quoted Identifiers (-I): Quoted identifiers must be enabled to connect to a dedicated SQL pool instance.

To use SQL Server Authentication, you need to add the username/password parameters:

  • User (-U): Server user in the form <User>
  • Password (-P): Password associated with the user.

For example, your connection string might look like the following:

C:\>sqlcmd -S MySqlDw.database.chinacloudapi.cn -d Adventure_Works -U myuser -P myP@ssword -I

To use Microsoft Entra integrated authentication, you need to add the Microsoft Entra parameters:

  • Microsoft Entra authentication (-G): use Microsoft Entra ID for authentication

For example, your connection string might look like the following:

C:\>sqlcmd -S MySqlDw.database.chinacloudapi.cn -d Adventure_Works -G -I

Note

You need to enable Microsoft Entra authentication to authenticate using Microsoft Entra ID.

2. Query

After connection, you can issue any supported Transact-SQL statements against the instance. In this example, queries are submitted in interactive mode.

C:\>sqlcmd -S MySqlDw.database.chinacloudapi.cn -d Adventure_Works -U myuser -P myP@ssword -I
1> SELECT name FROM sys.tables;
2> GO
3> QUIT

These next examples show how you can run your queries in batch mode using the -Q option or piping your SQL to sqlcmd.

sqlcmd -S MySqlDw.database.chinacloudapi.cn -d Adventure_Works -U myuser -P myP@ssword -I -Q "SELECT name FROM sys.tables;"
"SELECT name FROM sys.tables;" | sqlcmd -S MySqlDw.database.chinacloudapi.cn -d Adventure_Works -U myuser -P myP@ssword -I > .\tables.out

Next steps

For more about details about the options available in sqlcmd, see sqlcmd documentation.